EMU618社区

 找回密码
 立即注册
帖子
查看: 2797|回复: 16

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑
8 ^* z( ]/ ?! `1 x( f
3 `& x9 y7 \; y- u首先,DOSBOX的数据不是静态地址! Z% w7 g6 \& H9 b+ `2 U' N' b
: b4 B0 v& x" p- j% C! W7 t
我们从最简单的人物兵力开始入手
' O- X/ f! z6 C6 ^+ s" F$ c( Q0 g2 G3 Z( d4 h0 j3 h6 V6 y1 R- R1 }
我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)8 [" h1 S2 R7 f- n& y5 Y6 F

6 a0 N+ G0 V& K, L) G+ f" X+ s当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
9 x& q" M% e! D# k启用CE调试刘备的兵力地址7 p9 ?+ b# S" A

/ M# @5 B- C  p; J" h5 F找到基地址后验证一下
6 N' w+ `: h% ?; D$ T( L$ k) m
8 `" f' w4 |6 K* r- R1 N  {1 i现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持9 s; G2 l  Q6 \# o& ~

/ ^: V6 n' @- k6 {2 C6 i把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”
8 j' m. t) h. |- O/ [' E
  v* _! h/ ?' d  Y1 o6 e添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了
7 ~8 u" b7 X% M. h) t& y" |* W9 Y0 J: r* s7 l4 o
然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
$ T. D" Z$ M3 N$ ^0 E
5 f% @2 |/ L* D再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明
/ `+ O% g( |) l. `( K2 a这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0: F# Q4 a# ?2 _& D- n( C; v
其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了  f' l3 I+ w) h7 \9 G- b* u
只需要写上
7 T6 f% ]4 D2 D% I0 n; Z( E1-刘备+ q" Q3 b$ N! s" p; G7 \; T
2-关羽
5 M+ R1 Q; _( S; a3-张飞
& `4 c# J7 _+ X1 B6 i5 S- p4 v6 ]这样的东西
& p$ P& p/ e4 K" y4 ]& T; m但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来
- G- d# }# u0 D2 |& e# C5 a6 L" u1 `# ~9 E2 F9 Q
添加完保存下,然后运行一下修改器3 m2 V( ]+ N3 J! X9 `

9 O9 g. \0 p% Y, m可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮! I! B% Z; e! I
按钮有几个功能,读取数据、保存数据是两个最基本的功能
) v! s$ t5 e3 \4 L' r) [& m3 L创建窗体也是个实用功能,本次不讲这个: y4 R0 h* I  T; N! z' d2 _6 ]. h

) u9 P1 [* w4 g& l' B) D8 v7 Q5 L我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下
! w  e) h2 l! p2 a" p# w& c$ h, L) q" _
最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
# C# w8 K4 U7 ~6 ?" o这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里5 Y; a: \% V9 d# G% W. b! p( V1 A7 ]% N+ i
因为这里没用到特殊插件,故可直接生成即可
1 Z: _( `3 {% U( S
7 ]9 v0 T* F) K2 \+ }- T
3 @$ A6 P7 |3 z; \2 m. y最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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 ?- \8 g- a* Lmoney_114 发表于 2011-6-6 23:22
$ m; f' L8 Y! {; G/ W1 a/ Y
! f+ W  P4 a3 z( Q) k9 v
天枫对DOSBOX的基地址添加有问题) E: C3 T/ J7 [
他想兼容各个版本2 S9 p$ u; }  C+ ^/ Z3 H8 T5 o! I
于是采用了特征码的方式进行定位
) v( ~  g6 ?3 o4 M. Y+ g这种不准确,于是出现了做轩辕剑修改器的那种情况, d" _% T5 ]) ^9 b

" U7 F8 X0 H2 U- L" I$ I; I( g但是DOSBOX属于每个版本基地址不同、偏移也不同的东西
. z6 y+ S4 `7 M1 O* f& s; G! E- g  M8 X  N$ O: I
不过你遇到的这种数据变址的情况还是比较特别的
) [' @$ r8 f  d( j游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步 9 r% W8 n' h; R5 y' l

; ?7 K% ^  }: a6 }http://u.115.com/file/dnszl2u9
* v- z- |* }! Q, a, Y- F: c3 W; O軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步
5 ]6 p* @8 [0 T. q, W+ @6 T) y9 U! _7 N
http://u.115.com/file/dnszl2u9( T" A% J/ r8 [6 ?- k
軒轅劍還在可接受範圍内, 超時空實在是太怪了
( q/ c3 {7 S' ^money_114 发表于 2011-6-7 12:04

. ~" G0 P( N( `5 J
  d) P/ y' t+ E7 w) u/ v% _我读了里面各种存档: W9 z8 m. W# @, m
就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪
7 [0 ^; {) n( w从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑
9 T2 T# J% ]1 ~/ Y* S; r6 x( i9 C
我读了里面各种存档
* U2 _. f/ X+ L就没那个存档可以让我改金钱的....
! ?, W# A6 F/ Z( u' E5 C/ u0 d银河漫步 发表于 2011-6-7 19:31

; G# u. S% w, H- B: p你願意研究的話可以試下這個存檔,我已經放棄做修改器了
& _+ l; p8 L  w3 n2 g: R
; s/ l! K, [: _5 a發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了3 h9 w$ X$ m* l" V' g
确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步 0 c$ U: W$ H2 `5 ]& ~% y6 e

4 }. J) M4 K) ~$ [6 a4 Hhttp://u.115.com/file/dnszl2u9
; D" ^/ ?. k' P: V- Y* J! t軒轅劍還在可接受範圍内, 超時空實在是太怪了
! T8 `7 J6 Z7 y: K/ t% A# d* Nmoney_114 发表于 2011-6-7 12:04

9 Q$ L9 A* y5 p
9 r: L6 U( l  C# D% ~! `' J& F非进程的指针
5 ?& U! u. F  Z2 D) c是模块的指针8 J8 v$ S# [/ }: h- Q' x8 |* [
难怪无法进行绝对寻址
9 j- @% j" }, s; k% r  d暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步 1 W: X5 @, m! j
% K1 G* y) a' C+ k0 f) c2 H
遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂 / X- N. P/ |) D, T
你那個偏移量401D41 Q2 V4 q9 j- a2 Z2 J
是怎麼來的??1 Y2 k# i7 a7 \
9 f- n) A$ \2 f, f" Z% f6 P5 z
可以的話你可以詳細在教一下
4 a$ f& [: d" M找基地指的方法嗎?

签到天数: 440 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-3-13 23:47 , Processed in 1.119141 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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