EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑
# i$ P' L5 j1 d* p
9 R/ x: L3 E9 \" g首先,DOSBOX的数据不是静态地址
7 H2 u- ?. j3 n& R  a2 v" u$ u* o2 W5 v8 e
我们从最简单的人物兵力开始入手: d+ d6 p" |7 \0 s4 }; i# ?

! M* O8 I7 b! T3 t我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服). q8 V0 q: k1 S2 Q; z# L* A

( v5 @" g0 y; s5 p当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
% _/ H: q1 ?# T& x- e/ g2 y4 b启用CE调试刘备的兵力地址
3 l$ t: y2 c, w( U! N3 W+ b0 d2 m' E$ U3 V$ k" I% w2 T
找到基地址后验证一下
% D+ z: r  Q. s
5 S, e1 r3 l1 I# p+ i  Y现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持; _9 v) j. x9 }! d  `6 @, j

: {$ [5 i6 y5 H% F4 {  c把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”
2 Q# k' T6 p- E" V9 S2 C0 q2 w- _3 |/ A9 @; s* C8 }1 k' c) h2 S% n
添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了
! e) d5 b- o0 B: ]6 q% O7 N0 C( ^: a; F* Y/ u
然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
9 H6 w' I0 }- p
1 |3 S* _; D8 `, t* d7 v# o  B再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明6 z5 w8 }3 m% X& e$ f3 Q" H7 J
这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是00 v  ?2 x( p+ q: T$ F
其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了& T3 ~8 t& ?( ?2 D1 l
只需要写上
  `2 C8 D- A8 c9 H6 L- k0 Y1-刘备
! x" k) L/ H( F$ C  H: t$ w2-关羽
" j  N. R0 T8 n9 i8 B3-张飞
. @$ a, z: y4 `  }这样的东西
! t: ]* r+ O$ J$ a0 B但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来
* `+ @$ k" U: I2 T5 V1 K9 [& q  x! _! A7 y: f6 u' ~
添加完保存下,然后运行一下修改器
1 G* [: j4 Z/ T  B  u& V
2 M: m. s* A* O可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮( K; w) y- ~4 W8 k5 F
按钮有几个功能,读取数据、保存数据是两个最基本的功能
: C) z' F* V5 n创建窗体也是个实用功能,本次不讲这个) w% {* ^3 g) f5 @6 q% O

9 [5 Y% _" s9 V# w+ t, B' e2 a" q7 c0 J我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下
4 {. X8 g1 F. v4 w0 j
+ j" y9 `+ H% D6 L$ g6 I7 E最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)4 g/ P( g+ t1 E  |
这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里6 S% y4 `. N6 F: w) l& e* S
因为这里没用到特殊插件,故可直接生成即可
' Z1 i3 P& p0 V2 m: V2 b, x9 g
. I  p8 N1 {5 d4 {1 ^. R2 p
0 A7 i- V' D/ c1 g5 n最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了
! [3 d. K" T+ |7 ymoney_114 发表于 2011-6-6 23:22

0 }0 W' }6 z( r) u/ V1 c0 B( q) i! m
天枫对DOSBOX的基地址添加有问题
0 ]0 J" q* r2 ]! G5 y5 c1 R0 e1 P) g6 }他想兼容各个版本
" F3 D0 s* g4 R: \" S于是采用了特征码的方式进行定位
% n* s: g; J8 Y- w/ _这种不准确,于是出现了做轩辕剑修改器的那种情况
- ?# v' r  g5 F' r
9 `# f: z" v/ z/ W5 ^/ ?但是DOSBOX属于每个版本基地址不同、偏移也不同的东西  ~! D3 X! O5 U) r' m. M$ n3 d
9 ~+ |& d5 V+ `" F! X* R
不过你遇到的这种数据变址的情况还是比较特别的
& s0 y* J. M/ J* x游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步
: H8 k: f  Y, R* G
# K/ B. B& {0 b6 ~http://u.115.com/file/dnszl2u9* z  X; B. d1 |1 ]
軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步 0 Y# ~8 z7 t) D# S: R! H
( k6 U# v$ X9 v" ^, l; |& ~' _
http://u.115.com/file/dnszl2u9$ s# ?% Y, v: ^& g; x5 h
軒轅劍還在可接受範圍内, 超時空實在是太怪了
- p/ d9 f& C- c7 f6 wmoney_114 发表于 2011-6-7 12:04

2 p0 j$ t& o7 b+ e
" L( c# n& H0 Y* C: S" H+ i1 g- i我读了里面各种存档) k) p( G# u* s
就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪
6 f, w* ?2 }2 q: O2 ], K5 J从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑 5 {" E$ ^! q5 e; p
我读了里面各种存档4 L$ U0 r2 c+ T- I. q: t
就没那个存档可以让我改金钱的....
  O  O: \6 ]2 N3 ?银河漫步 发表于 2011-6-7 19:31
: t8 }. U% _: R* o- \* P
你願意研究的話可以試下這個存檔,我已經放棄做修改器了
' f% d4 I7 V1 A. ^: p* e6 ~0 f+ T. p
發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了" x/ o" H. H: H. R
确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步
/ I* h9 D% s# y1 s* e) K8 o0 H3 _/ H
http://u.115.com/file/dnszl2u9
% S: q% w+ ^; S# v軒轅劍還在可接受範圍内, 超時空實在是太怪了7 s& I% H, Y7 A" l5 o) j3 l
money_114 发表于 2011-6-7 12:04

; Q" o$ ]# G; ~
) ]! H( D4 H; s4 Q5 k  E非进程的指针1 ?, W  @5 r6 K% u  x. e
是模块的指针
; X/ H; Z$ \2 Z! W- K6 h# N4 v; \难怪无法进行绝对寻址- J) W) g3 v- I: K' q$ e
暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步
9 @3 T, ]: b& A  D1 |( x9 U! U5 U- k& j
遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂
, |2 N) s$ Y: V, U  B6 f+ U6 y你那個偏移量401D4; b3 r* P4 f9 P6 L3 n, p# h# @
是怎麼來的??  |) C' y5 Y& V) ?

% k9 c+ `% @" Y/ x. v4 y, \- e可以的話你可以詳細在教一下 1 C$ g3 b$ t, ?. c& t
找基地指的方法嗎?

签到天数: 584 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-27 17:50 , Processed in 1.068359 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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