EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑 / B2 ]' K! t% o4 K
" j2 a1 y( i* s8 _( S, v: @( P! v
首先,DOSBOX的数据不是静态地址5 w1 X' T. b3 K% q: j' t
: A1 k) t- Y& W6 a8 s
我们从最简单的人物兵力开始入手
! N# ?% F: r, v, h  Q
' {" A" [0 e6 ^/ S1 u, v我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)
7 o# N. x' q: t* i. k& O1 l
9 ~& w' s1 T9 f% ?* a/ f5 Z5 g当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
" x7 w; B5 c6 C# b, D启用CE调试刘备的兵力地址7 s* O9 D6 V0 ?
# v( g/ U* \0 w3 q/ D- k& J; G
找到基地址后验证一下6 C( e# H- a8 P2 B! R

7 ^2 f3 D% n4 r) E8 y( j) j现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持7 i. _3 l. H" e( U

2 n+ A" r7 C* J2 \0 y把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”* o: ~- c: d1 D! r
' w9 t" g. Q# l  [2 X  p' m
添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了
. D! I7 Y* W8 u& v# T
! Q  C$ u3 M% w然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
1 y! O5 B( F$ Z2 ^: f4 O3 G1 ?) B4 |6 {
再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明+ E$ P0 ]! A( V
这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0
& Z) `; ?7 J1 Y其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了
; T0 I# p8 ]( e4 `" v只需要写上
+ T) J: `" j& E0 }" ], Y1-刘备( `3 G! N! p  C! Z1 s/ Y
2-关羽& I- L2 q0 k: N" k/ \( k
3-张飞
& y6 J' w5 W9 ]# R7 Y这样的东西( H2 t* {8 l' S4 B5 P9 g
但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来  z0 O! Y( b* R. E8 @# x8 I

0 M7 y5 x+ S1 a( Q2 v3 g- @: ^  l, U添加完保存下,然后运行一下修改器
0 A7 P) |# h: J% A" }# m
9 m! ?; z& N! }可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮
2 H" L" I$ J% e3 W" D0 N8 k按钮有几个功能,读取数据、保存数据是两个最基本的功能0 ]9 f$ C5 T3 c
创建窗体也是个实用功能,本次不讲这个3 x) l8 o4 @- V, y" M* o

0 k  n8 q) z- k$ w9 l0 E: w3 `/ G我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下; m& q* h) B/ D1 i
5 f* u* C7 r" s( I/ |
最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
( O( D+ k0 b+ m7 v4 n这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里/ k& x% ^) g# s" L* S' t! i
因为这里没用到特殊插件,故可直接生成即可0 g* Z2 b/ B# D! C  k
1 A% C* e+ O7 u6 Y

% R: W; Z0 B7 D7 {' d6 z最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了/ h* P6 i6 D3 O3 Z1 w
money_114 发表于 2011-6-6 23:22

$ k) J. `( ?& j
/ f; y5 R/ P8 o天枫对DOSBOX的基地址添加有问题) `1 A5 p4 i0 F) |. f
他想兼容各个版本
9 ]4 ?% t3 b& j6 {* g于是采用了特征码的方式进行定位
. p  I( o/ Z, j5 ?2 C) U4 L这种不准确,于是出现了做轩辕剑修改器的那种情况
1 d/ D; Z3 \* f8 I+ I0 y+ a
- S8 C. e8 N, H# F# T) z$ J但是DOSBOX属于每个版本基地址不同、偏移也不同的东西
& {. Y9 N* i- J# v# h7 O* `
! O) c! W* F* a1 i8 Y' t* z) w" W不过你遇到的这种数据变址的情况还是比较特别的2 I8 O( S% ]4 K& b8 }
游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步 8 i. X( r9 k( f+ a
* }8 ?8 L6 c% d# B% ^9 [7 w
http://u.115.com/file/dnszl2u94 Q. [6 ~+ a- w
軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步
5 d. m" K8 j9 N/ d6 n! Q5 f5 k% v# O; r- K; a. k. [7 c, |
http://u.115.com/file/dnszl2u9
  U! c( m# d$ q; M0 |6 B, E3 G軒轅劍還在可接受範圍内, 超時空實在是太怪了
% x. S7 d: O/ s; g# y" jmoney_114 发表于 2011-6-7 12:04

  T! e* ^" Z. i9 E: o. C( r" N* g, n1 Y. w
我读了里面各种存档% v% W9 `5 @, V
就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪# a. E6 P1 H/ u, J/ B; w% \3 ^
从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑
  D: f) ?0 Z3 R* I: I
我读了里面各种存档
; Y$ d1 ]& I! B. ]就没那个存档可以让我改金钱的....
1 O( ?( z3 F1 w# c/ h* |银河漫步 发表于 2011-6-7 19:31
9 E1 Q5 v8 r6 B1 P4 R7 U% k
你願意研究的話可以試下這個存檔,我已經放棄做修改器了. A% @& Y* A* V

0 ~0 l9 s3 |5 w發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了: }' Z$ P( _3 b' q. s
确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步 4 r7 e6 e* Y$ H, u' Q3 H

1 [& _% x; q! C) mhttp://u.115.com/file/dnszl2u98 n+ f5 c, x- O* ]9 `
軒轅劍還在可接受範圍内, 超時空實在是太怪了" v+ H( ~  u: Z2 {% O) w
money_114 发表于 2011-6-7 12:04

1 Z7 q3 B  r9 m4 S3 |, A
7 L7 W9 [5 q$ S: d非进程的指针
' k4 P8 e; M/ B! Z7 r4 A  _是模块的指针% m8 o+ p7 n* @  c- }2 I' _. j8 C
难怪无法进行绝对寻址3 _3 h$ |+ T3 t* G% |/ \2 }
暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步
. s4 L; Z; Z( S1 Z1 \) [4 H
& N% D" Q! k1 C; ]遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂 9 t9 z7 [7 Q; {% B( D' b4 X
你那個偏移量401D4  O: m3 h# y' g- d( t
是怎麼來的??
* N' Z' t" h# O) G5 r+ O0 W4 c: V8 a8 o' Q7 P0 b
可以的話你可以詳細在教一下 * w* g; m% o: {; e5 p
找基地指的方法嗎?

签到天数: 522 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-11 19:00 , Processed in 1.101562 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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