EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑 ( M/ ?# x* y* F8 |' Y) n

" B/ F8 a7 W2 _6 N5 l首先,DOSBOX的数据不是静态地址$ b/ H9 ~2 D6 X/ G# _" n
. ]3 y9 U5 D. ~' \: Z6 B
我们从最简单的人物兵力开始入手& ]" |. Z" i' D1 v" Q) c. f- D

- Y* O4 h; C" t2 H. h我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)
7 d# }. M3 U6 C5 O1 }7 j8 C' r2 f4 G/ C( D9 p
当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
% ]! d2 Y( y0 `1 Q启用CE调试刘备的兵力地址
: J8 H% J3 ]1 U. l; V2 }9 l/ B/ i$ [2 Q$ n- T; I" s. q% Y! J, B
找到基地址后验证一下
, s. e5 N. o# N- }+ {2 M6 s* O/ w8 q
现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持
( J' M/ ]% V) ]& S8 Z8 t4 R5 z8 c) v. u$ y) R) O6 O8 c4 Y0 R' U" J
把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”
) u0 M0 `: h+ b+ K5 z* P9 {$ o7 M' }! }2 x5 H5 Q  h$ l$ @
添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了4 B3 }" _, T) h( F' }- `3 U! K3 \
: U5 I% t- S8 G- W) `
然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
1 @! ]4 l/ y  i9 u5 L( B5 z
, M& a$ n0 `- z7 ?再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明
* H) u3 v3 S' R5 V  @这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0
: W6 Z4 k4 |6 l- @其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了
  }7 P8 t0 P+ F8 M+ |+ v+ U# v5 s只需要写上
# @& {4 g' E) d9 z& [1 ~1-刘备! m$ U, R2 J. X0 ?' u! ?
2-关羽2 M3 Y5 ]- @6 f! Z: r2 R" I  P
3-张飞
) c, U/ m7 V$ h- ~5 k1 V+ F; K9 h这样的东西
1 w8 ]8 J+ `; f但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来
0 x0 }1 R/ A" E$ l, b# b: @( Y  c- c! u0 q
添加完保存下,然后运行一下修改器
+ z- Y- u' P! y* l" v
; S5 \6 T- z9 U# M) n; I可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮' N; b* d+ v" a+ E* t6 W! D
按钮有几个功能,读取数据、保存数据是两个最基本的功能
, [1 g! n( d# |3 ?& z! X创建窗体也是个实用功能,本次不讲这个- g3 S3 `/ [2 ~3 H

+ Z" I. g5 N, |# J$ R, a, d我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下& F: ~/ g) z4 y* x  [" G6 a
4 I4 o' n& L+ o3 e5 D& Z
最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
5 E# @* j) \4 E* f这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里
9 d& d3 X5 J/ ~* v因为这里没用到特殊插件,故可直接生成即可
! O% C3 a& X5 Q7 l0 j( |4 i9 I; {  c* k' n: s9 j

) Z: x/ `7 L8 R4 z最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了7 n6 Q) g2 q/ l8 g4 `) ?
money_114 发表于 2011-6-6 23:22
0 l3 B* W2 x9 c8 q' r1 b
6 b2 y, I0 D2 v, j
天枫对DOSBOX的基地址添加有问题
" o! h$ ?* Q! p* G% T8 o6 Z他想兼容各个版本
+ H! k& ^" Q2 y5 u. {3 b# ?2 o( I于是采用了特征码的方式进行定位: m/ t% c, j7 p( `2 f4 a' B
这种不准确,于是出现了做轩辕剑修改器的那种情况
4 r' f) V+ F* c, j6 q. a$ c
% u# N7 R+ i+ }3 e5 o0 s- C但是DOSBOX属于每个版本基地址不同、偏移也不同的东西
, n$ r: A* C  q
; f9 J; E! A- r8 q# Z, A, k  o/ [不过你遇到的这种数据变址的情况还是比较特别的$ m7 w& q3 I( G! K& ?
游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步 ) `( J% b/ g, X# x6 ?0 G1 @4 h# }

- V" @( }3 K$ x0 s6 Rhttp://u.115.com/file/dnszl2u94 K, }  V* U6 K: z* @
軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步
2 {" b) f0 X- u. P' ^; G% I6 x
, e& B: w9 r+ N$ ^9 I* k0 Thttp://u.115.com/file/dnszl2u9' P( M/ D& T9 X9 u. T% N
軒轅劍還在可接受範圍内, 超時空實在是太怪了+ \4 K7 O9 u) ~2 C: _
money_114 发表于 2011-6-7 12:04

) P5 M' h% Y; J: S  a7 H7 r
$ v1 u3 e  Z/ e" B我读了里面各种存档
) \! k" ~6 G$ ~3 w( a就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪$ H) Z% W1 ?, |6 `- A( ^6 a$ m$ b, N
从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑 & m& t2 I3 a. O* G5 K
我读了里面各种存档
1 z7 k# n: n7 [就没那个存档可以让我改金钱的....
7 M; K3 [$ I' [. ^6 Q) t银河漫步 发表于 2011-6-7 19:31

: V6 e/ v: v+ }& y1 I/ V$ H你願意研究的話可以試下這個存檔,我已經放棄做修改器了
1 u( f1 H+ `1 ~2 z% A* u) o, I2 o+ t9 G5 I0 U5 P9 s  z* W
發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了
% U7 M( k; ~) R2 C6 U* Q# m1 a确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步
4 U" Z. \# p6 k- G- P# f( |- }* Z+ R" A8 z) B& \2 h
http://u.115.com/file/dnszl2u99 s, X) p- r; `; c8 Y
軒轅劍還在可接受範圍内, 超時空實在是太怪了( P% h0 J5 ?# m7 C' l. A
money_114 发表于 2011-6-7 12:04

$ T. h( q, ?9 p% t5 i8 [5 o. V( [& q/ ~/ p% w. ~7 X  G* _  |$ a7 f
非进程的指针
9 o8 S( y+ t0 _4 i7 D$ S* K是模块的指针, C; y4 v/ a! L4 Z; `) ^) T
难怪无法进行绝对寻址, \. \+ i+ Z# t$ f( \
暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步
0 F( _! H8 f" W' f# B. n! \3 d/ n# s5 c# P
遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂 ! {. x  @5 r& M2 k- D
你那個偏移量401D44 R% i0 j, M5 n1 [% s/ M9 H- s
是怎麼來的??! |+ z2 q- R! g  j
3 s5 @/ L& s  c' k* ^3 [
可以的話你可以詳細在教一下 0 a5 H- d4 |( r" h: W
找基地指的方法嗎?

签到天数: 350 天

[LV.8]以坛为家I

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 06:28 , Processed in 1.090820 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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