EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑
- h% J- F7 n9 Y* \* s5 E5 s  _# A0 h4 F+ j  F. A/ x
首先,DOSBOX的数据不是静态地址
! a7 Z. U; f7 L  C/ u
: ~! f6 D& w4 I! D3 {; i我们从最简单的人物兵力开始入手
9 v% [7 y6 P5 G  e2 q  C
5 P! ?' N3 I4 ?7 {, |9 {: U1 L( g我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)9 e" m- x& C8 ^
! r2 I# _9 j5 j+ S1 I' t
当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
# e' W4 c  h: p9 J启用CE调试刘备的兵力地址1 i- ^0 l7 V3 q0 i
9 a) ^3 @5 C% E$ I& G3 p% J" {- B/ i
找到基地址后验证一下( j' K2 _% K3 K* C- N
$ Q0 o# q6 \& w- _
现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持
3 s2 p8 N. t! }. b! m7 l6 P5 k9 O$ E4 J8 U& T2 }& y
把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”
0 n" V# ^9 O% @2 D: n% e( v$ U( q  Q( i- _" P1 n$ X$ ~
添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了
' ]/ B" A8 Q5 \5 E8 b; o
1 O' @# P# q* `然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
2 B6 x* b- v, M% T( z0 y5 S3 t: E3 M7 a& W* S, i2 ]
再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明( ?+ D' P+ j" w! |; j. T; R
这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0; X  P" Z5 e0 E, e
其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了# A2 X1 C' j/ T+ W: e
只需要写上
6 \( Y% R8 |4 J- P0 P3 R8 Y1-刘备+ g7 H8 q; z- q" g+ `; E5 c$ M/ b
2-关羽1 ~* S$ x+ |2 F/ `  [: \. b* P
3-张飞4 T: l% I3 l- r5 j# z
这样的东西' \! z9 ]& W( F0 k' i
但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来
+ T! [- q1 j) o$ ~  V
/ G6 R$ b- ?' y9 o7 _7 o5 a添加完保存下,然后运行一下修改器. k. r9 Y0 u( W
6 G4 C( d) Y2 a2 R
可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮
" f7 I) L* f" s: h" X按钮有几个功能,读取数据、保存数据是两个最基本的功能) d! R: X6 [, b: Q1 r# j
创建窗体也是个实用功能,本次不讲这个3 Z$ }5 H7 T8 P; w
% ], ^. L( }. T+ U1 }! j+ S
我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下
4 r! a4 M3 h9 N2 O1 C
; L3 A! I( z  Z3 g. P3 i最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
* h( i( F: }, h这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里
3 G- R# U3 J6 g* ?/ J6 |5 L1 w6 l因为这里没用到特殊插件,故可直接生成即可% C9 |' C5 w6 R7 u" k& J

' G, O2 k& [' o; N" i( P8 r1 y: @7 K' f! q3 y; s1 U3 E6 \$ A# p
最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了+ }8 d/ A) Q2 X2 v4 X9 y
money_114 发表于 2011-6-6 23:22
% ?% D5 L  ?& \: u
; U  S- \: b+ c1 K) S( {" N0 ]3 m* R
天枫对DOSBOX的基地址添加有问题2 Z  e* ^  X, Z* L; @3 j  ~% b
他想兼容各个版本) P/ D5 b# z8 h- e3 [- {5 Q. y
于是采用了特征码的方式进行定位$ x- T5 i2 y% J3 i, z- D
这种不准确,于是出现了做轩辕剑修改器的那种情况
3 M! R2 N" Z2 u1 x, D3 `( _: s9 a# O$ c! |& W, a! t6 K6 O, b
但是DOSBOX属于每个版本基地址不同、偏移也不同的东西
7 q7 N' u5 E+ j% I& X
- T$ I! R& F; U. C4 \* z+ u不过你遇到的这种数据变址的情况还是比较特别的
& K( L* R: A0 k# |游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步
1 h, _; G8 `& D6 d3 [; E
: w" s9 D3 L, M7 i4 Qhttp://u.115.com/file/dnszl2u9
. b; ~1 I- R# `軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步 9 c% z  \8 C! \: ]2 j

; p$ h7 Y! ]3 i, u8 w' Ohttp://u.115.com/file/dnszl2u97 R- y! Z0 ?3 Z. a! A! U2 d4 l
軒轅劍還在可接受範圍内, 超時空實在是太怪了6 `) H' P7 v  L0 W' F0 u7 J
money_114 发表于 2011-6-7 12:04
/ s4 P* q8 q5 [( t6 |' ~+ [

6 L( R2 N: H' c- |' w- Y我读了里面各种存档
- @2 Q4 T: y# M* Q就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪8 n# {+ f( M* M3 _$ l) U9 H! g; F
从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑
1 m# p7 [: G, |- r: e
我读了里面各种存档
$ C( r5 g0 e; W6 M就没那个存档可以让我改金钱的....
4 }( B% e, ^( |1 O银河漫步 发表于 2011-6-7 19:31

4 R3 J0 I3 U9 D& j4 K7 x$ c& O' P你願意研究的話可以試下這個存檔,我已經放棄做修改器了4 Y+ w, X- I/ t" d9 L
. W' F! A7 ]2 ^( K& w
發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了; s  z: W: n4 N
确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步 $ z9 F$ U+ F: t0 `5 i

! W& e2 j. U5 v3 _http://u.115.com/file/dnszl2u9) @) h( k% ^; ^. x; q
軒轅劍還在可接受範圍内, 超時空實在是太怪了  l7 u  }% ]- H4 X
money_114 发表于 2011-6-7 12:04
: f* L! E' Q8 J  L4 Z) z% }

' Y& ~  j: u; u5 z+ R: M. Y7 x) k非进程的指针
  P: h8 Q5 n+ l3 [3 S是模块的指针
# `  ?6 Q. b1 a难怪无法进行绝对寻址; a2 J6 D; c  v% c( ?/ H7 @# ^
暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步
8 y( N/ v+ n" l1 [' Y2 J
3 M' Z( I) X( I' {* ?遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂
! V" b7 Z2 l" S4 {7 E你那個偏移量401D46 ~' x* `. s" `+ H. m. H4 \% N' b
是怎麼來的??
! T  V; _: v, E8 }7 g
) q9 U' L0 V7 k9 V" F& p可以的話你可以詳細在教一下 & {" ?* A4 O, l* `) R! v7 |0 K* @
找基地指的方法嗎?

签到天数: 389 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-2 00:40 , Processed in 1.091797 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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