EMU618社区

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

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

[复制链接]

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2011-6-6 20:58:15 | 显示全部楼层 |阅读模式
本帖最后由 银河漫步 于 2011-6-6 21:25 编辑 ! U. ]$ i" B& I8 o* g: A8 b

  A- N- [. E! R7 w% n首先,DOSBOX的数据不是静态地址' P  Q" a5 c# O# A

( {- {# c# ]) R3 r$ p( O3 j0 Q8 s我们从最简单的人物兵力开始入手
  A2 c' o' K" m9 U" E/ n5 k5 L; t0 ~8 [# j4 O9 X
我用FPE找了一下人物兵力(为什么用FPE...个人喜好...因为FPE的编辑框看着舒服)* ~* ^: b& \/ }6 B. {

+ Y2 J! \* ~1 z1 @当然这个兵力地址下次启动游戏的时候说不定就变了,所以下一步要找基地址
' r  q. v) \5 x6 z/ m5 g! r启用CE调试刘备的兵力地址
$ G7 z/ q: ~- P/ t  c/ E
/ E/ e2 I7 j7 f找到基地址后验证一下  Q4 G3 Z2 B3 f+ b: g0 M6 t/ i# ~
5 a- U  s2 W9 D# D
现在启用CheatMaker,因为CM1.62版本并没有添加对dosbox0.74的支持,所以添加一个程序支持
+ \# p4 f; ~0 Q& O3 U/ p. A& I$ A4 D1 Y, p
把刚才搜索到的基地址添加进去,另外如果这里是2级指针,则在基地址后边加上“,地址”,并把附加数据填上“1”8 }% ?* f4 v! ?0 b9 J
. E" q& ?' Q$ A0 y* \; t
添加完毕后选择对应的进程,启动内存编辑,看一下刚才的地址偏移,现在可以确认程序支持没有问题了
' v/ d2 c) q/ ?- T1 P/ w; [" l9 |1 k4 a6 o
然后启用CM的“运行设计器”,添加一个lable控件和一个TextBox控件,并对TextBox控件做如图红色框的编辑
2 z0 _/ u5 N! b3 _: j
4 C- E# t3 a! h: N1 g9 |再添加一个ListBox控件,点击“数据列表”,然后写上个列表,为什么图上这么写,因为根据图一中的那些文字说明
5 U. j, |6 v# G+ }/ H这里每行之间是写上一个相对第一行的偏移地址,第一行则认为是0- ~/ e8 L3 j6 e# I% u, T6 G0 S2 D
其实ListBox附加数据可以简化这个流程,附加数据写上“1(2C)“,则认为每行的间隔地址为2C,不需要去计算了0 g$ L- K' d  _- E( Y+ ^' M
只需要写上
! ]) y1 @7 O+ `2 o1-刘备
. h0 a$ g) d0 u) y8 A% ]7 g" e2-关羽1 v* t; k+ V! q
3-张飞$ n" x( r4 b# \& |" \; {' z$ m' ]
这样的东西
- M6 e" ~3 o8 R( G但是这么添加不好对列表排序,所以暂时还是按图片中的添加方法来
- R! Y; ]" W2 a: V$ m6 V8 {$ Q. p
; B/ t) k8 K# r- [, q; j添加完保存下,然后运行一下修改器/ d! e0 _9 P1 l/ I
! |' S; N& w( E5 J  k) l
可以看到如图的效果,然后再多添加一些地址进去吧,别忘了添加一个按钮
7 x7 S4 }( t& t: }6 k按钮有几个功能,读取数据、保存数据是两个最基本的功能5 _; M! E( E5 {3 ]5 T/ y
创建窗体也是个实用功能,本次不讲这个9 C+ Y: q8 }3 L! k8 T

! T# C/ i. F* ~" s0 I. J我最后设计完毕的效果如下图所示,最后会提供这个CMF源文件,大家可以随意打开看下
, Y# v# G9 F% c  [$ U& s0 y4 e. F, t1 m* f; W& H6 m
最后是生成EXE的独立修改器,如下图所示,选好对应的支持程序后,对应的类名和标识也会自动填上(因为程序之前已经添加到了支持程序列表里)
1 x% Q) Y* ~1 T( c9 _这里的插件,如果独立修改器有用到插件的话,则CM目录里的Plugins文件夹的对应插件需要和独立的EXE保留在同同一目录下(具体清参考我做的太阁4修改器,里面用到了一个插件),插件是可自行开发的,会编程的朋友可以任意添加新插件到CM里! \* J# p. @# R! R# a0 B
因为这里没用到特殊插件,故可直接生成即可
' ~  ]- c1 z' F: _, @& s2 \* H7 U/ x5 j# o) T& R

$ D  l  q# x1 z$ T# X6 A& N7 N最后是该修改器的源文件随意参考下

本帖子中包含更多资源

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

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的情況下, 每次查到的金錢地址都不一樣, 所以只有放棄了7 f7 L0 O, \  i7 y  T
money_114 发表于 2011-6-6 23:22
# _" f7 L+ H2 Z0 f0 ^5 `  y
, n' p3 r' o) Z0 t3 _, Y
天枫对DOSBOX的基地址添加有问题- X& ~8 n, M& c! A5 U- n
他想兼容各个版本
/ [& R9 M" E8 \  x6 R# }  F6 L& B于是采用了特征码的方式进行定位8 t9 y$ M: T3 ^) h' M
这种不准确,于是出现了做轩辕剑修改器的那种情况: }! B6 k0 A6 [3 j/ s; i
/ j& |1 M' I& T- o  U) P
但是DOSBOX属于每个版本基地址不同、偏移也不同的东西8 h3 P* ?# [# c& y, s

0 T# d( G- n8 O% P不过你遇到的这种数据变址的情况还是比较特别的3 U* [5 f. x& x" c! G8 h: d0 t8 @
游戏拿来我有空研究下

该用户从未签到

发表于 2011-6-7 12:04:03 | 显示全部楼层
5# 银河漫步
. k4 v) S+ f- j# u+ i/ e2 L* N# y, E- V. G7 B1 J9 Z- X3 ]/ _
http://u.115.com/file/dnszl2u9; h, t* h& B& c3 ^) H1 r
軒轅劍還在可接受範圍内, 超時空實在是太怪了

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:31:18 | 显示全部楼层
5# 银河漫步 3 B6 @7 }1 P5 v3 S( ?2 d' X' W

) T& E0 A5 i% N: u. _http://u.115.com/file/dnszl2u9
/ @; L3 l& G  s) o3 Q4 R軒轅劍還在可接受範圍内, 超時空實在是太怪了9 \6 F0 F7 a" F$ q. e1 ~
money_114 发表于 2011-6-7 12:04
% e) S7 Z0 q9 w/ G% r! E, L0 \- c5 t# v( ~
5 k! v  F: N) j# d( b) N
我读了里面各种存档0 f  z: \$ g; u7 M2 ?& Y3 S
就没那个存档可以让我改金钱的....

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 19:56:39 | 显示全部楼层
这游戏的内存调用确实不是一般的怪0 \+ D& I& ?5 H/ N5 w
从指针到偏移地址都是动态分配的

