EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑
) W: T9 O3 ~: S( P2 a
. J7 e0 G( V: D2 w' ?- `首先,DOSBOX的数据不是静态地址
( D5 P! z' f* G3 x
# }) r+ E4 z& Y( J6 ?# @6 |我们从最简单的人物兵力开始入手7 O7 a, ^' K" ?$ m" |# M

- S9 Q( j. e  z" ]! J我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)& ^. B( f7 h2 f6 i2 t
, o2 C; u8 U7 y  n/ o7 t" u
当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
- F$ I1 @6 Z9 p4 D  }启用CE调试刘备的兵力地址
; J6 s8 l" D; h- [& W. {+ @
4 j, P2 Q! ^# `找到基地址后验证一下
) d) U$ ]  L( i4 x: ~( ^. G7 V  L
# P0 c* u$ O4 @1 Y/ o现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持0 n6 c& G+ M4 x7 j
/ R2 c) T0 F, H$ {/ G8 y
把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”0 k" }) A/ b; I

- k+ r) e& ]/ m添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了
6 m0 i/ P$ N; Y- f- }# ?/ @( R* A
然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
; D8 k# I% x0 Z, r. Q# G' Q+ i( s  k  ]+ g2 s/ _
再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明( D6 B+ N# X* E: |! v+ J. i. o
这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是01 w7 t9 A4 D% p  v
其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了
) p8 P2 w' X8 a7 D& q只需要写上
9 p8 M; J" \1 B7 T: V. O" @0 L1-刘备
- N" \& L7 ^8 B. r* |2-关羽: v5 c9 S* g# A1 E) W
3-张飞
1 R- s8 u, b; k2 V. E; b这样的东西
, D6 k: S- ?( j0 m但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来1 |" E( z' h5 ^2 [4 Q1 d
: t* I: b+ @: L" g, V/ l: f
添加完保存下,然后运行一下修改器' W: J& @* j' D5 f' Q0 f1 u: ]" ^

% z6 C& M/ D" p! y& l可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮
2 O, B5 X; S; p5 K# x9 G按钮有几个功能,读取数据、保存数据是两个最基本的功能' _: u% V$ O8 |4 w- o% O0 G
创建窗体也是个实用功能,本次不讲这个$ m+ E# C$ ~* X9 p  r8 I/ m8 A
" V0 s) |0 K( F
我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下. Z7 s$ i. P4 ?' {4 \. L1 b

) R. [3 M! f& P- f' S: p! ]最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
" p- |" k9 e* o) ?这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里8 f" q+ r1 L: l
因为这里没用到特殊插件,故可直接生成即可, x0 o  X5 {- E! p

" p  t; s: E* I3 a7 {9 w4 l4 f1 x' n# e, @4 _* V% a1 n* x8 k
最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了6 d2 n, i; e( W  \5 o3 @9 ^
money_114 发表于 2011-6-6 23:22

* i8 D* w( f% Z9 i& U' o3 S% |
0 V* Y$ l7 \, _3 m; h天枫对DOSBOX的基地址添加有问题$ D' B) w* V( \/ p) X, T2 t8 F/ |
他想兼容各个版本/ ^% X" V" H) l" U6 X. V; M! W
于是采用了特征码的方式进行定位6 D: w3 C3 @. J* H. t5 B# K
这种不准确,于是出现了做轩辕剑修改器的那种情况' H1 h% v% r$ j( b* R* f
, l3 M, S- J6 S  O8 a
但是DOSBOX属于每个版本基地址不同、偏移也不同的东西; W: b' |$ ]# I# j1 G

+ d# P. l; O% C- j不过你遇到的这种数据变址的情况还是比较特别的
0 [% j5 y3 @" D1 M# D游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步 8 Q6 L6 i4 r8 _
) `; x6 f4 [/ b% j8 o+ I4 U% Q
http://u.115.com/file/dnszl2u9
) q  A; P& K# [6 X# ?6 O$ G軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步 7 G5 `" g- K+ D8 D+ C
% y" d2 U3 ^( s" F# O) ]+ f
http://u.115.com/file/dnszl2u9
9 x2 j/ s( K0 f" e3 d) y5 z& L軒轅劍還在可接受範圍内, 超時空實在是太怪了8 @# f2 U8 \) w4 p
money_114 发表于 2011-6-7 12:04
$ J/ g- n3 M9 d; V, S1 M
% F: W2 f) ?/ A# H+ G0 m, N% `
我读了里面各种存档
" T' k' z& F! N  m7 z( L就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪; t( ~7 y! R/ X" h
从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑
" O' p7 S; E' }; @
我读了里面各种存档
$ h6 ]0 E6 _2 M- A9 Y就没那个存档可以让我改金钱的....
- |' d0 t) |4 x- l$ V6 Z5 G) c银河漫步 发表于 2011-6-7 19:31
2 N0 e2 g% w, Y" z" k6 p
你願意研究的話可以試下這個存檔,我已經放棄做修改器了
( q! s% Y: D* g/ V$ Q  k+ `' m* w6 a/ p
發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了% t1 l7 P& G) t1 G" M; c% Z: D
确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步
8 l8 m$ D* ]: ]( Q( l9 w8 _
) {9 \0 O- ?3 V* p% D; ghttp://u.115.com/file/dnszl2u9
9 H+ t- Y3 ?% k軒轅劍還在可接受範圍内, 超時空實在是太怪了  V* q8 D* x" j& g* `
money_114 发表于 2011-6-7 12:04
$ E0 h( z4 e! q* N  f+ e6 o7 x$ e0 Q

0 C. g  a2 J" E$ e非进程的指针6 O4 ~+ D0 o" |5 ?5 L% v
是模块的指针
4 P8 _. h: S" G. w3 l* j& [难怪无法进行绝对寻址
7 c+ e& d2 S+ M" M) \' K' `9 Y暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步 0 r& g! M% H' O
! G3 i4 w* l* m! ]% o! [
遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂 - }7 g  }, N. f8 v: J, D
你那個偏移量401D4. P% x: z  ?+ p1 X$ x% F
是怎麼來的??; e% T$ z  X' F" D- l5 z

& e" c* p& x" `% ^7 g7 b可以的話你可以詳細在教一下
  U) |+ O8 Q# u2 L- A9 B找基地指的方法嗎?

签到天数: 694 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-17 04:43 , Processed in 1.090820 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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