EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑
" W) F! x+ W! j% p* M! z3 E; K/ L7 a' W% w& t
首先,DOSBOX的数据不是静态地址. u" n5 p) Q* B) m5 \! K& `

) `& Y/ f9 ~3 m# O2 G我们从最简单的人物兵力开始入手/ Q1 g$ @, b+ S7 P

  {: ]+ q1 [2 v# ]' f; q我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)  C' f- x$ X6 E" r+ t

  g/ e! T8 H1 h' y" d8 j+ m! Z) u/ |当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址  C$ |% l2 {* ~) d/ n. s" ?4 m) j
启用CE调试刘备的兵力地址
' w7 ]0 ]# [6 l" V# ?! Z$ R( d) N" K( u6 w
找到基地址后验证一下, e7 ^' k, @& E$ ]9 b1 v" |) h
% [2 _4 s% E; r" f
现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持5 v1 V& i/ ]5 r3 Z0 u- V. ]

1 B6 h! L; b+ {) @' B8 F0 k把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”; C8 m' I( r+ k: p3 P

- {7 o: P- u5 y+ j$ b9 Q0 H: W添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了
" U/ R0 Z0 a6 f8 F# Y$ }# |4 M0 D% b4 a" S+ u3 ~$ R+ e4 [
然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
& r3 W; b3 q2 q+ a, h6 u* k/ V, ]3 z4 |" g/ g+ s/ s" u! i9 J2 o
再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明
9 A! T4 Z& R/ @6 E9 f) D3 J7 f这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是06 Z  i0 ]5 I) c9 M
其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了
4 _9 n0 ~5 |2 E# D. E只需要写上5 J9 C+ e+ P6 m  a; ]  c# u0 [
1-刘备
9 \' B* _8 ?/ W2-关羽
  Z6 r# A. V* Y. i2 u3-张飞0 u* [/ D! u0 v' z8 [: K- D
这样的东西% O1 v) Z1 V1 y) L6 t! V8 S$ B
但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来: f6 \) t8 d% t5 g

+ \- J2 q8 u5 C+ N4 {. \添加完保存下,然后运行一下修改器
% H/ G% [+ s. d# n# o
1 o6 z3 K! }; R! |可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮0 J/ ^) H! s; U5 e- v
按钮有几个功能,读取数据、保存数据是两个最基本的功能
0 f4 K8 t) S" |- }% h' V创建窗体也是个实用功能,本次不讲这个4 X! Y$ v, o, j" R: [
& M1 N& p6 ?! `. [* E  g, ]
我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下4 j* V% l% W2 E+ ~& k
; `' ?$ A3 x  i! }! P9 j% \6 A
最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
" b/ F7 r9 M7 d, X这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里0 x' e# a* {8 b9 I  s  u+ N9 G
因为这里没用到特殊插件,故可直接生成即可
( o7 m5 O& Q8 n- @5 K+ N+ w6 ^3 i; V8 h& Y# A' x* m

% ?, M3 S3 u8 ?! E最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

x

评分

1

查看全部评分

该用户从未签到

发表于 2011-6-6 22:13:39 | 显示全部楼层
好好学习·有时间也自己做修改器

签到天数: 1546 天

[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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了
2 E) {$ Z0 P3 d9 ^  `money_114 发表于 2011-6-6 23:22

& R1 f1 l1 P7 H- F0 c4 E; A  |6 u& y  z6 f
天枫对DOSBOX的基地址添加有问题
/ f% I( A* T  P+ ~他想兼容各个版本) N! p9 F' D- V, ^9 O
于是采用了特征码的方式进行定位
* y7 Q1 V* L' K6 w+ j, |这种不准确,于是出现了做轩辕剑修改器的那种情况) X6 I& N, H! B( k) C: I3 |
/ `9 ]4 P3 d- l6 E) M7 w
但是DOSBOX属于每个版本基地址不同、偏移也不同的东西
, l5 {" X' D3 F8 ^
( ?. r2 V3 K: _3 j不过你遇到的这种数据变址的情况还是比较特别的+ C& H2 {; k3 G
游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步
2 t, m7 H0 m6 l, _! q* P
" w) K1 e& V8 f4 I; \  O  Jhttp://u.115.com/file/dnszl2u9
: l; c  t/ w* o9 W5 Y軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步
. h  h3 l' c) ?/ C9 q
; v( |. ~2 k3 @) I( {http://u.115.com/file/dnszl2u97 ~  I6 @7 h0 {2 t
軒轅劍還在可接受範圍内, 超時空實在是太怪了5 ^5 h  d# w) m
money_114 发表于 2011-6-7 12:04
1 w+ Y7 \8 L' u5 S2 C; l; P

7 }4 F( \8 p" h我读了里面各种存档
" P7 J: Q) l3 l2 P$ [就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪
# l/ P7 h+ Z) C  g* h8 Y从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑 $ R5 P& B5 Z# {9 _
我读了里面各种存档# M' Q4 R4 g$ Y1 [; y
就没那个存档可以让我改金钱的....
0 j) p4 K( ?7 L1 T# o银河漫步 发表于 2011-6-7 19:31

1 a3 B1 `) Y. d7 v% M7 T/ d你願意研究的話可以試下這個存檔,我已經放棄做修改器了
- [# E6 ^! }: L7 k# K& G( _2 U9 T, o8 ]
發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了8 R/ P+ ^( F' g2 y: ~
确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步
: v( y9 q- D9 ?) x' E" h
& I) B7 Z- W4 q5 t' l0 W. lhttp://u.115.com/file/dnszl2u9
$ d8 V. ~; _' d8 j( s軒轅劍還在可接受範圍内, 超時空實在是太怪了
- T# [2 y) s7 p; z7 ^9 xmoney_114 发表于 2011-6-7 12:04

; A! `! N& e( l" b  H* S# U; O; N% i9 K0 T# |2 {4 `1 z
非进程的指针
& o8 ]" g6 Z* X! v是模块的指针
: Q+ y1 n6 ^: y难怪无法进行绝对寻址
: Y  m3 C9 r/ l" n+ W- E5 ?0 L暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步
7 R* D' \9 R8 k4 \5 N( `( k7 n, Q4 R# @5 V$ G! u7 r# x
遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂
/ D# y5 U' j, Y( i" m' u7 O% N你那個偏移量401D4
2 F$ T6 B7 C8 L- z是怎麼來的??& _2 z. |1 r& E" A# u
! k0 L' W; [1 n$ k2 V7 Z
可以的話你可以詳細在教一下 ( f$ k1 g" L6 T$ i
找基地指的方法嗎?

签到天数: 181 天

[LV.7]常住居民III

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 09:32 , Processed in 1.109375 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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