EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑 / Z& d5 z6 M7 A& s. z5 i
3 P1 }: e/ ]) i* f( H: H
首先,DOSBOX的数据不是静态地址
& z. s) @% C+ `9 l2 w8 l( z4 o9 j6 V# [* g  M
我们从最简单的人物兵力开始入手
* y( g% h& ^. i" L3 e
: B  [5 l! c6 @% }9 u# T( U我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)
; V4 O0 I7 a2 M4 B9 m# `; c" I0 ~' ~8 D9 n/ S2 ]5 E! }9 F2 }
当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
/ i+ T( ]6 d, o" S启用CE调试刘备的兵力地址
6 u  a3 U1 m" g
9 t$ {9 i( f6 ^0 x5 m找到基地址后验证一下8 ?9 i: ?0 ]/ z/ R) v0 {% k. `% c

/ t  ~7 j0 l- \5 o4 Q现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持
7 Y( p! R  {) Q8 E7 X+ E7 d1 h3 k2 k) o( z5 Q$ k
把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”0 V: |; K1 x  E- K

  u2 c0 w" L0 i# X2 O) h( W添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了6 o; C( n! Q) Y+ Q
0 E5 M& I  l; t2 D- h- D
然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
1 y& Z( ]& e$ g+ |2 y% h
9 ?5 U* G3 X6 Z2 p" D, r" N+ [再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明0 H: h* Y' {! Q6 K" H/ Z
这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0
: Y, w: m3 k& m6 b其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了3 V4 `* l9 B. T$ R- f( ~1 Z
只需要写上; p  Q' T' ?8 _+ S; J4 D
1-刘备
- P5 k; F% `% [' Y3 W: I( w2-关羽' S9 i5 l( c$ T: C% o2 A1 v
3-张飞" o9 Y* r) h3 Z! u, O5 f( l' x
这样的东西
% @1 m' j7 V6 [" k但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来# a1 a; f, S" w; N
, C2 L$ u% ~. W& w, ~
添加完保存下,然后运行一下修改器
* y* b  O# \2 P3 e. C
1 H$ c/ d0 X5 A可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮
0 ]6 E) |. d- n; y  ?0 X7 t按钮有几个功能,读取数据、保存数据是两个最基本的功能" ]) H( I6 h$ M3 L2 B
创建窗体也是个实用功能,本次不讲这个
0 \$ `+ F9 y0 l5 Z6 d% q% @; U5 J! {7 C9 d1 X# ~2 [
我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下
% `# V- ]8 C6 J5 }$ Q, L. g! E( x- K0 g5 V9 R7 q* k" _
最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
0 X" u" H% q  _这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里
! x* W- [* s3 i因为这里没用到特殊插件,故可直接生成即可- ?( J4 M( ^$ p; i$ p6 l7 P

6 t" b8 ~* i, p8 p
  _2 {0 Y* n. v& g$ c最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了. m9 u9 O( x; _- f4 _
money_114 发表于 2011-6-6 23:22
& N; q2 C+ w  a7 e

2 H  g9 V5 q/ D0 ]天枫对DOSBOX的基地址添加有问题
- Z6 d) K5 o8 d- v' _; {他想兼容各个版本
+ U- ]* I5 }4 ~于是采用了特征码的方式进行定位
5 _1 A  N3 ?! V* i, S这种不准确,于是出现了做轩辕剑修改器的那种情况
% g/ z- D$ G) M; Y7 a, x
: F% x/ B& o* e8 o, [9 n但是DOSBOX属于每个版本基地址不同、偏移也不同的东西
( z4 }2 U6 m! d2 f2 n$ T" s: n
) F6 u! o- l6 {  |- A% h$ O不过你遇到的这种数据变址的情况还是比较特别的% c" b) N1 r' X
游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步 9 J6 [: @  ?% e3 L" o. _
$ O4 Y/ K! V4 B# {; R; @
http://u.115.com/file/dnszl2u9
5 l7 v/ ^, E+ G0 N& \, B軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步 - [" i5 E' i& Q; P" k) e5 p% r

4 C. l" z9 e7 m' s, a1 ^1 f9 y4 Ihttp://u.115.com/file/dnszl2u9/ L8 G3 L2 U; n" y7 ^! ?
軒轅劍還在可接受範圍内, 超時空實在是太怪了
% G* n, K6 y+ \money_114 发表于 2011-6-7 12:04

2 i5 Y, j' z  q
) Q8 @6 Y" T, [) e7 b我读了里面各种存档
9 p, @" |6 X" y/ q$ P; V就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪) T8 D8 t& L- ?2 A/ C/ J" ~/ n
从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑
! j+ O% l1 r% e# Q7 I
我读了里面各种存档. ^' Q+ p: T5 W0 W2 F; t
就没那个存档可以让我改金钱的....
' f; x  f% x# f$ _8 m2 q% s! G( V银河漫步 发表于 2011-6-7 19:31
$ d# ^: P6 i! W! Z5 y
你願意研究的話可以試下這個存檔,我已經放棄做修改器了! L4 k% ]) J1 |% H. Z( ]
6 V- j' X; h$ ^* o! I
發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了3 v7 S% T" J! j# b# g0 U0 k
确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步 , L2 }, S; E+ N' C5 V
$ v) t/ m- _* t: M" ?; i% X1 D
http://u.115.com/file/dnszl2u9
' ~) p- {; \' d% M- f0 o" l軒轅劍還在可接受範圍内, 超時空實在是太怪了
( c$ `! F9 i( \9 s% Q7 ^4 Y6 [4 r) Amoney_114 发表于 2011-6-7 12:04

6 x: N2 u* ~9 K) r4 w% y' F; ]  c5 o3 B
非进程的指针
- G& l. K1 Q/ ^; V是模块的指针
( W/ ^( M, x7 {6 t  Z难怪无法进行绝对寻址
. Z2 L9 q* s8 P7 s: ?( l# I暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步
6 a) a) x9 L9 a: G$ d/ {
. [  S7 Z3 P: }! s9 m  ~4 f( z遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂 " J/ A/ g/ M' S0 Z
你那個偏移量401D4
; S8 l9 _8 n0 d$ e* @! E7 C' q, t是怎麼來的??$ m/ K3 ^  b- p- P

2 v$ e; g% q  F, ]( e可以的話你可以詳細在教一下 9 Q4 d3 L5 G6 Y. G
找基地指的方法嗎?

签到天数: 475 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-20 23:57 , Processed in 1.193359 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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