EMU618社区

 找回密码
 立即注册
搜索
查看: 3087|回复: 16

[原创HACK教程] CheatMaker 实例入门教程 DOSBOX0.74的 三国志英杰传 修改器 + 源文件

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑 * e1 y& P# }4 O6 j5 K! F
' O; x8 W% d" c
首先,DOSBOX的数据不是静态地址
2 l4 ^! o+ q* {: L$ e0 m0 x
# ^4 n. S! l( W) G. S' [我们从最简单的人物兵力开始入手% k# b( t6 {1 }1 Y; U. ^* |

% E4 u* |- b0 D2 b8 O我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)/ D0 X( q# d4 ?
5 ^' M( @% ]- f  \" @/ C0 F, w- I
当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
% {$ n# t; X. H/ J/ ^启用CE调试刘备的兵力地址1 l! w3 ~' }/ Q: G7 L  n
) r7 d/ V( A% q1 D6 W* h
找到基地址后验证一下8 R: h3 b* {; _9 p- h* q; T# {

7 f; }" V% t5 h, D2 D; d现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持$ A4 A4 F: P. K( m5 p: N' x
2 K4 g2 E! `+ T2 J
把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”
  j  @; q7 M' v. z. c2 z9 d1 r. h6 T7 E: S4 i% J
添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了
0 P; {2 i! T2 ~, r! L/ h! D' F; T  ^$ T6 D- u) |, M- p3 [
然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑; N4 B% l5 r4 b0 m# b* K  p2 u. ~
! q8 ?4 A  A! v: A4 |
再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明1 B, e6 ^6 G% ?  T% F2 U; G5 L
这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是09 b8 V3 Y3 R8 R6 c
其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了+ C- a- {: C+ W' h
只需要写上6 B/ s5 }+ Y" F, [
1-刘备
9 ~# D+ g6 \) [  T1 b6 D0 W. k. b2-关羽
5 H  \1 l& S7 f7 k+ n- S3-张飞
7 `3 c. K# {; y7 Q: @这样的东西+ i, D9 q" `" Y3 a3 v6 t
但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来9 L1 @! s" |, o! q( e6 g, K. u
! p+ ]$ h( _) }5 z7 d
添加完保存下,然后运行一下修改器
+ U. R* {$ T; q' g6 r
/ b- w0 J: Z8 R* r1 @6 U. D可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮
+ d6 p4 J) y' O按钮有几个功能,读取数据、保存数据是两个最基本的功能
; [8 K0 w( ]! e5 T7 o2 s$ u创建窗体也是个实用功能,本次不讲这个! z5 v; L2 G# v3 M
# @( k% A# }5 A
我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下
% {. N. y- U# e3 h  ^
' r$ W; V4 F6 V, a( l最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
/ ~  E- Q4 ?) \) k4 M! i, k这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里
- f9 J+ S, M, A6 C因为这里没用到特殊插件,故可直接生成即可# A/ v% j+ r/ ^" |" v) Z9 ]

