EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑 8 h5 i9 l7 v' \- j( u

& H8 U  g. g- @# a" f+ v. }# q首先,DOSBOX的数据不是静态地址
( H+ F- n4 k( u1 H2 T* Q: J
% L( V  E6 H; s( ?0 Z5 ^我们从最简单的人物兵力开始入手
" E7 c& o6 O6 Z: P2 S! Q1 Y' E% u
9 L0 q+ ]) _1 \7 A# b& ?我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)
: O8 a( J8 }# T% Y: r- N8 D; m* |5 r) B' W2 Z
当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址' T; p4 j- Z2 ?! A4 L; E
启用CE调试刘备的兵力地址5 T, L. N6 U8 J1 Q: y- U6 Y( w
1 h5 F+ e/ Z* k3 u) p
找到基地址后验证一下
) u7 \- H: w1 m5 |9 u' j+ \9 r( G, V3 n5 L
现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持
6 N8 }" [3 d3 \1 b. q9 j! s
2 n8 ~; u/ T9 h- M; r* G把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”% ^2 K& o; {( a" G1 W5 i
# B$ o+ a, N+ ~( ]
添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了
& b3 u3 B6 U; Q9 A
9 T$ J% }" s# d; f/ }8 N% ]然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
2 w6 l; F2 C, ~4 F4 Q3 q5 [/ n' u3 Q2 ?* g; V
再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明5 X8 i- L9 a( H0 z6 c# d6 Z( l7 d6 K
这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0
( A& p1 t+ M5 p3 L# Y0 `5 S" u5 c其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了  P) B7 {3 c% ?' G3 U
只需要写上
/ e3 n8 I( B+ L7 C1-刘备
& p+ l6 F' M& p1 V! m3 r2-关羽
! [; O5 e7 s4 }4 g3-张飞
' m6 Y# [, m+ k3 Z& ?这样的东西. O( j1 s% d5 e
但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来
5 Z' [! U) B1 Y, N. B' y) W4 m
; o0 N1 V- k% s9 }添加完保存下,然后运行一下修改器0 P8 b2 r0 _+ v
5 ?2 ?' b. I- y8 @  R/ d% c" F
可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮" N7 y. }0 X4 x/ S; ~2 b  ~
按钮有几个功能,读取数据、保存数据是两个最基本的功能% u6 q. B0 ~9 i$ k0 x1 Y2 \
创建窗体也是个实用功能,本次不讲这个
1 k) t7 k3 x7 g7 _8 K. m. l9 i7 C% l% J
我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下# o  a) X3 q$ c7 p! f
3 l+ H7 E* t, Q0 z% T. o9 ?
最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)  P# ?1 g" R6 \% n
这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里
: {( N) m3 o* \; S因为这里没用到特殊插件,故可直接生成即可: ?( C7 v5 y3 X# j. e

" a- A3 J) f4 P
# D: E  Q/ A4 ~5 t- F# n2 O7 E最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了$ T- L* Y9 R+ }! ^1 @7 @  U2 a0 [
money_114 发表于 2011-6-6 23:22
9 l* T* Q7 a4 r: |$ j! I

) H9 ?& a4 c$ i# O: s天枫对DOSBOX的基地址添加有问题9 G  J- N- v  ?8 h# n
他想兼容各个版本
/ A* D1 a, ?  W8 p于是采用了特征码的方式进行定位7 v, Q/ k3 I# q% t! S1 |
这种不准确,于是出现了做轩辕剑修改器的那种情况
8 \! ^- K% |: D. h: J# S  i5 k, `/ V  ?1 j8 t0 ~1 m9 z
但是DOSBOX属于每个版本基地址不同、偏移也不同的东西
7 T- s7 d3 q( k; a* G( L$ u
6 m- I/ \( P$ n7 o' E3 p. k/ z不过你遇到的这种数据变址的情况还是比较特别的' D! `, z; L9 ~" p3 |
游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步
" W% D  K. c; \, z( V! v6 e+ l4 Z9 k! h& Q0 e) k
http://u.115.com/file/dnszl2u95 P5 B) G3 v) c$ v( R: j6 t
軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步 7 T. L! p7 }) e; R
& r) H$ d1 k1 n5 G
http://u.115.com/file/dnszl2u9
# R! r" @3 P9 ~+ r8 j7 k$ x* n軒轅劍還在可接受範圍内, 超時空實在是太怪了
! i' g2 Q- B, F2 L/ x9 R8 smoney_114 发表于 2011-6-7 12:04
* E& N9 x$ ]2 ^5 D

: J! n" ?' p: M/ m5 V1 c$ ^3 ?我读了里面各种存档7 {" e4 _+ X* o# y" E
就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪1 E! G' Q. Z4 h8 |7 V9 c
从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑 ! r! j" p6 h' |# N- ?
我读了里面各种存档
8 @! Q4 s6 N0 m8 w# g8 y就没那个存档可以让我改金钱的....
7 M2 R$ e1 @8 W- n0 U+ c# F0 ^银河漫步 发表于 2011-6-7 19:31
0 v* D5 Y/ H2 c( I* U) W
你願意研究的話可以試下這個存檔,我已經放棄做修改器了' c( ^+ I4 H0 L5 [9 O2 x

, G& J7 z% U3 z# I# `發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了
% ^, j$ ?6 ]( z4 a确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步
6 ?- }" r5 M  e
+ b0 l8 J4 U# M! Thttp://u.115.com/file/dnszl2u98 C- Z, D9 ]2 S
軒轅劍還在可接受範圍内, 超時空實在是太怪了
# Q3 y$ ^% N- |7 {money_114 发表于 2011-6-7 12:04
" ~9 y7 x: J" X5 y
1 X! V; Y+ S0 B9 @5 `8 ^1 Z
非进程的指针
+ @6 h# Q6 t" h) X9 a" w是模块的指针9 M4 L' m( h" Z/ u0 |7 V! f$ Q
难怪无法进行绝对寻址
9 W* b, h8 t$ p6 _2 ]暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步 * y5 m( l# H. a* k

' c! Z0 O& s. G遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂 . L  ~* K8 @- x9 P! a9 @9 i
你那個偏移量401D4
; ^1 y# {* p% R2 @是怎麼來的??3 i5 y1 d$ ]& z1 ~

1 C5 ^8 S( O3 j) p可以的話你可以詳細在教一下
1 D  o  r4 V  l5 C; S找基地指的方法嗎?

签到天数: 442 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-24 18:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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