📄 手册.txt
字号:
[tc]魔兽3 1.21内存修改器
程序员手册
[tc]天驰
2007.3.17
一、内存空洞
1、Read+Write
00461000
2、Read(execute代用)
0044A800
二、修改器内存分配(全部使用魔兽资源)
1、经验值 [[00461000]+8c] int
(1)原来的代码
6F1B2EDB:
mov eax,[eax+0000008c] 8b 80 8c 00 00 00
(2)修改后
6F1B2EDB:
jmp 0044A800 e9 20 79 29 91
nop 90
0044A800:
mov [00461000],eax 89 05 00 10 46 00
mov eax,[eax+0000008c] 8b 80 8c 00 00 00
jmp 6F1B2EE1 e9 d0 86 d6 6e
nop 90
2、力量 [[00461004]+94] int
(1)原来的代码
6F13CDFE:
mov edi,[esi+00000094] 8b be 94 00 00 00
(2)修改后
6F13CDFE:
jmp 0044A820 e9 1d da 30 91
nop 90
0044A820:
mov [00461004],esi 89 35 04 10 46 00
mov edi,[esi+00000094] 8b be 94 00 00 00
jmp 6F13CE04 e9 d3 25 cf 6e
nop 90
3、敏捷 [[00461008]+a8] int
(1)原来的代码
6F13CEEB:
mov edi,[esi+000000a8] 8b be a8 00 00 00
(2)修改后
6F13CEEB:
jmp 0044A840 e9 50 d9 30 91
nop 90
0044A840:
mov [00461008],esi 89 35 08 10 46 00
mov edi,[esi+000000a8] 8b be a8 00 00 00
jmp 6F13CEF1 e9 A0 26 CF 6E
nop 90
4、智力 [[00461014]+78] int
(1)原来的代码
6F088E78:
mov eax,[edx+78] 8b 42 78
pop esi 5e
pop ebx 5b
(2)修改后
6F088E78:
jmp 00449E20 e9 a3 0f 3c 91
00449E20:
cmp [00461014],edx 39 15 14 10 46 00
ja 00449E2E 77 06 <if edx small goto L1>
mov [00461014],edx 89 15 14 10 46 00 <if edx bigger->save>
<L1:>
mov eax,[edx+78] 8b 42 78
pop esi 5e
pop ebx 5b
jmp 6F088E7D e9 45 f0 c3 6e
5、移动速度 [[0046100C]+78] float
(1)原来的代码
6F55FA2F:
mov ecx,[esi+78] 8b 4e 78
mov edx,[ebp-1c] 8b 55 e4
(2)修改后
6F55FA2F:
jmp 0044A860 e9 2C AE EE 90
nop 90
0044A860:
mov [0046100C],esi 89 35 0c 10 46 00
mov ecx,[esi+78] 8b 4e 78
mov edx,[ebp-1c] 8b 55 e4
jmp 6F55FA35 e9 C4 51 11 6F
nop 90
6、攻击频率 [[00461010]+1b0] float
(1)原来的代码
6F55790D:
mov eax,[esi+000001b0] 8b 86 b0 01 00 00
(2)修改后
6F55790D:
jmp 0044A880 e9 6E 2F EF 90
nop 90
0044A880:
mov [00461010],esi 89 35 10 10 46 00
mov eax,[esi+000001b0] 8b 86 b0 01 00 00
jmp 6F557913 e9 82 D0 10 6F
nop 90
7-10、攻击相关:int
以攻击频率为参考的地址 0 1b0
攻击 - 基础 -110 A0
攻击 - 倍乘 -11C 94
攻击 - 骰子 -128 88
攻击 - 种类 -BC F4
11、防御 [[00461018]+e0] float
(1)原来的代码
6F13BD53:
mov ecx,[esi+000000e0] 8b 8e e0 00 00 00
(2)修改后
6F13BD53:
jmp 0044A8A0 e9 48 eb 30 91
nop 90
0044A8A0:
mov [00461018],esi 89 35 18 10 46 00
mov ecx,[esi+000000e0] 8b 8e e0 00 00 00
jmp 6f13bd59 e9 a8 14 cf 6e
nop 90
12、防御 - 种类 int
以防御为参考的地址 0 e0
防御 - 种类 +4 +e4
AA0、1P金钱 [[0046101C]](取下上16位,下16位见下一款) int x10
(1)原来的代码
6F088E78:
mov eax,[edx+78] 8b 42 78
pop esi 5e
pop ebx 5b
(2)修改后
6F088E78:
jmp 0044A8c0 e9 43 1a 3c 91
0044A8c0:
mov [0046101C],edx 89 15 1c 10 46 00
and [0046101C],ffff0000 81 25 1c 10 46 00 00 00 ff ff
mov eax,[edx+78] 8b 42 78
pop esi 5e
pop ebx 5b
jmp 6f088e7d e9 a3 e5 c3 6e
AA1、金钱总列表:[取下16位,上16位见上一款]
(1)对每个玩家:
金钱 0 int x10
木头 + 80 int x10
最大人口 +180 int
当前人口 +200 int
(2)玩家金钱位置(下16位)
1P 0190
2P 1410
3P 26a0
4P 3920
5P 4bb0
6P 5e30
7P 70c0
8P 8350
9P 95d0
10P a860
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -