EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑 7 E' x1 B$ N5 r0 J0 T

2 u5 @3 U( [3 B首先,DOSBOX的数据不是静态地址
3 }1 W' g/ {, K4 c  _$ p/ v7 c( S
我们从最简单的人物兵力开始入手5 R) G; f5 T( v, b+ {
& z+ s. U1 D0 Q. T
我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)
7 J; b$ u% v; C- d% h6 d
* n% r! f- p/ s3 ^3 N当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
/ I& h9 y9 T. o( K9 k, T启用CE调试刘备的兵力地址& U. s1 {2 ^% b) Z/ o& `; `

3 t) Z1 v' }, B% T$ C8 r找到基地址后验证一下
. u, I; ^9 }# ^  J3 I
$ I$ `6 v6 V# B- m) T2 g现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持
% E3 ^$ L! x' k' B( n% g- P% _7 `# F& q( \" K4 |! r8 B
把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”* D) n* X3 q. g

' X) e, ~5 p" B. ~) q% n. ~; i4 j% m' f添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了
! X* a" n* I: j1 Y- Y% W! ^& ]( A/ b4 T7 M" m* M0 F6 `- [/ ^
然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
0 ~6 v) j4 B1 _& V+ p  W- I4 N
) c: E  _8 h- Q* F2 b  i5 X再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明, m3 u' W! r, h! B
这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0
& I/ I& B- L, j- x; E9 Q$ U7 u其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了
, v; x& R& c5 w' l只需要写上1 I6 c1 K) x- f2 b9 }6 Z3 k) v
1-刘备/ `% a5 w& k- m, P" e' ?
2-关羽
6 `1 O: f2 F. V- W( V9 D3-张飞" m! {" A) C& I. j, G- {8 C
这样的东西
# ~+ F& Q0 S, A* T+ C/ x, S但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来7 {4 L6 Z) _+ F

& [5 D4 G7 d' m% Z; \: I7 K添加完保存下,然后运行一下修改器
9 y  q0 ]! a( P$ f
, g7 h, M( d9 e# @可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮
& y3 V$ p: Q% N- U' H6 Y3 `5 R按钮有几个功能,读取数据、保存数据是两个最基本的功能' d' z4 l6 `9 i: q5 l& R2 F
创建窗体也是个实用功能,本次不讲这个" R9 E4 R4 [. d* f' f/ |
, l- X! }( H4 f
我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下
( Q3 b6 v9 U9 i- ?8 G
9 ?" m9 M2 s) `8 d最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
7 q: H, }1 @9 V9 r这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里) C* C2 G7 s4 z, M5 I) d: N6 H9 ?
因为这里没用到特殊插件,故可直接生成即可. \4 w) O- o9 r% ~, v# j

# x3 c) I& T% ?& Q, Q
# D7 t2 q' C. S% k最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了& i# P/ b8 m9 c7 d! f
money_114 发表于 2011-6-6 23:22

6 B: p5 B% K/ i5 r; g' e
2 J; x. L4 h! x  y9 y( R天枫对DOSBOX的基地址添加有问题2 S, T) P1 ]8 d2 |' e5 h& w
他想兼容各个版本
! H  I" n5 [9 y! C$ W于是采用了特征码的方式进行定位
8 `. U7 [+ t) r' Y6 x这种不准确,于是出现了做轩辕剑修改器的那种情况3 U3 P  N/ O9 v. J" X9 C+ m

  ]7 z. E4 x9 p; `: _% C6 }但是DOSBOX属于每个版本基地址不同、偏移也不同的东西
- x( `$ s; W/ j/ ^: u3 o9 p
7 M# p% U2 u3 y; e, d+ \不过你遇到的这种数据变址的情况还是比较特别的1 |: w& x5 Z' R: h2 e0 Z8 p: Y
游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步
  ^+ B  d$ M+ u) [1 [/ K
5 M4 y+ T1 i0 m! i9 i5 r4 x9 Xhttp://u.115.com/file/dnszl2u9
$ V; }5 `. u$ m& J軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步
! E# M. [/ \( I: M+ N3 L, m5 D9 P9 s2 k9 D2 P' x  r# J
http://u.115.com/file/dnszl2u95 o# v1 E5 @5 o1 n5 q
軒轅劍還在可接受範圍内, 超時空實在是太怪了2 o. \3 Y( e+ j2 e. A
money_114 发表于 2011-6-7 12:04
/ `6 i0 \' J  t: E. P
7 q, k6 L4 b! [+ ~
我读了里面各种存档: X- r8 Z: Q- T4 b3 z8 `' Y# j( G
就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪
/ Q) |; R$ U; |2 [" E# a5 O! b% z从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑 4 D( h4 P- a) X9 ~2 w0 L
我读了里面各种存档
. z8 x5 L6 y3 ]( A2 Z; O8 m3 u6 W( Y" a就没那个存档可以让我改金钱的....! Q4 K& {7 ^  y; e' z
银河漫步 发表于 2011-6-7 19:31
+ s  r  _3 U7 O/ w7 z3 J( U/ F. J
你願意研究的話可以試下這個存檔,我已經放棄做修改器了: c/ N; u3 J# y* b2 a# \
  q, k3 I. ]" y6 W# M0 H8 ]
發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了+ }5 h3 [% h' V3 b$ s9 M
确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步 # P) Q1 n8 o9 i

" t8 k" Y7 k( l& ?0 I0 [http://u.115.com/file/dnszl2u9) |! T6 o& H: {5 N" l
軒轅劍還在可接受範圍内, 超時空實在是太怪了. `6 q  K) @. z2 k7 S/ d
money_114 发表于 2011-6-7 12:04

$ |) q1 O1 h9 \! X8 u& j$ A; F) _$ x$ l; S
非进程的指针
7 w4 Y8 B' v3 U$ c# D! ]9 l是模块的指针
/ I* j: n! p9 k难怪无法进行绝对寻址8 Z; O4 e$ Z  E
暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步 0 w# @( ]- n* H  a& ]
& D* v* G" M- ]4 ^; f) a& w7 S
遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂
) @2 }( B% S# r& C9 c你那個偏移量401D4
0 `3 p% |- A1 ]$ h" k0 s. r, W是怎麼來的??8 o0 x8 _. B( S7 i# A
4 C: a& S  t# ?* s9 b: T& A0 u
可以的話你可以詳細在教一下
( R. \% F: f: x% X找基地指的方法嗎?

签到天数: 380 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-19 06:38 , Processed in 1.086915 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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