EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑 0 K, Q: v, Y1 Q* _" S: C

0 R( ]5 s2 c" K& x首先,DOSBOX的数据不是静态地址
+ V+ m  P, n- ]0 a
6 G; p* ]3 {$ E3 M7 |我们从最简单的人物兵力开始入手: z4 s/ T* J/ E- p- `" l

1 f0 v1 A, F9 C, T$ t7 P$ K5 k5 \: B1 U我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)& {3 l8 U: @5 v" M
8 W# w, [" e2 E, Y2 a' Z- Z) w* E9 c% @
当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址' V# b# R+ M5 g  `7 F
启用CE调试刘备的兵力地址
& K& _4 u' S* Z9 J. L- H  Z0 o  E/ y
找到基地址后验证一下* R  |  Q& R+ T5 b! q* @! w+ N
. L- [0 i3 J0 ~% b# a
现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持$ M9 I+ i9 ]5 d9 j# `2 e

3 Y/ @( z4 {  g/ Z" Z7 ~2 U9 m把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”
* U2 D) B9 Z- ^) C
! c8 q# w; [5 q6 C8 H添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了
7 ^) T2 f2 O! j3 b4 h6 H2 n2 W# _+ E: S9 g
然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
* v1 A6 u: z+ g1 L/ I. d
8 L) W# C, u& k/ Q2 F再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明
2 b1 C& d, T+ b这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0& ~5 j+ ~% o( i4 f
其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了
$ L7 u1 ]6 t+ ?; j3 Y- \只需要写上
/ F) G- h6 H& J1 I1-刘备
$ K' O/ U# v% L1 J/ Q* x2-关羽
9 r6 ^5 n, G# m3-张飞
, B' S; I0 y6 F6 ~% |. R这样的东西
1 E  m3 c+ p) y% T+ }但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来$ v, y3 [6 c' T) ~6 ~

0 v* j0 [5 M7 a( j& s  ?添加完保存下,然后运行一下修改器+ ^, V0 a  T+ k! E( M4 ?

& N- p3 ]+ g: f9 x! D% Q可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮
) c* X: f9 l8 ~1 M$ ~1 m% K0 Y/ K6 n按钮有几个功能,读取数据、保存数据是两个最基本的功能) X  [' N/ a: {8 J% f4 c7 ^+ T
创建窗体也是个实用功能,本次不讲这个- x8 e* a3 ]. h( Y! F

- D2 h9 y9 o: x; k3 k我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下
: E2 s/ \1 l, Q# h' e% W" h) _5 u5 i
最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
+ w* u5 w: U- G8 c/ y这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里9 d* t0 y. P; ~
因为这里没用到特殊插件,故可直接生成即可
: N! y7 ~5 l7 G9 K$ O! O+ f& c/ X4 H, Z* e+ f& X& Y6 l
1 M" ~$ G/ q( u
最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了0 D, G. Y* H; l$ E/ \6 {
money_114 发表于 2011-6-6 23:22

- w$ ^. ?6 n5 S3 i: X( @# C/ `; g4 J/ C4 B$ \3 C4 C: }
天枫对DOSBOX的基地址添加有问题
) X7 v, y: L0 \' D他想兼容各个版本! `. G" U0 c! s0 v
于是采用了特征码的方式进行定位
/ I& g4 p1 j5 ^% u7 D$ p这种不准确,于是出现了做轩辕剑修改器的那种情况7 N9 l, B; M& R/ \8 t7 K# {

' q: T/ W/ y/ `1 ^9 x但是DOSBOX属于每个版本基地址不同、偏移也不同的东西' W* M' x0 v( {4 P7 i+ m

. t5 q" N/ ]% U- Q" p8 v+ N不过你遇到的这种数据变址的情况还是比较特别的( `& c% C/ |& v. S8 u4 J1 U( j
游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步
8 ~; E: @* h( }0 g8 w6 v1 S
/ Y0 o$ c) r5 x4 o  }http://u.115.com/file/dnszl2u9
6 r! n1 c( P! J軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步 & z$ l/ f. Z0 k7 T

9 S3 ]8 R3 ^8 Y: N9 Y5 K! \http://u.115.com/file/dnszl2u9
1 Y$ d$ K0 M6 B9 s軒轅劍還在可接受範圍内, 超時空實在是太怪了
. h3 E- s' j. @& Mmoney_114 发表于 2011-6-7 12:04

; p5 i% n9 w' [( \9 l1 }! l/ ~
7 k* ^9 r' z/ t我读了里面各种存档9 C& J/ f. |' |1 @, k; ~
就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪
& S2 `5 w4 e7 \从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑
. N& |/ a/ g* d1 C
我读了里面各种存档0 Y  L6 g& m: @* M( q7 }( \8 M
就没那个存档可以让我改金钱的....
  `. _- o. o5 Z) l2 K, g银河漫步 发表于 2011-6-7 19:31

) T1 @- I% w- [/ C0 ?. m你願意研究的話可以試下這個存檔,我已經放棄做修改器了
) S+ f6 |! `8 q' \) M- Y. X7 a# e( {! Q9 E3 A
發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了3 \  I# [; K& h& I# `0 T
确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步
) V: f& s4 r% f# z/ {5 h6 E6 O# l2 d* v* Y/ Q$ N4 y0 Y
http://u.115.com/file/dnszl2u98 |! h* ?2 g' h4 B) H! B
軒轅劍還在可接受範圍内, 超時空實在是太怪了% A8 T: V6 D" u6 a) @4 u
money_114 发表于 2011-6-7 12:04

4 i/ e$ [& D0 o
1 Z8 W) c8 a1 G6 [  B& d" Y非进程的指针7 b3 b6 l0 g) L- X! ~
是模块的指针
3 Q4 G* U0 r8 }5 N6 g: D: h- e1 }+ i: `难怪无法进行绝对寻址
- {: v; A# o! z3 l" E- x0 C7 @暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步 * I, D! K( v( Y- U

5 v% e- {. h* p7 @' l1 y遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂 2 @: N4 u: e# G; l) o
你那個偏移量401D4
7 C' H9 \- `) g7 r# {5 v. E是怎麼來的??
7 S, I* M+ W# n% O$ G+ @$ d2 V0 ?1 L5 v9 Y& h1 M% e" V
可以的話你可以詳細在教一下 7 D) d6 _6 _. _) ]( f% z+ D
找基地指的方法嗎?

签到天数: 652 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-4 19:50 , Processed in 1.082032 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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