EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑
# D5 m& X& Q* t7 K0 g1 r3 z$ u' k
首先,DOSBOX的数据不是静态地址
8 u$ f7 l1 B6 m; s( A( n4 c6 h
) r$ G7 `$ _: D9 f我们从最简单的人物兵力开始入手
6 T/ x7 C9 W, d, w
5 x* ]0 X1 {, z3 g我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)# a. E  `- B' t
: F8 L: Q4 q+ d* Q
当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
9 S% t2 `3 G" Q( A  d启用CE调试刘备的兵力地址
1 K; d) y' {) R( j- |/ L+ g3 p
! }$ Q" p, D: z8 o( `  Q# r, X9 ?找到基地址后验证一下7 X2 l- L3 m5 F% n# i5 W  _. V3 G

  p0 S/ S7 E8 X( U现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持
( G( s& ?7 r( V
# j- P% I1 L$ t! L把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”
5 o' q) d1 T1 r6 z
2 M5 C2 G& r- a% b3 ^% p添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了
. z: [' X& `5 _  n& V
, J9 F4 O1 ~2 R; _) E$ R7 W: Y然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
8 B$ V* b( _& D# U
4 k9 A; o- m4 K! n- J再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明- e1 L3 u3 X: B+ y/ q
这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0- O4 o3 I7 a3 Y: N
其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了
, Q. U  u) _; l$ L( r只需要写上. K% S& M9 C! Q* b
1-刘备
2 z+ X, O- r6 c6 ?, a- ?- Y/ s2-关羽
4 Z7 Z$ f! G, S/ M; t4 `3-张飞
8 Y' D" ~! Z" K/ y" T8 |& j这样的东西1 j: Q) i& L2 b$ P5 X' p
但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来
: N( u  w6 g) b1 g, j( e: \' g$ e* X" v* w
添加完保存下,然后运行一下修改器* K9 G9 t! o5 @5 N' V* \
' N9 u% S( ]7 p
可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮' H7 C: n' b5 t! R% K' E% o# B6 [
按钮有几个功能,读取数据、保存数据是两个最基本的功能0 X5 u0 g5 t3 w! F- v7 q- ]! Z
创建窗体也是个实用功能,本次不讲这个; l) |/ K3 a1 o; v' l" H
. L! \9 r/ I& F, @, ~2 ]
我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下: H& @% t4 p  h0 p7 z7 ]

6 N3 g3 v$ P2 \. u最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
7 B6 V: [, M9 l( X2 k. q这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里4 N7 ?% w+ ^& ]( m  F
因为这里没用到特殊插件,故可直接生成即可9 O% `+ v; Q9 u. }% P. z! E

9 {5 U7 m* G; Y2 g  J" r
6 j5 W/ }" m. ]4 j( `% c$ m最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了
# N! |% v+ R: M9 J0 f/ Tmoney_114 发表于 2011-6-6 23:22
' V, W& ^: a0 g/ S* X
; U; X3 T6 j" u- F, V# i
天枫对DOSBOX的基地址添加有问题
* \+ B, C. N' ?* F: E他想兼容各个版本
. S- X2 s+ T0 y) Q5 ^于是采用了特征码的方式进行定位0 R6 L3 K, m4 g/ \
这种不准确,于是出现了做轩辕剑修改器的那种情况
( C, d1 }) {: p' k- [) h9 j( D" E
9 z5 E4 H/ \- m6 R/ S0 s3 E& y但是DOSBOX属于每个版本基地址不同、偏移也不同的东西
! r8 C7 K- [8 K9 P" \% T$ g( y9 w
- J1 A  p9 H4 o不过你遇到的这种数据变址的情况还是比较特别的
7 w! j$ j4 u; P6 T$ S. [3 T游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步 - _8 @$ w& V2 ^

( D- U0 @4 K0 A4 O! xhttp://u.115.com/file/dnszl2u9
8 a. g' |+ }' H) S軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步 4 z" ]2 A8 ~' M. _" t4 P6 V2 ]* z
) r# v% j" I* x0 m
http://u.115.com/file/dnszl2u9
7 H4 k: g6 N. Y$ [) V軒轅劍還在可接受範圍内, 超時空實在是太怪了$ f. @- E6 q; P8 p# i3 |
money_114 发表于 2011-6-7 12:04

* B. Z+ G, ]  o3 l6 J- J1 ]; B6 P" l# Y$ o
我读了里面各种存档8 w- o1 e2 _+ V8 a8 t* x* A0 c( D
就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪
$ M/ d" M2 E; L从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑 + s0 [) n$ Z0 z: K
我读了里面各种存档( U, {" V% ^0 i  D. A0 p2 u
就没那个存档可以让我改金钱的....6 F+ H5 f6 M6 \. n2 ]4 U
银河漫步 发表于 2011-6-7 19:31
7 x) F6 c  b: N$ S& @4 a0 J% p
你願意研究的話可以試下這個存檔,我已經放棄做修改器了
- @+ c7 ?0 V4 H, C& Q; h. D7 u; g8 @
5 H) T  e* |- R發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了
( ^7 k" _$ @* P+ ^/ Z6 q确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步 : x+ D4 N5 @2 F

. S# A, }, I& Y" i- z! K  X% phttp://u.115.com/file/dnszl2u9' ?# u8 G; m* E# ^# G
軒轅劍還在可接受範圍内, 超時空實在是太怪了
4 W9 t4 s5 \0 F- T2 Y5 ^money_114 发表于 2011-6-7 12:04

9 ?/ j* M8 `8 O3 j/ o1 c# V; k4 n' }$ t  x* k
非进程的指针
/ }4 c# \( _. X, Z是模块的指针" a+ v! ~7 H+ U" K# j# @3 y6 Z
难怪无法进行绝对寻址" k$ t4 K. i) U; E( N0 J
暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步
( D* ]. Z8 B6 G, y4 N  H' h
; z: d( h- z# b# |6 H遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂 9 S. b: T" R0 v" W, N) C& G" K
你那個偏移量401D4
( i, A" M: i6 v是怎麼來的??1 |" ?/ K3 i6 w" U2 M5 D3 u

# k* a! d& e8 f- @4 Q. M+ b& L可以的話你可以詳細在教一下 0 o8 C) i4 i1 D* ~! ?" t
找基地指的方法嗎?

签到天数: 666 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-18 17:39 , Processed in 1.097657 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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