EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑
9 H! x* V/ p7 p0 h$ u, [3 _. p# R# m
首先,DOSBOX的数据不是静态地址
# L. r" o# H" ]8 H2 p+ ~0 }3 J
5 M  P4 }: e9 w$ d. g% H我们从最简单的人物兵力开始入手( R1 N# R, W- j

% V% v& j9 Q! v0 [- x4 \我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)& e7 i( x! x( @8 F/ N5 M
" U- D# Q7 U$ r
当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
8 H- P& D3 O4 d- M/ h+ A% h启用CE调试刘备的兵力地址) _: j8 ?/ Y& V5 R$ U

5 N# N9 T( C% i: R5 g8 a找到基地址后验证一下% s8 i% Q" r( a* q0 s

$ Y0 m" l" d1 v: Z0 M$ {现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持
: [% ^' H2 t2 n9 [7 V: A
1 x4 p5 A( u, L& j把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”. _! m% j4 `8 s7 }4 _: G: p2 E: |

* @6 f3 A) w$ w* g添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了3 }% P  j" R5 Z- Y: u5 e

5 f6 n0 y# J% u! M% f然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
( }' {8 J- Y: E8 h: \  t2 M7 O) e
& ~. O7 Y% \; l* t0 U再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明& T# q5 T! R1 o( D4 D" ]( e( [
这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0
. p! T, b# U! {其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了
/ a  d0 R$ @8 l- S2 {8 `只需要写上6 J+ O# J4 v4 e  Y. ~. O0 G( O6 ^
1-刘备' M1 ?2 p. v# a2 c
2-关羽
: W7 H. h7 V# e/ x! A3-张飞: ?" m1 }0 V' @7 C: `
这样的东西: @2 c( D1 h5 Z  r3 q+ H" R7 K
但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来
9 Z; b' P% i( y# l/ r! m% t& _, p  d$ k: |2 u
添加完保存下,然后运行一下修改器
' h1 ]4 p4 `% K$ Z. R* |
6 |  S2 t7 ?+ ^$ N可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮- Z: Y* ]( q3 P4 D1 t
按钮有几个功能,读取数据、保存数据是两个最基本的功能
7 q$ r: }( }; b$ ?- e( S; r' |! w5 z创建窗体也是个实用功能,本次不讲这个5 B" W7 A' O4 A; I  I3 M) P
$ j8 H- b' w9 @6 a
我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下" p- c9 `$ ]& D9 m

. u% V( R- c& [% U/ D* f- o5 g: S- _0 t最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
- G3 \! [$ \7 W$ i% q这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里
7 S; f  Z, e8 w# C8 V1 V因为这里没用到特殊插件,故可直接生成即可) d; l, |: ^( O8 P: R+ e1 j

8 B8 N/ w! d- T) f  f' c+ ?% L# l# d! G
最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了
( D3 X4 c5 W; h& s8 P; f! _money_114 发表于 2011-6-6 23:22
/ O6 _& H: H: S8 n  q1 Q: b# W4 g

; {% ?4 u. I$ w$ @% G天枫对DOSBOX的基地址添加有问题9 N+ K$ w2 @5 T3 x+ W" o
他想兼容各个版本4 V! `! B9 g2 b
于是采用了特征码的方式进行定位6 o+ ?/ r) G5 a/ W5 x6 ~. f4 ~
这种不准确,于是出现了做轩辕剑修改器的那种情况
4 J6 z( E, S$ w, X  y3 N
2 F) S& R! {6 ^4 ]  i5 ~5 \但是DOSBOX属于每个版本基地址不同、偏移也不同的东西
' \* F2 H# P  @
! n4 I, E7 @' r$ f* n5 w不过你遇到的这种数据变址的情况还是比较特别的6 s9 {( G) x& q. }
游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步
# w* `! Y3 d3 i0 @$ P5 d8 `6 }6 q  s# W1 J0 X
http://u.115.com/file/dnszl2u9
- [. s# p4 S1 O8 ~  r$ Q1 E軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步 ) g+ |  h& V7 b, S% J

! J5 p& P+ m4 Q4 ^" Dhttp://u.115.com/file/dnszl2u9
8 {. ?8 g5 X  d7 L. ~% m軒轅劍還在可接受範圍内, 超時空實在是太怪了
3 _! G: j9 w/ [& Umoney_114 发表于 2011-6-7 12:04
$ }, K; h$ O" X, k+ O5 s; y

. q7 P! [- Z' g) y, B0 s4 ?4 }我读了里面各种存档
+ _. U3 V9 ]8 z  N! J& G就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪4 [3 Z  {9 d2 |) x
从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑 6 W. g( G# A7 P7 m
我读了里面各种存档# q8 P2 X* U2 W0 E
就没那个存档可以让我改金钱的....
- S4 w8 x7 u8 P# i银河漫步 发表于 2011-6-7 19:31
5 q$ V- Z, N9 D. I
你願意研究的話可以試下這個存檔,我已經放棄做修改器了0 C/ _- v. D9 b" ~- n, s
7 K5 [! C  @2 ^. N4 E6 C
發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了
+ e; ?2 i0 q6 \5 ]$ P! R确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步 7 H( o  L! M" f: i" \& W

5 B( s0 Q9 M7 Ehttp://u.115.com/file/dnszl2u9) A7 I$ E5 |& W; O
軒轅劍還在可接受範圍内, 超時空實在是太怪了! h# l# A6 y  R
money_114 发表于 2011-6-7 12:04
- {: P2 K( S; e4 F
, v9 _, I' ~( L6 m4 Q7 r
非进程的指针
) V  ~; i* E3 s! T1 d0 g/ u6 X是模块的指针3 m4 o  D- @5 ?2 ~' C
难怪无法进行绝对寻址4 H. U/ F- I' c
暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步 0 e9 r9 t) t, Y1 G3 R% D4 D; ~  m
6 ]% i- r4 B7 p& d# P8 `
遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂 4 _/ a6 s: w5 T" l0 M+ J
你那個偏移量401D4
# T. [0 @; A3 g& X) _是怎麼來的??/ H# F- a  Z) i. N2 ?: W

2 d8 L. M/ S* L, k$ d8 H: ]* o可以的話你可以詳細在教一下
( I* O: b# ^' a找基地指的方法嗎?

签到天数: 703 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-26 16:04 , Processed in 1.095703 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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