EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑
$ y3 ?/ _* q. C( H- y+ g7 D! d7 D# y) {! ~- R% y/ A
首先,DOSBOX的数据不是静态地址+ g$ ~8 A7 n+ {$ j( T( Q9 ^4 B

) ~8 ?0 a! ?) X% F; ?& S$ U% O5 {我们从最简单的人物兵力开始入手% H# y* S( c3 j$ L' _5 Y

1 q, Z% ^9 W( h2 \+ P我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)5 v/ ~& M( B( A: x

! Q& g( x3 z5 ^+ N! v当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址+ S7 i" e( n: p1 y. o
启用CE调试刘备的兵力地址
/ j0 @* g% ?% X8 U' v  d
8 I: ?3 m$ T! m' D找到基地址后验证一下
/ C8 d7 E+ F  y7 y/ `% Q) g3 M; Z- u% l) y6 t9 f; |, {
现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持$ M6 N; t. O  k/ F* Z# w6 d1 Q
2 N- y- L, f& K5 [
把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”4 E9 ?; k$ D' h4 \# G1 K
1 P& x* z$ b! d6 ~
添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了
( l- x+ d* a* ^/ m
9 F  z, o' Z1 g然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
) a+ x- Z: w! w* e3 s+ E: r9 e
) O3 r4 f$ D+ m- a再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明8 s' J; s; H7 B2 S& I
这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0
: y# v# h* e6 f+ l1 s其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了7 O2 W0 f! _4 R( ], P9 h* p
只需要写上9 E" Y5 m& r$ |' Y' K- j+ v1 w
1-刘备
1 q( P" Q8 H# h. x% B/ D3 V2-关羽
) z. J1 b- P9 }+ X! Y3-张飞+ T6 D0 \5 X7 n3 ?$ g
这样的东西
' ~  }$ G: b) |) O$ N# u但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来
. z& F- {; _4 h3 H( [
! u0 {3 ], T- }& e5 k添加完保存下,然后运行一下修改器8 r, k  z/ E' C3 e* k! r

& z! R2 t' l9 Z可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮. B- j7 t2 ^  m/ Z
按钮有几个功能,读取数据、保存数据是两个最基本的功能" Z/ x& ^( p5 O  L( t7 n% a
创建窗体也是个实用功能,本次不讲这个
8 s& Q* L; n: a+ [4 u
1 |  S7 b8 E) J* L5 d* y3 _我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下3 N9 M: S4 R. z- b1 C% I

1 S. l1 \: ]8 ]4 s( m  \最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)% ^! `. u6 C3 o) n
这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里8 n  l' a$ F# u  b% t* L
因为这里没用到特殊插件,故可直接生成即可
1 l# J% c7 \$ Q+ I+ ]- d# s1 e; ^% a* Y6 W: H7 C% Q7 J
- y1 |7 H  [' g  k4 \. C/ b
最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了" v9 S' R/ D" G. d4 \. [
money_114 发表于 2011-6-6 23:22

1 x+ P. C0 h, Y2 `1 `7 [- p# s( M/ A2 ]# _& N) _  E8 `
天枫对DOSBOX的基地址添加有问题& B; v/ H2 L, E
他想兼容各个版本! V1 I6 I+ _- c' J" q/ p# ^
于是采用了特征码的方式进行定位  s6 M- S4 E! x+ s  P
这种不准确,于是出现了做轩辕剑修改器的那种情况, w" Y+ z$ r: }! V5 F; j

3 x5 A2 ]3 G6 f$ M. U但是DOSBOX属于每个版本基地址不同、偏移也不同的东西- _. Z" H- }) t% B3 z
! ]+ `' q* G& b. D: C% ^
不过你遇到的这种数据变址的情况还是比较特别的
# s0 d/ B  l1 S游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步 / h# |$ j5 O$ a* S" ?9 b7 \; q

+ a( ], ~+ z8 h, M) }http://u.115.com/file/dnszl2u9* A0 m3 z, y5 I* g9 }
軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步 . p" {* }" a4 r: u. S( u/ i6 M0 I

  j# w& J/ Q; {5 H+ _% T1 L( U; u: khttp://u.115.com/file/dnszl2u9
9 l7 S- a9 {: E; Z, J軒轅劍還在可接受範圍内, 超時空實在是太怪了. }; n4 M) N$ h' r% P6 x
money_114 发表于 2011-6-7 12:04

0 V: D$ [0 ?' C7 K& w4 t
5 r( N: R( j; A- J我读了里面各种存档9 v4 I7 Z) P) w4 H
就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪- ], Z( F" E. ^1 ~* v7 A" l/ G
从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑
& B9 P4 S6 {" y- w) g+ E8 E
我读了里面各种存档
6 }7 b; k4 P; e6 ~$ L7 A; j  d; [9 N% o就没那个存档可以让我改金钱的....
. [0 T: K9 K5 X8 v2 K0 e: w银河漫步 发表于 2011-6-7 19:31
1 a  P% N5 L- o
你願意研究的話可以試下這個存檔,我已經放棄做修改器了/ f) M( u9 w0 ?, L' g, T: R

8 p5 `* R! p9 b: ~8 M1 ]+ [發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了: U& X! ?% w- `. q
确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步
# Z$ C5 r: J* a, \; o/ F* V6 c* {  p# n9 V, h
http://u.115.com/file/dnszl2u9
2 W7 @/ c- T, l& G0 W* f7 Q( b, T軒轅劍還在可接受範圍内, 超時空實在是太怪了) m+ F1 p# H' q# c2 ~; h* D
money_114 发表于 2011-6-7 12:04
* L/ N( X. s% k
5 P- x0 j  V+ l, z1 P- ?$ i9 M
非进程的指针
5 c% y3 N: q6 W9 k, ]  e是模块的指针. s* y4 m7 y4 _" K- x, ?6 I( Q+ Q# ]
难怪无法进行绝对寻址  C  t4 L% L; K! Q' V1 v1 h" b% M
暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步 2 h9 W) @% F4 V1 P0 D5 [% h* S3 R
1 ]6 v5 Z3 u- w% P9 h
遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂
9 K% n1 b% z& H" C5 Y! s7 L你那個偏移量401D4
- y1 J8 |9 X2 h( |$ `! f. w7 T是怎麼來的??
5 r( S( c) g" j' Q' [/ l% G) v
) I6 C( t% z0 A$ n% v3 y可以的話你可以詳細在教一下   a9 j' l2 o  Q. W
找基地指的方法嗎?

签到天数: 605 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-17 03:56 , Processed in 1.150390 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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