EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑
- m4 W' J( u4 [! f0 C4 I. W+ J" p
首先,DOSBOX的数据不是静态地址
" t! T- F* F; n3 L% z$ A
( X1 T+ G8 t4 ~% c' m: h我们从最简单的人物兵力开始入手
( ]+ i$ r* E" x$ I* @/ U  r/ T
6 t" f- I! L- ~  l( ^0 f: Q我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)
# Q. R3 X# p$ h- c
. B8 h$ R6 L& h* m" p( W当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
8 C- f7 J% Y- I3 a2 @* L  K% y; U启用CE调试刘备的兵力地址
* t9 S, P" V' B$ M# L, a( u5 E2 C# A8 h% t- T8 ^' B; |
找到基地址后验证一下
5 R& @! `. o+ ^4 z) G, d; _2 q5 T3 y" p! L
现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持* O: H: o0 T7 g- W

" \1 X7 ]  ^9 `/ E) Z2 d; J( \把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”
4 u6 ~9 B5 _, ^, y* _5 ~8 L6 y, n" z& g$ k, @" Y" [$ u3 P3 d
添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了
. W$ q+ t2 W) h' S7 O3 j, l9 s
; n  E/ h- d( B" K  }7 Q; c8 A% k然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
2 v9 U6 u7 O5 }+ y7 q
& A2 L) p/ H2 [; S8 k$ k- _" j( v再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明1 o* @0 B: F, N
这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0
3 B9 Z# C5 _6 U5 h! D( [其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了
' b+ m5 m9 p8 o4 z2 B; T8 `7 O只需要写上4 |3 H1 h% l+ `! D# L- E& r) ?
1-刘备
# r; c+ Q' Q. d* v- L5 q( G2-关羽
/ f0 o! k8 ]$ g+ ]; l3-张飞2 O! R' k; L6 K5 |
这样的东西
  f! i& f$ i4 ?- n7 q" N" v5 E但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来
$ S! f: u) k) g7 @, ^' l
% S3 G$ B% D6 G! ?, |2 ^添加完保存下,然后运行一下修改器( R0 {" K) M# q2 y
& W5 I9 {6 l6 Q! y' c7 p6 |
可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮
* T3 O- U4 ^" L: {按钮有几个功能,读取数据、保存数据是两个最基本的功能
& w$ h6 s8 N  V( y创建窗体也是个实用功能,本次不讲这个
% i1 d4 u0 w2 J& s3 ]4 m3 ]* H7 S0 H. g: d  \% |$ D
我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下
5 S% I; U& G% ~* ]5 k$ L4 M0 W8 k/ p3 _, @8 q3 ]8 g5 T3 m
最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
/ V% _! ^0 E5 s) |8 a) D这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里5 k6 y& P& `2 y  Z+ }6 N) I) P4 H) D1 b
因为这里没用到特殊插件,故可直接生成即可
4 v% ?" g2 N1 p3 X# i2 r2 h! n" o% S- L+ T8 Z  {/ h$ N
  ^( q; y& N1 g* H' [
最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了" I0 J& W+ C4 L# M) E
money_114 发表于 2011-6-6 23:22

, `& @2 j+ O+ J4 @5 F
) L$ C; {3 L* m/ r! L天枫对DOSBOX的基地址添加有问题
4 f  z  F9 ~0 ?4 D他想兼容各个版本
6 w# L2 o6 V7 z: J于是采用了特征码的方式进行定位
8 U3 Y  {: q0 F% n" H& e这种不准确,于是出现了做轩辕剑修改器的那种情况
$ _# d8 Q8 e4 I+ D* G( Y
( ?1 ]8 H* r" ?0 O  @5 T% a7 U" p但是DOSBOX属于每个版本基地址不同、偏移也不同的东西
- @6 [6 U& F; |: U4 }+ B6 \9 x. f1 z5 ^* G5 \
不过你遇到的这种数据变址的情况还是比较特别的, p* s( F0 u2 O7 X0 e
游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步 ) y3 I9 Z" j9 e) M# i4 Z( a; s

+ ]7 j2 y/ m. G% \7 D# M6 zhttp://u.115.com/file/dnszl2u99 ]; I; [6 j$ X& e  x! E( h; y
軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步 $ P" o/ N/ @( `* ?
% ?) ?$ ?) ^# Z) O7 j8 n  _! i; j0 X7 {
http://u.115.com/file/dnszl2u96 s( K3 ]5 w. r
軒轅劍還在可接受範圍内, 超時空實在是太怪了
$ R, Q; C* x" i: {" `6 s2 l4 c  p( lmoney_114 发表于 2011-6-7 12:04

1 R, x- o- ]+ ~, G
4 \3 P  {7 U4 @# ?我读了里面各种存档* q1 P5 {( n$ r0 Z* D! j3 P
就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪
9 U( q7 a$ ~5 Z# I9 i5 i$ |, B从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑 6 b4 d" J" [# [/ ]. |5 y
我读了里面各种存档
& K% P  i& X, C; B' r就没那个存档可以让我改金钱的....5 b) H8 h. s4 n
银河漫步 发表于 2011-6-7 19:31
" Y! \  [% z- d* m+ |8 z# d$ n
你願意研究的話可以試下這個存檔,我已經放棄做修改器了
& b4 J8 q& D; A6 }3 G3 n
) `9 F2 f5 k) q發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了
9 D5 E0 g0 a0 c3 ?. g( U; ~$ F确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步
0 v- H) T% Q- ]" W6 Q% d! k( w$ ~) f% R
http://u.115.com/file/dnszl2u9) p5 B* i6 r4 ~. @
軒轅劍還在可接受範圍内, 超時空實在是太怪了
) O( c: F8 e7 \2 z1 _% L0 gmoney_114 发表于 2011-6-7 12:04

, D# V7 ?. {" o5 \) T% p- y# \. u, R# h& g/ u
非进程的指针
+ m! \# o+ a) [9 m是模块的指针1 \2 S) O0 ?% A* H
难怪无法进行绝对寻址
8 N* [9 T/ X: f2 s' A暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步 4 d$ i% @4 ^4 D( n1 ^
/ Z! E  A( _; M
遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂
) i( q5 E) I+ R2 y- _! o( o你那個偏移量401D47 g5 x, V" e) a" u' {
是怎麼來的??4 C" C' W% ~6 B& S
1 M; z" q% h* ]! @- E0 b' ~1 F
可以的話你可以詳細在教一下
  q! P8 W  ^7 _  q7 y: L# b找基地指的方法嗎?

签到天数: 380 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-19 07:18 , Processed in 1.106445 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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