EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑 4 e' J( h5 n, z& i  M0 P4 Q

# O! E1 Z, u' V+ u% K  y. \首先,DOSBOX的数据不是静态地址% e/ }' ]5 U- `% W2 e

1 G. P5 H! j" W9 u" e: o我们从最简单的人物兵力开始入手
' O* F+ S" ]* k: C0 f! H4 i# T- d7 q1 V
我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)! c2 b" C7 S0 H2 @6 B+ L2 S
0 _; d" k5 [- Y3 {
当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
2 \' K3 Y; Y/ H$ ]" B: B. v: V7 C启用CE调试刘备的兵力地址
' v  ?) ^) x5 f1 ~2 H) |& h4 O% G5 G6 |& f
找到基地址后验证一下% m- v( r" s( }/ o( y8 O) L
# g% W  X. \8 ~! X6 J* Q
现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持$ i8 P7 f2 C. f$ c$ {/ o! f

: b% V6 b+ v7 A: u把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”1 A, N1 o- d4 o" X% [
% H- j) z1 s9 w+ g8 T5 J! c
添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了* K( E. d: V* g+ g. E) U
/ J9 h( K! a# V3 B
然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
- h, @1 D+ T# O$ T3 U  I3 V# o
3 f. S$ J! ~$ {7 X* N- e再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明+ y  s' u% {8 s; X
这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0
) b7 O8 e6 x9 I' ]' v其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了/ s9 ^9 F, L4 w
只需要写上
/ ?, w/ I: P$ q) Z- X1-刘备& ]- J& w) g5 t0 i7 a# n1 r) j- U
2-关羽2 y! x1 Q' T9 |2 F
3-张飞3 p8 U4 ^, ^1 C! i4 J
这样的东西
, s( w6 L& x9 o- D! f但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来
% A: b: X' w% k. g
8 v7 P/ y7 r3 u7 F5 o) A添加完保存下,然后运行一下修改器9 p$ i' ^! X! ?

# ~; L  I; o; Q' X4 m1 A可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮
2 W0 V: u; r# |" ]9 j  W按钮有几个功能,读取数据、保存数据是两个最基本的功能
8 C/ q  v- A8 G& ^  i* ^6 h/ m创建窗体也是个实用功能,本次不讲这个2 S7 ^$ _7 B" Q# {% u2 ?8 r
4 p. B1 X& i2 h0 O$ a" F
我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下! f  ~- ], R5 o# n8 K

- |+ V) D, T7 i2 x) n7 r最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
' {0 \2 Q1 b  l7 ]- |1 l* [! \这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里
" o" R9 n$ G6 }$ T% J因为这里没用到特殊插件,故可直接生成即可
2 F' |- D' ^5 R, `* y0 \% u/ A
2 C# q2 D4 u9 A/ \5 p
5 C9 F4 w' A; S. f0 x* |最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了
3 f# H" |# Z6 Smoney_114 发表于 2011-6-6 23:22
  }% [9 ?8 r# O* f
2 K. t1 Q9 Y, ~2 [5 Z( c2 u0 @7 l# [
天枫对DOSBOX的基地址添加有问题# {1 ~" S1 f/ O
他想兼容各个版本0 u1 b( T/ [- O1 M# ?* O
于是采用了特征码的方式进行定位* C/ i8 [" `% e- Q& o' T& w1 u
这种不准确,于是出现了做轩辕剑修改器的那种情况
& M0 w' _- c) a4 f7 i0 @# U$ [" ^* Y9 C' X* ?/ e
但是DOSBOX属于每个版本基地址不同、偏移也不同的东西. B" e. R+ Y9 @- Y& m* c4 j
' O# s7 p; k$ V% y" f* K
不过你遇到的这种数据变址的情况还是比较特别的
2 j* ~; X# p+ V2 F5 A& j游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步
$ x$ g7 @4 u; M# ?) p* A& Q3 V8 L% _7 ^
http://u.115.com/file/dnszl2u9
9 P$ V1 }- d3 C軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步 3 G5 f& x: [' \0 b/ M7 c
6 m! q. d8 @2 \. L" ]6 P# r, U
http://u.115.com/file/dnszl2u9- ]( h( Z( O1 V6 F$ [
軒轅劍還在可接受範圍内, 超時空實在是太怪了
( H3 x, @9 u5 H" N/ kmoney_114 发表于 2011-6-7 12:04
+ `7 D1 m8 {( P, Q) B1 v' ^
7 \) _2 X8 w' i  y2 _  G  x8 u
我读了里面各种存档
9 f/ s: e6 D7 x# X9 E就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪; {$ g& n" d1 U8 z6 |/ Z1 @
从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑
) `! K8 R# p) [+ s" O$ c! m# ^
我读了里面各种存档
, w- j4 Q  O& O就没那个存档可以让我改金钱的....
0 |( `  m% G! k% R: k银河漫步 发表于 2011-6-7 19:31
( z4 S$ \6 ]2 p& L, k+ `/ v: T4 @
你願意研究的話可以試下這個存檔,我已經放棄做修改器了$ }0 _: d, W7 r* I! x. ]  w

0 }9 f2 b, U5 E. j發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了' W8 t: D/ k3 D) t) R
确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步 2 k( n* U" l' M% h7 K8 Z: `# ]
9 u0 `/ B: a! z, B1 |* Z
http://u.115.com/file/dnszl2u9
; F6 n+ p- X2 z( ]: [$ f$ ?軒轅劍還在可接受範圍内, 超時空實在是太怪了
' \% G: b6 k2 N5 C; Fmoney_114 发表于 2011-6-7 12:04

/ [, B* ^* j$ s: _6 G- V
0 X' I$ R1 ]: [' y, d3 \! ^' y非进程的指针/ ]* V3 v5 y- ^' s7 ]
是模块的指针
9 V( C9 }" n  j3 r( a. ]+ m难怪无法进行绝对寻址
! U$ m1 E# _9 P/ i3 I" v. j暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步 , C8 `) q8 J' M% G: n, f

/ P# j- F' n, a遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂 " ?5 c' z) Y% `: M; D9 K8 c7 U5 V
你那個偏移量401D4
" Z/ K) H: M4 ]9 ^" \, n9 G8 ]是怎麼來的??
7 e( D) F5 n8 L* e% T  z0 Q/ U4 j, ^% C: h7 J4 h
可以的話你可以詳細在教一下 : P% D8 l, i4 F* q) _, q( o
找基地指的方法嗎?

签到天数: 352 天

[LV.8]以坛为家I

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 10:43 , Processed in 1.084961 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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