EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑 9 V. ]2 Z  R9 M3 V

4 q+ U% N6 w. O2 P7 u* j# H2 F首先,DOSBOX的数据不是静态地址
5 F' j4 Y; _! @+ e7 l2 G# O5 r. A$ _! O' Y
我们从最简单的人物兵力开始入手& J) O; g: Q9 W$ @
; T$ N' Z' a, Z" U' _3 d9 C- e
我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)
& B4 E. L+ L! r7 z, c% `5 V, f6 N# V" T4 h: V
当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
" r7 m9 ^1 o1 l' z; x启用CE调试刘备的兵力地址
: j2 w  `- W0 S- y( J. r* W9 _1 ~
, Y1 s! e; ?; ]! F找到基地址后验证一下
4 L; G: \: W9 v9 t- Z6 \5 \9 p  |9 ~/ L% S5 w1 p
现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持9 H& e: t4 _8 t' \4 \1 x: i

! g% Z( x  [+ v; L. a  a把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”
. d% O* C6 [- b$ B: L$ |+ w. j8 h2 b# v6 _, G) ^5 K) t
添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了
4 d0 L" B3 R9 b
: z( \& k2 ]3 _9 b% g; L1 L5 \3 h然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑5 {9 |5 n/ w2 x' F6 A! H+ C9 f
6 U7 [6 h( d- H# B
再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明8 n9 y/ R: [% ~. J& W' e
这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是08 \5 n/ y* A- s+ x" u5 }+ N/ H7 j6 e2 l
其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了
( I" Z1 j1 Z0 E* ?只需要写上  k/ i- Q0 _1 k% e0 _) G: D, D
1-刘备% D' o9 O: c' e/ H6 e1 t' L  J5 d
2-关羽/ [5 \( S  u5 p; c
3-张飞0 m; ^! {* ?5 }* t# J6 U; T! P
这样的东西0 M, m1 n2 K5 I$ J" H
但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来3 V5 j% v( k3 G4 p$ y' [

/ e9 n, ^, C( z6 s$ a1 Q% F" C添加完保存下,然后运行一下修改器* J" |# P6 v6 s, E, Z9 s8 _$ U' t; y
, R% P2 e+ y4 r2 O: u$ c3 }
可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮
' U- g( G. ?% N按钮有几个功能,读取数据、保存数据是两个最基本的功能' V# K0 S; T# Y; q+ J
创建窗体也是个实用功能,本次不讲这个
. L$ {$ I$ w% o) U4 e# L$ }# B* q6 p" u4 ?6 h
我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下" V$ ^7 Q1 f7 ~, p% F. }5 J

5 n  u9 L" }% b/ Q0 D! V最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
" _- ^# `. L: Q* E& t* `: j  }这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里
$ e" P% Y8 d" i1 E/ ]7 ?; x因为这里没用到特殊插件,故可直接生成即可
# F7 _; ?, _7 X, t4 h! b: s0 S8 p! @1 c' _4 ?! |2 ]

* i/ S7 v$ [5 o最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了
  {- }$ s7 p5 @1 ?money_114 发表于 2011-6-6 23:22

# d/ r* ~( x$ |/ u' n
4 d2 y( B& v* a' _- M; M天枫对DOSBOX的基地址添加有问题% N9 H0 `& ?8 R
他想兼容各个版本
6 E% p, U( K' V- x* n于是采用了特征码的方式进行定位. h% E# N4 c; j0 ]
这种不准确,于是出现了做轩辕剑修改器的那种情况& }+ d+ x! z1 R
% P% _# p- R) }7 d4 L  ]: y
但是DOSBOX属于每个版本基地址不同、偏移也不同的东西* n4 E/ D& ?# J: z" F) D
/ O& [9 e, [+ N4 @) C" `% e
不过你遇到的这种数据变址的情况还是比较特别的
9 i4 r1 E& h( d- k. ]游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步 8 ?7 |+ S" w+ j

5 {: S9 ]. ~2 }$ ?3 |( w7 ehttp://u.115.com/file/dnszl2u9
1 _/ a2 G3 p2 }6 _5 }% E4 t軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步
- ]* ?3 V& N) e
6 _' u7 s3 j" X$ }http://u.115.com/file/dnszl2u9
7 B) H; i' k, `% D. m軒轅劍還在可接受範圍内, 超時空實在是太怪了/ v6 Z/ k' o( G/ M) L3 Y
money_114 发表于 2011-6-7 12:04

; d5 @3 D4 {6 L9 O6 B6 A4 c2 c
9 u" l3 ^2 X, j3 y* ]我读了里面各种存档" C2 F8 F. R3 G  y: T" I$ j4 i
就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪, y) O- G4 V7 a1 R/ X1 r
从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑
' U  r- R6 ^1 V& M7 h* f! W
我读了里面各种存档! }3 {1 t4 R. s# p  H
就没那个存档可以让我改金钱的..../ F( ]7 b4 ~6 c& i7 T
银河漫步 发表于 2011-6-7 19:31
2 y$ \1 @( `3 U* o* n0 N+ H
你願意研究的話可以試下這個存檔,我已經放棄做修改器了9 w, d9 G+ {% q# t" @
' d, t: T( @% m! Q0 Z) G+ L
發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了6 j/ v/ x- f" p
确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步 & X2 Q3 o: n7 H

% U" j4 `. I( k9 ?2 O- l% R# lhttp://u.115.com/file/dnszl2u9, y, p# a6 _7 A  ~
軒轅劍還在可接受範圍内, 超時空實在是太怪了
* P. C  ~4 ~! k; |  V! v5 tmoney_114 发表于 2011-6-7 12:04

' z, j) {1 b1 \* v5 w; g0 S, O2 n8 N) @9 \' d* n
非进程的指针
: P. u) f. K2 v7 B7 H是模块的指针/ T  j, b7 |4 l7 ?0 L
难怪无法进行绝对寻址
, B- n$ i( l0 \! O暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步
' K1 c, n0 m/ F1 C) C' S, I+ t! v/ I9 T5 }
遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂 ! O& [/ _/ Y, R5 m' `# A
你那個偏移量401D4
6 T0 M: T8 ]8 b  N* c是怎麼來的??" f5 j5 @+ y7 }; q2 ^/ Y1 X
4 U: ?1 I3 o2 C$ {! j2 g; ?( `
可以的話你可以詳細在教一下 / c: b# Y4 V- Z; O& z
找基地指的方法嗎?

签到天数: 713 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-8 15:10 , Processed in 1.125977 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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