该用户从未签到

发表于 2011-6-7 20:58:20 | 显示全部楼层
本帖最后由 money_114 于 2011-6-7 21:01 编辑 5 ^; t6 y7 W! Y& |
我读了里面各种存档" W& [' T* [- R( t0 ~$ y3 q
就没那个存档可以让我改金钱的....
% L7 k* y" N9 v0 o! t( B9 b! ]银河漫步 发表于 2011-6-7 19:31
" p; T8 S0 I3 s) g
你願意研究的話可以試下這個存檔,我已經放棄做修改器了+ u8 W, G$ j2 \! n  q5 y" ~+ U0 v
$ d5 s4 c: L0 I% ^0 q" L/ T
發現買入和賣出的金錢地址也不一樣,連每次的戰場人物地址也不一樣

本帖子中包含更多资源

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

x

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-7 21:51:31 | 显示全部楼层
刚才重新开始游戏试过了
2 b4 k2 Y; q' t& n2 A( |& a4 K确实是奇怪的内存分配方式

签到天数: 80 天

[LV.6]常住居民II

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

签到天数: 6 天

[LV.2]偶尔看看I

 楼主| 发表于 2011-6-10 15:10:27 | 显示全部楼层
5# 银河漫步
# R6 w# \) G0 B5 q
, `6 q2 y  C% g% K; ]. m) l) Xhttp://u.115.com/file/dnszl2u9
  ^# k5 N6 |$ R9 r# T軒轅劍還在可接受範圍内, 超時空實在是太怪了( l* }% d8 ~' L7 Q
money_114 发表于 2011-6-7 12:04
( T9 Z( B4 }& z3 I% K
2 B* ?/ P3 w0 w0 @
非进程的指针  ]; x+ K0 c; D* @% i
是模块的指针3 j; v) B. k# X- ]+ o& x# m+ ~
难怪无法进行绝对寻址
7 j  m2 v5 t5 j& W' \( M暂时想不出办法

该用户从未签到

发表于 2011-6-11 13:12:04 | 显示全部楼层
13# 银河漫步 & P) q- ^0 Z, \7 h8 G7 b* @

. ?; i" S8 H6 ]. C8 s遊戲通關, 已執行清理操作

该用户从未签到

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

该用户从未签到

发表于 2011-11-2 17:10:04 | 显示全部楼层
我看不太懂 3 y; f, a$ S# t& z% ~- [* w
你那個偏移量401D4
; D( S( c& m8 H  \8 E; m是怎麼來的??
* `* i) z+ C1 Z0 p/ f/ k+ s4 |! E, m1 Y5 Y' q$ Q, O
可以的話你可以詳細在教一下
" E4 J9 s- ?$ u找基地指的方法嗎?

签到天数: 715 天

[LV.9]以坛为家II

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-9 01:41 , Processed in 1.072265 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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