EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑 , U1 F& q! u; P; ?
5 |' G. q5 l% u/ a5 l
首先,DOSBOX的数据不是静态地址. ?/ \' c1 O7 U. {  v4 m" Y/ o  |

" r3 H8 [# M6 J1 |0 e+ v( k我们从最简单的人物兵力开始入手
) A- j+ R6 q* S; S& J5 ~$ Z4 E' Z& k  y) j3 M- j3 y( v
我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)4 w, i- s$ \$ d0 ?5 g8 y

5 ]) f; L3 v8 p+ |7 i" s: n" G当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
9 w  d$ j; V' b; w' ?/ C启用CE调试刘备的兵力地址2 ~4 S% M1 v' O  B* o. k1 v
" W4 A& n3 I; Q  d
找到基地址后验证一下, [' v: |9 y  w1 M8 ~7 a, W

) Y& ?) M( k1 F5 T" B% T+ @现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持
  }4 V( X  l( ?5 R$ _5 s( g6 w; N: Z* g2 U5 J
把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”
: Q; E9 f) `! m! H( i* Z, o$ |! N8 h4 x& Q
添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了/ C8 z' R0 U* h9 q
  w4 @1 w* _( ?* q5 \& _3 S) j( F% j
然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑! X: I8 N0 w8 ?
- @" H2 u# b. M7 }/ p
再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明+ Q0 w; V! V5 R1 o) ?( o6 T& t  _
这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0& m: _. L' E2 @9 Q$ ?$ P
其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了
' Z0 d2 w8 L9 p只需要写上5 H/ Q, W* o2 ]' \3 j
1-刘备8 W; p  \+ t3 V) S+ W, v
2-关羽
! Z% w, Z, m5 C$ [3-张飞$ A  Z% m8 D% l; |
这样的东西
( Z1 M+ J+ D9 H4 M: \+ S但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来
) h5 K# G# Q, f
; T1 K6 D' S  Y1 o9 ~" ?添加完保存下,然后运行一下修改器
0 H7 ~2 U0 m4 }+ b9 C/ [) p
. R( ~7 h9 q( p0 m  G可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮6 W  D! X' I4 ^0 }2 r0 [9 E) `. e
按钮有几个功能,读取数据、保存数据是两个最基本的功能6 T2 x5 N1 O7 k9 u" ~' X0 K, [
创建窗体也是个实用功能,本次不讲这个" L( N: E) ^- p% ?' W6 O2 ]

7 b9 {* U+ x* b我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下) M8 z2 i5 ?, t4 k2 w& i' A
: W' S0 B! q3 H7 c: K: T( N
最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)7 N2 A  N% g' b8 |$ t. |& V& O
这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里+ n# k' Q9 I* C7 }- c5 e
因为这里没用到特殊插件,故可直接生成即可
  \8 h* z1 b7 Y! b. A$ S& n$ T8 A
1 @! i6 D" ^  V8 ]- j0 V1 _0 X3 a" X8 F# w! v
最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了
% Z7 d) p2 h# V  P3 @9 O3 q- [# L- imoney_114 发表于 2011-6-6 23:22

5 f: r2 W! w- v( B8 Z* R1 q: D2 @9 z# {0 @
天枫对DOSBOX的基地址添加有问题
) v, Q* F# S% A1 p他想兼容各个版本: l+ @0 H1 h6 k3 t0 u( Z
于是采用了特征码的方式进行定位  W- s! l& X9 {: x8 r- r7 s
这种不准确,于是出现了做轩辕剑修改器的那种情况+ s+ F2 a' V: ~% L3 j

! j" N; C7 `, ~5 t但是DOSBOX属于每个版本基地址不同、偏移也不同的东西
+ v' l+ i0 Q9 e4 H8 z1 \& \6 \8 _) U1 x# F$ I
不过你遇到的这种数据变址的情况还是比较特别的
- ~9 `2 v& b' O, L- A  ?游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步
, R/ H& s2 c. v3 X3 S) i
% }0 h" u' D. ~5 Q( t* V+ lhttp://u.115.com/file/dnszl2u9
8 K3 f" z) w( a  Z6 K# u* d! ]) ^軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步
; P; W- `# J: m
: v* y* Q+ \* l/ lhttp://u.115.com/file/dnszl2u9
1 |; W" q, j" m6 g) F6 w軒轅劍還在可接受範圍内, 超時空實在是太怪了
  Z1 f1 _' [& Xmoney_114 发表于 2011-6-7 12:04
; d2 F: k& {8 j6 m$ p1 `
/ j3 T$ T. J( T2 M6 W2 x
我读了里面各种存档3 S6 z/ d: F: B$ I9 K
就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪$ T# z. X6 d* x* K, V' O+ O9 L+ {( G
从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑
, }3 c( }+ b9 q" U* W
我读了里面各种存档
/ U, [" t$ u* S7 U4 ]就没那个存档可以让我改金钱的....
; s4 a- M1 |: s/ ^8 Y9 \4 U0 X银河漫步 发表于 2011-6-7 19:31
1 q% b% D9 o6 [7 x5 `
你願意研究的話可以試下這個存檔,我已經放棄做修改器了
% c; e# Q- i% |- D
' [5 ]  K9 e( `" I' z$ \9 a發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了" s( V: Y' n. z7 d" B$ P
确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步 4 V) |* z" K. F/ \

3 t$ X4 l) U% K: q9 ihttp://u.115.com/file/dnszl2u9
5 D7 S. E1 v7 b' S3 ~. Z軒轅劍還在可接受範圍内, 超時空實在是太怪了  K8 C" ^" F$ C+ B# [1 Q% t
money_114 发表于 2011-6-7 12:04
$ L2 E6 b0 R& \3 Q# X5 `
; b  S- Q6 N. h3 i
非进程的指针
' Z4 m& {  W- k8 _; o3 X& ~! W是模块的指针5 Z4 G! t3 _& F) R3 Q  ?. f6 Z: ?
难怪无法进行绝对寻址. v  ^3 ^& n; u, O# }1 J; u# ]
暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步
+ x2 I' u, V: N- R5 f3 c; e
; _8 S( H9 w7 v7 e2 ^- T5 p" G遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂
* ]" z3 b+ c1 r( [# Q" d% K你那個偏移量401D4  Y$ j0 U% |$ V9 `2 S
是怎麼來的??  t/ D1 C* W2 A9 n/ t  }

5 A+ C8 K( j9 L" m/ J" L  O可以的話你可以詳細在教一下
$ `) P+ {1 F( w0 k( \( b找基地指的方法嗎?

签到天数: 523 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-12 18:40 , Processed in 1.083008 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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