EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑 ; c& A  m0 Y+ ?0 ^/ S: K
6 E: H, A% V/ C9 A; g  I1 F8 j
首先,DOSBOX的数据不是静态地址  h# J7 d+ n7 V9 L8 y4 {3 Y4 o
, w3 f0 Y  Q# A; d/ ^
我们从最简单的人物兵力开始入手
4 P& N; h# T6 f. W6 E# Q: d/ h' A5 E; E/ p+ N
我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)
$ l% m: d3 F, N( E$ v& x( N" ^* \+ }4 ]9 ?8 B; ~- ?3 j/ z
当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址3 W4 X* e& G/ }- Y  ]+ h9 T
启用CE调试刘备的兵力地址
9 K- Q% U0 x' _3 A" E/ d- V
, }3 w' v- |& M找到基地址后验证一下' C" P) L. |" C" B0 I( F6 P* b
  u3 Y* _! L/ C4 j
现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持0 n) W! J" ?! W, p, z

5 t  K7 a9 ~0 G0 i. Y把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”' U/ m3 b9 Q4 U% `! [3 z
( F6 W6 r  q- \) z6 U
添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了2 [' G" E2 A( H: ^) }! Z6 \% I0 U
7 N7 X9 g! m4 U. o
然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑. V. V1 r  N: `/ ~

* H* o% `4 x+ S( ~1 Q/ o再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明
8 W# O$ n! B/ l1 g, r  \( ]! N这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0
( p3 m; H) G4 e& R其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了# `+ o8 k/ \! k* |$ m8 x6 o9 F
只需要写上
' Y, E. b  D2 ?* n1-刘备
- C/ J# ~- d  X1 o5 y2 s" Z$ A2-关羽
& N4 U2 m$ h# b, y4 j# J) i3-张飞* ^. A' D/ A7 z" T5 U! m3 |/ E, e& {
这样的东西& v+ q5 }% Z5 W! N/ g
但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来
- `% x5 y- V9 H  ~0 s! Q7 ?" N" @! y" k8 S8 r
添加完保存下,然后运行一下修改器
2 r4 J7 S; }) G: k0 ~- Y/ I; k# q
0 C0 }) P% ?% c8 W0 b6 f0 Q可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮. |6 p7 m7 U% U1 o/ a
按钮有几个功能,读取数据、保存数据是两个最基本的功能/ c0 h! S. s+ H3 q8 {$ i# l
创建窗体也是个实用功能,本次不讲这个4 S7 M2 O. \. ?0 g5 h/ D

& o0 P. `2 T2 f# J- r我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下
2 v8 I0 I2 l: t$ K! c2 c! @8 ?- V; W5 J& W- H% F2 l7 P
最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
- D) _* _% a, S1 u. [+ f/ S' V; A这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里
( q. }( o  m# W& y5 s因为这里没用到特殊插件,故可直接生成即可, a5 ]! a8 x: X+ f% x
, Y! G+ ^: ]* k, F6 [
5 ]  i, z7 ?# M+ p5 \) [
最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了
, ^8 L& G4 N9 s# i7 E. `money_114 发表于 2011-6-6 23:22
2 ^) E" h6 a  ]; c- X

, X  e% ~4 A  j- f: P3 |天枫对DOSBOX的基地址添加有问题
7 O2 w1 d( w9 G8 x他想兼容各个版本
* p7 G, l# t1 |. w于是采用了特征码的方式进行定位0 {) G# X# p- S
这种不准确,于是出现了做轩辕剑修改器的那种情况, Q0 ?0 }! g! k' x1 D
9 K, o# ]. \! S% s3 p" y
但是DOSBOX属于每个版本基地址不同、偏移也不同的东西
5 z- N, q$ E+ r1 Z9 \! }/ L
' J3 Q6 K: g) ?3 c. y不过你遇到的这种数据变址的情况还是比较特别的. S8 ?* ?. ]  g" C4 I: O" g
游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步
: i5 N, M! e/ }6 G
9 l! M, a% b! c) R6 ahttp://u.115.com/file/dnszl2u9
4 r2 f; T2 F  P  W+ u( W" `8 b軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步
% M- R* ]; C' I4 z2 l' S4 U
. S  D4 v5 L0 m+ L$ a7 X5 shttp://u.115.com/file/dnszl2u9
; N- C! O1 h9 u軒轅劍還在可接受範圍内, 超時空實在是太怪了/ f- E. f& y# F$ {0 D: J, O
money_114 发表于 2011-6-7 12:04

8 m" a) U1 l. M2 q* R. t0 R! t* `, B3 b. C3 y
我读了里面各种存档
0 }7 V+ X& n7 m8 L2 M. ?0 ^. x就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪
. H& V! U7 f. K! i4 ~1 I0 R从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑
* h2 F3 [6 \2 O
我读了里面各种存档
1 y8 l  E6 p3 p& d5 ~5 o( B+ R就没那个存档可以让我改金钱的..... k& [- k/ z3 h
银河漫步 发表于 2011-6-7 19:31

. w( L  R/ t& f1 ]6 y2 c& o  L6 z2 {你願意研究的話可以試下這個存檔,我已經放棄做修改器了* y# j+ y5 R$ C) A) y' N/ H( e
0 B9 y0 s5 [3 i' X  S
發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了
- q# O9 q  Y8 b7 m4 f# m6 a确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步
1 J0 n0 I) W- t+ x9 E4 G3 B) [9 @' `' S, }6 U! D" Z7 X
http://u.115.com/file/dnszl2u9
& h' \) u0 S+ r8 r. \- h軒轅劍還在可接受範圍内, 超時空實在是太怪了
: Y: Y, k  O6 a) Z$ t5 pmoney_114 发表于 2011-6-7 12:04
" y# |0 t1 F1 P% {5 |! R4 h

& `9 o) b3 K# I! g4 ^非进程的指针, d  @+ W2 N4 E! G
是模块的指针/ E( f4 g. G. x. G# D
难怪无法进行绝对寻址
  G9 V7 d6 z' Y, ?: u暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步 9 e* q, }+ g3 p5 x
! V( \# Y8 e4 R$ g6 }
遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂 ; w/ P- b1 _. S5 j' d
你那個偏移量401D4
$ R  W. r0 |) Z2 y# e是怎麼來的??
( C. a- M# y& u  @+ E! C/ q5 e* o# ^" I" l3 p
可以的話你可以詳細在教一下 + \( e9 h0 N8 v  b5 d' Q: j
找基地指的方法嗎?

签到天数: 682 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-6 04:03 , Processed in 1.087891 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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