2 `5 w+ [- J3 _! {: U: c% _/ L( N2 t
最后是该修改器的源文件随意参考下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

1

查看全部评分

该用户从未签到

发表于 2011-6-6 22:13:39 | 显示全部楼层
好好学习·有时间也自己做修改器

签到天数: 1548 天

[LV.Master]伴坛终老

发表于 2011-6-6 22:45:52 | 显示全部楼层
很好的教程 辛苦了

该用户从未签到

发表于 2011-6-6 23:22:08 | 显示全部楼层
本來想做超時空英雄傳説的修改器, 不過發現個問題, 用CE查, 在沒有關閉dosbox的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 07:06:38 | 显示全部楼层
本來想做超時空英雄傳説的修改器, 不過發現個問題, 用CE查, 在沒有關閉dosbox的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了2 g7 Z/ J8 \) \: R, }( T
money_114 发表于 2011-6-6 23:22

* D: D3 P9 H7 {! [1 a- \
- y* n5 x3 s* _0 s9 R: m天枫对DOSBOX的基地址添加有问题- |. ^. r% g9 W* I
他想兼容各个版本
# B% U7 j) N/ }! ~# k6 ?于是采用了特征码的方式进行定位
/ x" d2 g, @; b  B5 [这种不准确,于是出现了做轩辕剑修改器的那种情况& \" a4 V! H1 [: g7 N! N; F
4 z$ h6 m3 h- j+ a5 Z# Y: W4 E9 w
但是DOSBOX属于每个版本基地址不同、偏移也不同的东西9 ~3 B$ v/ P' Q& a; n
7 x8 E% p4 g) \( Q3 O
不过你遇到的这种数据变址的情况还是比较特别的
6 V; R' ]( z2 D! |游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步 / R2 d/ P4 U% j4 N5 b( ]

/ r0 y0 y5 }+ o$ J) b4 khttp://u.115.com/file/dnszl2u97 C( _) p% }' @1 S3 Y. \
軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

发表于 2011-6-7 18:39:23 | 显示全部楼层
银河,能不能说下基础地址怎么查找,我不懂。

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步 5 Y) E) |0 Y; }: H$ ], m

5 _& `7 b! g; x3 ~: Mhttp://u.115.com/file/dnszl2u9
& a. b# d- |: w6 ~軒轅劍還在可接受範圍内, 超時空實在是太怪了! e+ F+ F. `; U) T
money_114 发表于 2011-6-7 12:04

! f% }& v# a9 L9 K  M/ B. U8 L8 x' E& ?% o! e( R+ N3 b
我读了里面各种存档
' Y& L8 {* _" i就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪
% l7 k) `$ `$ U9 G) U/ e从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑
7 g  @5 D( b8 n0 |% ?
我读了里面各种存档( G8 {1 L+ a- D8 G$ }
就没那个存档可以让我改金钱的....2 x- Q6 M1 `0 y& A( e3 ^
银河漫步 发表于 2011-6-7 19:31
$ Z( n( }9 ?3 U# A) h
你願意研究的話可以試下這個存檔,我已經放棄做修改器了7 ~* m5 x# u: v* L+ K# w2 @: i, {! b
- s4 C7 P5 o" b$ t
發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了: y& p) t9 k  o+ l# U
确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

发表于 2011-6-9 13:41:31 | 显示全部楼层
银河,你要么去我爱秘籍论坛看看。那里有高手,或者问团长。

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步 0 X2 |. E+ D* j, T' p6 U' l
+ j* J$ ~& [+ Z" h7 v8 t
http://u.115.com/file/dnszl2u9/ T2 I' \, v8 a1 [/ `0 C' b# d
軒轅劍還在可接受範圍内, 超時空實在是太怪了
. y6 a. q$ Y9 A- ~1 Qmoney_114 发表于 2011-6-7 12:04

# G* I, U; ~! U, l- [7 x" @1 C- [' z# R: @6 ]! f. @3 _
非进程的指针8 M7 I, O! h/ S, z( K
是模块的指针5 t/ q3 T# }% y7 [. Y& G$ N
难怪无法进行绝对寻址
. e/ E. X; E/ c) s, q7 m暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步 3 Q' ?; {0 Z0 T. u4 n) M
' f' X1 U, [9 q0 i
遊戲通關, 已執行清理操作

该用户从未签到

发表于 2011-7-2 18:54:52 | 显示全部楼层
怎么我下载不了啊

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂 $ N. n7 ~+ y' {  U5 a
你那個偏移量401D46 ]5 W' B, [9 v( A" o4 g# E
是怎麼來的??) x3 _: h2 l  @% x! ~

0 I  u4 U+ x  l7 \可以的話你可以詳細在教一下 7 Z; I) y$ q: B4 j
找基地指的方法嗎?

签到天数: 624 天

[LV.9]以坛为家II

发表于 2024-3-24 01:23:10 | 显示全部楼层
谢谢楼主无私的分享
[发帖际遇]: lj_107 乐于助人,奖励 8 个 柠檬. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|国治模拟精品屋 ( 沪ICP备15012945号-1 )

GMT+8, 2025-10-7 21:09 , Processed in 1.056641 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表