EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑
, o9 Q& M2 T  F* @! I8 W5 O4 r$ A* C
! ~' k& p6 r" o3 d, `7 u首先,DOSBOX的数据不是静态地址+ f/ m- L) I- E( W" l

+ D5 |( ?' [& }& X% I% e* |; p0 n我们从最简单的人物兵力开始入手1 V( ?+ k9 s; o7 ^" e1 q0 Z& b; f

2 a3 e+ @/ V' q# V- Z3 J9 X我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)
% j( f+ Y' b. a& X! s2 }' c9 e" N6 ]* U9 O, @
当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址2 y% h9 I7 U4 b0 `4 T
启用CE调试刘备的兵力地址
4 h4 k* f: F* f9 d4 Z. e
$ z- y' G$ K' v找到基地址后验证一下
: P% A; C5 e# W% n9 S" G8 l, _" O
9 ]* w( ^; j* `$ L4 \4 j- v现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持
; ]+ f7 {3 A) d, s7 d8 m' Q. N- v2 g# m+ g' `) l
把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”
: j2 }' K" }% Z" C- N9 p# C2 U
" v  l! [0 Y2 j  a0 o( \添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了% G4 z/ ^+ g8 }3 s$ G3 v
/ y8 `! p2 S$ Q# J3 n
然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑0 t* g+ T+ a8 v. S# P
$ }! Z% ^) F3 A; Z$ v* u
再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明. ]% X, c0 ]" H0 \% q" i
这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0$ r8 S5 d8 ]% H; v9 y3 a( T* m4 D
其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了0 k0 T' @" J# @
只需要写上5 x3 r6 [: E- T
1-刘备$ m, A# E) [. a6 I0 s
2-关羽* S# [* k7 R+ j0 P* x
3-张飞
: p9 W" t1 d2 T这样的东西
$ f2 H9 t& `: t/ r0 H6 L: b. g7 l但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来) r  ?: q' e! W5 ^6 c: C

: N  H; ]4 e+ Y  g添加完保存下,然后运行一下修改器% v# L9 q. F9 i0 f

3 c6 \& f" ~; [/ i: z可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮. k7 b1 q0 h% H6 u& T2 F* m
按钮有几个功能,读取数据、保存数据是两个最基本的功能
2 J7 s5 t7 ]4 t  n5 v. C& n创建窗体也是个实用功能,本次不讲这个
8 B, `9 u0 t& e" W( S1 f; G/ z
' M; W8 j  F& h1 Y3 |我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下
5 K8 M8 h! V/ I
. L; b6 f1 u7 y" W" i最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里). z2 o/ O5 e: Y- D
这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里
. V! i: \* f  V) X% H2 R因为这里没用到特殊插件,故可直接生成即可! L" `, g9 h/ \& f" C! d% ^7 n

- o; J" c0 B# p
: C% T" m. ~, m% M3 I8 l最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了3 ^+ y& W1 \4 t. w9 z+ ~3 c2 L$ n
money_114 发表于 2011-6-6 23:22

- l9 u" X, ]' _% q( N0 T7 X* g1 P/ G* K
天枫对DOSBOX的基地址添加有问题( o- L" x: p1 B; F  B, Y
他想兼容各个版本
/ ]8 a, V- a* {( }* V* H$ i- q于是采用了特征码的方式进行定位# W8 ~9 g8 G) \9 j, K/ T) T) E% J
这种不准确,于是出现了做轩辕剑修改器的那种情况
' A/ ?: x4 R- i+ Y" C. d1 J& s6 |8 D
但是DOSBOX属于每个版本基地址不同、偏移也不同的东西+ M! x% s  ]4 T
) l8 W4 |. w; n* K$ O
不过你遇到的这种数据变址的情况还是比较特别的
: C" u1 r. K+ ?游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步
* K5 n5 M" C  T
1 L2 T0 Y9 s% @# N* j3 `http://u.115.com/file/dnszl2u9: D! y! r7 m2 T. A$ E- _; a
軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步 + J1 I7 H' ?8 t: @( p
  J# I2 T) V+ b0 ^8 d( P
http://u.115.com/file/dnszl2u9
, {3 }1 ^0 d' w' M軒轅劍還在可接受範圍内, 超時空實在是太怪了" l0 W5 x: `1 c0 w) }5 b% s
money_114 发表于 2011-6-7 12:04

% j8 U& V+ k) S  p7 R3 G6 U- a1 i/ b% L$ h2 F# H
我读了里面各种存档
4 Z8 T8 O' o7 \3 h; e就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪4 w$ {- z" D9 m% W3 o; G
从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑
% a( [. e: I! Q( Y3 o
我读了里面各种存档  P  a/ X. r( W
就没那个存档可以让我改金钱的....1 h' J6 k$ O9 y! _( L& C+ S  C1 q
银河漫步 发表于 2011-6-7 19:31

/ P9 M& X+ u5 p你願意研究的話可以試下這個存檔,我已經放棄做修改器了
5 p: R) `' q9 T" A, y
6 g0 g+ N( v9 I$ O7 q發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了
/ |0 \7 P8 Y+ P1 q' \确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步
6 j  I( ]2 w) e& N" `& [$ F: w
http://u.115.com/file/dnszl2u99 F6 L( [" [8 M& f) M
軒轅劍還在可接受範圍内, 超時空實在是太怪了
/ R% K/ ~9 q; u: I+ q7 Umoney_114 发表于 2011-6-7 12:04
. g( a6 I0 g; K8 k' \/ Y( l) K& v2 t% V
3 w" p8 r& g% l1 D- ^
非进程的指针
& z+ E/ `% [0 F6 d- P1 G. t是模块的指针
/ U' Y% P$ p; i+ ?" K难怪无法进行绝对寻址
: V) t: q) S/ `3 ~: s$ u: r& x* ]暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步 - ]! ~! g& k' E" w1 N
8 _& S0 m, I6 ?  i: D3 R+ k
遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂 ' Q0 n6 w8 B1 Q
你那個偏移量401D40 z! B2 p6 ]8 |# i% P
是怎麼來的??3 O6 d6 b2 C: \- d* q7 V8 S3 B7 L

0 B- j- f2 r5 l8 J7 u: q# E, ~可以的話你可以詳細在教一下 2 z6 L4 d! O- F  @  [  D
找基地指的方法嗎?

签到天数: 551 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-17 19:30 , Processed in 1.098633 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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