EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑
; @# X. ]% V# ]4 x, B3 Q, j' f" k5 j: g+ H  v
首先,DOSBOX的数据不是静态地址
( v6 B9 B+ a& u5 n$ X! m+ O( L2 O
- m" |+ o. p; }+ g1 c我们从最简单的人物兵力开始入手
) C  t1 B9 N, ?) W: L9 T- a# k  _2 [; T3 ?: h6 f: F% N
我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)$ I! D& V4 ?3 T2 R4 @

/ m  j# f! S* Q* n$ [当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
8 C+ V( G: @2 O4 }6 U9 [启用CE调试刘备的兵力地址8 u# S. \$ T) U* F+ V1 u8 Z

6 N# |0 }  h. F) l$ v找到基地址后验证一下
2 y) Z6 \$ l! {) b. b& Q) x" _; c  i2 E- n4 h6 g9 C4 s- t+ w8 m: B- X
现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持) R8 @: H: X6 B' ]
% n- [- H! y0 X; `) H' F9 q. |0 {
把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”7 }4 B5 i- V' L; ]6 O7 L
+ |9 R# `$ P2 D7 i
添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了0 f: y: k% X* w* {: K: z( `. C/ p
0 s" y% E( X, T
然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
+ `) @6 [5 o) i) H& s
/ m. d; L$ Y3 m2 O+ `7 K6 w再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明/ F1 ^: g, ^% O3 r* B- }
这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0
0 t- W: ]) d( P; c: F/ L) x其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了( d+ Y) Q; b% _4 r
只需要写上
0 N" c* c$ A6 ?1-刘备
; k5 @5 O$ @* k. Z2-关羽
) R4 P+ [: q) T' b) q0 L3-张飞
8 ~3 q0 x; e+ m0 X2 q1 J这样的东西
! [, C. p1 B! {  e5 l3 H" l! ^+ ?但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来
, ~2 X6 a1 D& x1 s- |
1 G* I: @  _3 S: i( m2 o9 l( e添加完保存下,然后运行一下修改器. S9 _5 R/ g# w0 |4 G" T
) \8 T* i' w  z
可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮: L9 }+ E* R) N3 e' b
按钮有几个功能,读取数据、保存数据是两个最基本的功能
9 J, v: ~# R1 m6 q6 b创建窗体也是个实用功能,本次不讲这个
6 r, u: ]: ]' u! C5 N' t" l( R
; w* B8 U. j3 _; m1 M6 J我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下
6 K) r% Q: R3 r! \, _. I$ o0 m3 ~. W
- i% U; T4 ~4 a% f7 k最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)" |7 x. }/ g& K0 n7 t
这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里9 F) n0 W6 S2 @% ]  _
因为这里没用到特殊插件,故可直接生成即可0 H( j" h& q+ j5 v3 G6 U+ l$ ^

5 \8 f2 n) |# A! E" Q% y1 i4 w1 y- c6 l
最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了
+ O9 m* g) n- W5 S3 Smoney_114 发表于 2011-6-6 23:22
) N/ E" p* a: w

4 L& t) c$ \2 u8 S0 P- Z7 P天枫对DOSBOX的基地址添加有问题
6 i* `& x& M8 e他想兼容各个版本$ k. t6 C! Z5 U6 A" C7 G7 j
于是采用了特征码的方式进行定位
# Z4 p, e6 X$ X1 e( h) r这种不准确,于是出现了做轩辕剑修改器的那种情况+ S$ K' H& N# l% _8 K. Y# L( v

& M  L, m3 L% F0 Z: o但是DOSBOX属于每个版本基地址不同、偏移也不同的东西
. {1 k$ p- s2 v1 V5 S7 X! ?2 r8 m$ w! a. Q  L. `- K$ A
不过你遇到的这种数据变址的情况还是比较特别的3 ]4 g' B) Q( k( a+ H/ D2 Z
游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步 7 j* p& C. x  M$ N  b2 T8 @

6 L( F! o; R  V) O8 chttp://u.115.com/file/dnszl2u9
9 A- i# N4 f% v0 X軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步
" U3 x" `2 o, F. L' m+ L9 _. T
; B( ], D: f5 {; n4 O7 Thttp://u.115.com/file/dnszl2u9/ ^$ L  \; P5 l: X4 u9 P; l
軒轅劍還在可接受範圍内, 超時空實在是太怪了. J' M) S; ^! q/ P
money_114 发表于 2011-6-7 12:04

+ Q1 n: q$ }5 j, K* d8 m
' Q, U" J4 ?9 B+ _8 z3 N/ G我读了里面各种存档9 e9 b1 I' Q2 Q$ k& O
就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪
# l* e0 o' H. C" C6 z从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑
: x: L) Y4 n. g+ A& b
我读了里面各种存档+ R& {. B* w) y2 l7 k: b  `
就没那个存档可以让我改金钱的....( q- }+ g4 `- r0 G5 V4 n
银河漫步 发表于 2011-6-7 19:31

- h/ ^( L( e% ]2 z# n0 p; X你願意研究的話可以試下這個存檔,我已經放棄做修改器了$ \5 V# S, K8 a& E# g6 E" B: ^

" g: j: h( K5 e* u發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了5 }+ J* Z( u3 D& n
确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步
( {$ X5 @: ~% D8 {( s& f2 C1 Q# N* R" E" H
http://u.115.com/file/dnszl2u9" h3 y1 i2 j( t$ `+ J: H( H, B$ b
軒轅劍還在可接受範圍内, 超時空實在是太怪了3 J' ?* W4 `* E" z0 [+ Q4 _
money_114 发表于 2011-6-7 12:04

) Q. D# l8 }  `& P/ C
2 X+ K- K# c$ X" m/ i9 a* G$ \9 _非进程的指针2 o: K; x/ n4 J+ q" }4 ?' u
是模块的指针
" ^! P1 f/ J& c$ h难怪无法进行绝对寻址
: j. V/ U  h! @. I6 i暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步 2 b7 d# j& ~/ Z5 K
' P: ~% D) P, Y
遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂
3 J" ?7 U9 e' D( Q8 V5 T你那個偏移量401D4; n9 B3 Y, ]9 E
是怎麼來的??  p+ v% z  D+ C  t$ J- c* l
, i7 Y& ~+ P, @8 P. Q1 n
可以的話你可以詳細在教一下
" b) @1 H! u7 N- \1 e找基地指的方法嗎?

签到天数: 525 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-14 14:55 , Processed in 1.093750 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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