EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑
% p' ]' w2 [6 N$ [0 T1 A4 J4 g7 L- T1 E" l2 \% q6 t5 I" |
首先,DOSBOX的数据不是静态地址
$ ^. x) ?) I+ W; I; N" _
! l) N0 V; K7 `我们从最简单的人物兵力开始入手
: H9 g4 x: ]7 j* w* O8 Z
" d, a. x& R  t+ E+ w% }/ m我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)
# w  Y* d# \2 g/ g8 s" K
* f6 Z# E4 S1 r$ d+ h当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
7 Z2 V% _( Z5 ~* n& i启用CE调试刘备的兵力地址
8 h! I# @! L/ Q# [( \3 v
& |; K2 l* f' U+ N找到基地址后验证一下
$ \' F- l, G; R' ?0 ^, w% q4 p
1 V1 N) N3 d/ R  P& r现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持* j. {. D6 C1 S1 m1 W1 v' n) f4 @' c
  \% v2 ]6 F0 `( `
把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”
. I1 c( M$ P% V4 c
! ~1 T" C' T8 E0 b2 Z+ @添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了
; W8 w  `  p( a3 w2 [! h( n9 [. W. B7 d( m# A. P  G3 p
然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
+ W! w+ Y+ @( [$ u
7 E$ f$ f: x5 i再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明
3 Q6 S5 [9 V6 @4 A这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0
# K' Y  A5 m. `: p4 M其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了  J, ]$ \. G7 j8 i/ G0 A
只需要写上
) {: J$ {3 T' a, Q! Q+ s% ~5 N  L1-刘备
- J& l, y# N; v5 C4 ]2-关羽! W# R& F. b( u8 K. H
3-张飞9 y  C0 p! Y" S) s) P/ q2 v1 h
这样的东西
( k7 O* G) _+ F8 E9 r% p6 _但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来+ ?; e1 Y  E5 s% d* L
) U  S( Y9 C; J
添加完保存下,然后运行一下修改器
4 T; A9 H$ y8 K* g; \  ?: O. ]
' p7 O- V5 [* ~1 P. r0 L) o+ e可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮0 v# w" m* T* p: ~$ u
按钮有几个功能,读取数据、保存数据是两个最基本的功能
( x( {9 a5 |, G7 @( b, G2 g创建窗体也是个实用功能,本次不讲这个
) p3 ?2 C' k* V, ]8 Y5 p. n
1 R7 @9 i' b) V我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下
: ?# N+ D) {5 N; l' g% }
3 H, f2 T. q; u4 D) p, V最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
' }% l; K( I$ b# X; o, f+ t' V这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里* j2 R2 \; \3 C$ T+ f# f* H* O
因为这里没用到特殊插件,故可直接生成即可
9 `( n: B$ l3 m' e9 c
4 \/ ~( t) |+ _! Q' y+ z1 v& ~
! I  [4 L! A4 S最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了
& l2 o5 Y+ r  e) W2 Mmoney_114 发表于 2011-6-6 23:22
" `  I. ?; o0 ]/ k! r4 z
8 H1 b2 A7 r: K: W+ Z- Z* v# f6 N
天枫对DOSBOX的基地址添加有问题# N) ?/ C2 [4 G" [! o) G- P3 W
他想兼容各个版本  X, ]- A+ Q) z" D2 t
于是采用了特征码的方式进行定位
0 L4 Q- J0 }# K% f7 D2 ]这种不准确,于是出现了做轩辕剑修改器的那种情况! h; M2 r5 C$ x

6 e; c$ a7 t$ y. K" l4 @0 g5 ?但是DOSBOX属于每个版本基地址不同、偏移也不同的东西0 h3 e, b4 T2 e& O+ m. i; H( T( k
* y/ H: @4 l; s! ^$ @
不过你遇到的这种数据变址的情况还是比较特别的0 q4 |' U" }4 R, G
游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步
6 D; ?- Y8 a: l! S" D0 W
; C6 O( ?5 t) `2 y$ Q& |. Ehttp://u.115.com/file/dnszl2u9. ?2 F& K% i4 V4 t1 P4 `( P
軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步 & K7 ~$ a6 l$ T) m; i
( U' ?6 O& j& D% `/ V! @# t
http://u.115.com/file/dnszl2u9; |  T4 n, R$ d" u7 B1 N4 f
軒轅劍還在可接受範圍内, 超時空實在是太怪了) v. G& N$ {* H- f- W' D9 C
money_114 发表于 2011-6-7 12:04
, B% d8 N  l9 B4 I+ f% N% e- e: k

# I( g1 w; a" J1 x% [我读了里面各种存档
: W* V6 F7 x2 o  S就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪
* o) Q9 ]2 C# g0 ?从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑 . B3 s/ b# Z% Y
我读了里面各种存档2 j! d: ?( K7 y/ r
就没那个存档可以让我改金钱的....' C$ k$ h8 U9 b( ^
银河漫步 发表于 2011-6-7 19:31
0 X; [9 E( d+ i  M' m2 x) j
你願意研究的話可以試下這個存檔,我已經放棄做修改器了  ?2 H7 P" b- U( Z7 z
1 f+ G3 N# U  Y7 N) g
發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了
5 A7 J. P* }, e8 _1 q& f) A% z确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步
0 X5 Y. L* k8 X& R/ h
" G5 ~7 ~8 ]+ qhttp://u.115.com/file/dnszl2u9
, X% Q+ y! N- c8 C軒轅劍還在可接受範圍内, 超時空實在是太怪了% ?4 n4 M2 u) i+ K9 G. }2 `
money_114 发表于 2011-6-7 12:04

/ y$ d. e, t+ I8 l& m  L" H5 A) `$ F) b" f1 N
非进程的指针- [/ `+ x, P/ F* ]7 X* z$ \- k3 |- V& c
是模块的指针4 A8 i  I9 Q; c
难怪无法进行绝对寻址
6 C! Y2 m% s2 {" @8 W7 x; Z2 p暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步 0 Z4 k+ X2 C' y

4 p! f0 V: a1 w6 T$ f2 q% o遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂
& E0 S7 K( y; i* @你那個偏移量401D4# _$ C, `) g' P
是怎麼來的??$ B) I* E8 J' B3 F
* Y8 d* C$ ^2 F1 @. s9 G
可以的話你可以詳細在教一下
- ?' Q2 ~. e5 `+ t  ^找基地指的方法嗎?

签到天数: 428 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-24 00:30 , Processed in 1.085938 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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