EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑 3 D8 \% D; F# S5 P
+ x+ v7 \7 X3 K8 z2 Z0 P
首先,DOSBOX的数据不是静态地址
7 U" U5 m! G! S' E, ~
6 Z. m; o  x# }1 S9 s) V& x我们从最简单的人物兵力开始入手
" L8 C/ }$ r) M/ y  W- f  h3 @$ b4 T# p& N& K+ u
我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)* Y8 x; @+ a+ u/ [% M! x
' u/ ^5 V2 s4 M$ p" \2 |" ^
当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
+ M% \& W5 r  Q5 f% F* u启用CE调试刘备的兵力地址, k# u9 _. P' {3 N0 m' G5 N
8 l1 _8 V: d5 P' ^' e3 T6 A
找到基地址后验证一下
: b- o5 M; z2 T: O% C* \' A. p/ X4 G" D9 ]; n5 Q# g# S
现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持; e$ _$ O8 U3 z

0 w% B  \: d' [  |" E把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”5 K. S' k1 @, S9 p
4 @2 W  c6 x+ }. S) P' v6 s
添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了
: x4 J$ X& }) k' B+ r" r/ r& l+ t+ S0 x# @
然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
: ]& g$ C0 f8 u* Z& O3 v9 h7 Y9 \( W% U% s3 ^
再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明) D+ T4 q# |  @& i3 E# ]
这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0+ n9 @/ e" x% X/ Q
其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了0 s0 \% E& N7 ~+ w" Z9 r7 [& ]+ [+ _6 a
只需要写上+ }1 k) s# O* u  I3 i: d) o
1-刘备
8 X3 n/ h. q8 b3 l; N' A2-关羽" s: C; K& W$ ~8 E) P, c+ \' X
3-张飞
$ ^% [# f" {: C. c( n. B9 u/ Z这样的东西
0 f  M& T3 K% w0 Y. o但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来
4 s. m/ g. V/ {5 K& o$ u
1 r; }5 W  A( D0 Z  V添加完保存下,然后运行一下修改器
4 j" m: Z! I. x) n$ T* t  W2 N- G$ \+ m) E% B
可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮8 A9 F( I+ \, d/ G6 Y, h
按钮有几个功能,读取数据、保存数据是两个最基本的功能
+ E6 G+ h& H  m5 I创建窗体也是个实用功能,本次不讲这个
9 }3 n8 U, T! X  m: l8 u7 ?! ]# |  p1 n
我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下, L+ ?& ?/ p7 v! ]

6 A  C( r- y. g' d) c/ u/ }; i3 U最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
& q9 {& L1 ]' ^! m; I9 z这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里4 y2 D3 b* T7 T+ }& i* B) _
因为这里没用到特殊插件,故可直接生成即可
7 ^9 z4 s! _7 n1 y4 }: ]# c$ L) c( L3 j

; B! H' t* }' N7 e最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了
, z% J- I( ?& P' _money_114 发表于 2011-6-6 23:22
) s* l" x7 D" `; M% \
9 t; S. l* y) w. t2 F
天枫对DOSBOX的基地址添加有问题6 }% F- L8 y4 P6 N& X4 t
他想兼容各个版本
: p1 l6 J' N/ ^1 X# Z, k' e于是采用了特征码的方式进行定位& }; i3 s  Q0 _, I5 i1 Q: W
这种不准确,于是出现了做轩辕剑修改器的那种情况. ?! g8 Q) ]! T. o1 u" ~
$ U6 u8 F' C& S- q
但是DOSBOX属于每个版本基地址不同、偏移也不同的东西
. y4 f* z1 C9 ^' q: X) N) I" a9 g9 K9 @$ z+ |) e2 ]
不过你遇到的这种数据变址的情况还是比较特别的
0 [3 S1 f. r8 ~/ t' a游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步
& C0 Z7 \- O. Y; c) M9 S1 a. A" D! k+ I
http://u.115.com/file/dnszl2u9% n$ t/ [' P' @/ W2 n, y, K/ B
軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步 : v8 N/ Z+ g/ d5 o; ~6 w; O
, @2 Y) J( ?* r' W0 ?) X
http://u.115.com/file/dnszl2u9
( y1 L) Y$ A3 j* P* i$ K2 Q7 S軒轅劍還在可接受範圍内, 超時空實在是太怪了
  L& L5 T2 d9 E+ q1 nmoney_114 发表于 2011-6-7 12:04
9 Z2 K, K- K" g  L: A$ F
: _9 P4 K- ~3 Q! r( w
我读了里面各种存档7 a6 e2 [. `  P$ ]! m. k
就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪
9 K! B+ y# }% L5 H! _, Y/ {; a从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑
; r. t& h. `! A+ |
我读了里面各种存档3 H4 L8 }7 F. ^6 R; `7 G# q
就没那个存档可以让我改金钱的....
9 Y+ w* _! }- C. @; S0 ]  x% d银河漫步 发表于 2011-6-7 19:31

9 J2 q9 G+ V% @* s6 s, U你願意研究的話可以試下這個存檔,我已經放棄做修改器了
. L6 N  P/ z3 G+ n" a1 t9 n; [" M3 ~
發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了
3 T2 G  C# Q, p9 _2 Q确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步
1 U- z: `" q) b+ e/ S5 ?' ~( j- X! Z0 q) D$ G( Z
http://u.115.com/file/dnszl2u9
- |2 Y- _+ N: j軒轅劍還在可接受範圍内, 超時空實在是太怪了
8 u( a. l# c' X2 Q# E# L4 umoney_114 发表于 2011-6-7 12:04
. a& M: Y; \2 F( u

* y2 n4 N7 d* D非进程的指针+ \$ {# ^& @6 a9 s/ e
是模块的指针
  J, q& Z2 Y. V+ w4 P8 n( [) [, x难怪无法进行绝对寻址
$ z8 l5 g1 Y% i1 O1 A. O" g暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步
1 o9 `/ W, M6 z9 `( _4 D) k7 k) S1 C1 K$ I+ e
遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂 & A9 L& A* I. K3 l6 w6 \; n
你那個偏移量401D4
. ^9 [& p9 a8 \, l是怎麼來的??' z0 n3 ^( ]* A3 O$ a
, h+ v1 d' P3 ^& {9 Q
可以的話你可以詳細在教一下 * N: c5 o: _: }) T6 G) r
找基地指的方法嗎?

签到天数: 476 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-21 14:51 , Processed in 1.168945 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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