EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑
$ `- o$ a4 J1 s+ p
) N) G( N/ W! R8 P0 s* Y  N- h首先,DOSBOX的数据不是静态地址
; O/ w% j* t' U! s  @* L/ ]8 g3 @! G$ [& i
我们从最简单的人物兵力开始入手
8 i6 j* P  @2 l4 v- j) T
9 O0 U% \* [5 S! J7 n6 J+ q我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)% s& k/ b2 G* J9 A  Y

. V6 F3 V" z8 v7 L4 N当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址( A2 S4 K. X2 k- l/ z1 I* L
启用CE调试刘备的兵力地址. C% ]" H2 g- j7 x, e

8 t) {3 h& v) J$ [找到基地址后验证一下8 f7 N% d! l  |; ~* u: A0 L
7 R, x# [2 m7 R3 l2 a) E
现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持- ?: G" K. m& I$ C" h' z

/ [+ u# u5 A3 w! k5 |' j6 W6 X, c4 @把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”
. u4 _( u1 k/ |5 @+ R" d! l$ c8 T' P4 Q. }, f
添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了
! v3 g- o9 n; M' f% f( S0 L) v7 a5 s2 H2 K' ~1 U6 ~5 g$ {
然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑+ M, i4 j" F3 T: r
  F" D  M; a* s3 P3 N! R7 Z
再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明
9 O7 h1 H9 E# T' U2 S这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0" L0 c! _- a% ^. M
其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了: Y0 ]- R- ^. j
只需要写上
' l6 v; n+ l; a) f# s; V- k1-刘备
) k; i! Y( M) l3 c7 j* [" Q2-关羽$ L& T/ Y$ n( t! H! p! y: w
3-张飞
3 B! S; ~7 w* ~* z+ q这样的东西" `' o& E9 i( v1 G+ V' @# i
但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来
0 G; Y% N2 y+ J. n, F: w; Q; L5 y
4 X: c: ^- i5 `  ]. X) b添加完保存下,然后运行一下修改器% P3 J. E, Y* I) j, I( n
* m- `! i4 j! O: I$ x7 q
可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮
' t3 ^+ ]) D; L/ L1 T* m( ?) y" @按钮有几个功能,读取数据、保存数据是两个最基本的功能
! Q/ E- B0 c! u; x创建窗体也是个实用功能,本次不讲这个& a; ]6 \( P7 d5 _, u  u- V

4 `3 P9 A. \9 \6 j% S+ y, o  u1 w3 b* D我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下
8 \; h" C$ z9 M: n1 l
7 Z0 N: z+ W( c, Q9 G最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)& ?3 q% L, t% H! y) R
这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里
0 f  P* G8 i! ^1 x因为这里没用到特殊插件,故可直接生成即可& H0 o5 H" r5 \+ D! H0 Q8 H
/ O+ c: a- b& S+ T$ x# s! M

7 v' I5 [' i. m% y) _最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

x

评分

1

查看全部评分

该用户从未签到

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

签到天数: 1546 天

[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 Y! k0 i0 A4 C$ ?" ]
money_114 发表于 2011-6-6 23:22

5 b, k, k7 q' a( I# J8 D- b) |) w# q& `
天枫对DOSBOX的基地址添加有问题; r8 m/ V. f8 P( N) o- B
他想兼容各个版本
) j6 W5 M7 j* B% L2 f; s于是采用了特征码的方式进行定位
' w# {% \. Y, @这种不准确,于是出现了做轩辕剑修改器的那种情况, E5 z1 N" X* A, A$ a: ~
: e# l4 C6 s+ ~; Z0 @; r
但是DOSBOX属于每个版本基地址不同、偏移也不同的东西
  z2 E+ A! i* x7 f" N. r+ B9 E
+ {; X5 f) W6 U% ?" T9 D, ~% a不过你遇到的这种数据变址的情况还是比较特别的7 X! x! Z0 n5 l) [! J$ G( C
游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步 ) z- c* N; Q+ {$ h
2 U. ~5 S7 }# Z/ c' ^" c3 p! K
http://u.115.com/file/dnszl2u9: t7 R! K- _0 m: o/ T
軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步 . o& }' b9 _9 k7 R
  R4 N+ j2 u3 ?
http://u.115.com/file/dnszl2u95 f! k8 x6 Y6 K
軒轅劍還在可接受範圍内, 超時空實在是太怪了
/ [5 ], M2 Y, v1 y* hmoney_114 发表于 2011-6-7 12:04
: k/ W4 `# c$ J  M* f9 @; ^* j

# y8 U( @8 i" E6 G- o我读了里面各种存档
! T4 i3 X4 o1 |, n3 N' Y* \" z就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪
& k( I* D+ z+ P( a$ z: {2 c从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑 3 [, }$ L. f+ P9 m1 a
我读了里面各种存档/ o5 d* Y* q( ]6 M! {
就没那个存档可以让我改金钱的....  I% a$ m: d1 M4 H' ~( f- o* ?$ I
银河漫步 发表于 2011-6-7 19:31

# G% p5 @( j$ }- E# O你願意研究的話可以試下這個存檔,我已經放棄做修改器了
4 `, b6 L" L+ s$ z# I1 k: _7 X
& j: H. j: k& w% r1 H2 u( z3 Q1 d發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了
" R2 o4 G" `) M5 u) M9 _确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步 ; W" U- b0 T. Q  o* ~

0 c9 d7 Z1 }$ k6 d; `# \http://u.115.com/file/dnszl2u9! E# s' `( C6 R. [. D
軒轅劍還在可接受範圍内, 超時空實在是太怪了  H/ c/ I6 N, T6 d; X% J3 A
money_114 发表于 2011-6-7 12:04
1 \" m2 L% t' z: W# r; o

9 r5 |7 m" r6 I& q1 y% }) V非进程的指针  W* q0 B% B  W. D) F5 w
是模块的指针5 X+ o* [' {& S, j- E
难怪无法进行绝对寻址8 \% v9 l. g2 L/ s1 b
暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步 4 T# m2 w0 H) y9 ~/ B1 {" |

4 t- D1 X6 e! p9 }遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂
3 K9 `, ]" z4 p- l. _8 ^你那個偏移量401D4) g: A1 k4 \8 n% _% o* Y0 l
是怎麼來的??9 Q- x9 E/ ], q, L+ I1 P3 l1 u/ ~
* P6 y- J: q0 L. U- {
可以的話你可以詳細在教一下
1 Q5 y, M% n' @! P. X1 ~找基地指的方法嗎?

签到天数: 197 天

[LV.7]常住居民III

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 08:14 , Processed in 1.109375 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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