GT版EI汇编初步分析
MOV EAX,DWORD PTR SS:[EBP-4] 取得用户数据地方
BYTE PTR DS:[EAX+3B] 用户职业 (GT) 0 法师WARRIOR
1 WIZARD战士 2 道士TAOIST
BYTE PTR DS:[EAX+40] 用户等级 (GT)
WORD PTR DS:[EAX+4F] 用户HP (GT)
WORD PTR DS:[EAX+51] 用户MP (GT)
WORD PTR DS:[EAX+5D] 用户包裹负重 (GT)
BYTE PTR DS:[EAX+60] 用户手负重 (GT)
BYTE PTR DS:[EAX+62] 用户身负重 (GT)
DWORD PTR DS:[EAX+3C] 用户金币 (GT)
WORD PTR DS:[EAX+45]
WORD PTR DS:[EAX+41]
-------------------------------------------------------------------------------------------------------------------
GT版后门修改方法
三后门
------------------
00519B35 |. 8B45 FC mov eax,dword ptr ss:[ebp-4]
00519B38 |. C680 09030000 06 mov byte ptr ds:[eax+309],6 ;非法提升 6改0
00519B3F |. 6A 00 push 0
-----------------
00519BA3 |> \8B45 FC mov eax,dword ptr ss:[ebp-4]
00519BA6 |. C680 09030000 07 mov byte ptr ds:[eax+309],7 ;非法提升 7改0
00519BAD |. E9 A8420000 jmp EIServer.0051DE5A
-----------------
00519BFA |> \8B45 FC mov eax,dword ptr ss:[ebp-4]
00519BFD |. C680 09030000 07 mov byte ptr ds:[eax+309],7 ;非法提升 7改0
00519C04 |. 8B45 FC mov eax,dword ptr ss:[ebp-4]
=================
查找:3DC6C4A10F753A
替换:3DC6C4A10FEB3A
0051AACA |. 3D C6C4A10F cmp eax,0FA1C4C6
0051AACF EB 3A jmp short Eiserver.0051AB0B ;无条件转移
0051AAD1 |. 6A 00 push 0
=====================================================
查找:3DC7C4A10F0F8525430000
替换:3DC7C4A10FE92643000090
00519B2A |. 3D C7C4A10F cmp eax,0FA1C4C7
00519B2F E9 26430000 jmp Eiserver.0051DE5A ;无条件转移
00519B34 90 nop
00519B35 |. 8B45 FC mov eax,dword ptr ss:[ebp-4]
(0)修改收费模式新人出生等级
==================================================================
00501BE6 . 8A50 40 mov dl,byte ptr ds:[eax+40]
00501BE9 - E9 56C40500 jmp 0055E044 ;改此处跳转
00501BEE 90 nop
00501BEF 90 nop
00501BF0 90 nop
00501BF1 . 8B55 FC mov edx,dword ptr ss:[ebp-4]
--------------------------------------
0055E044 8B45 FC mov eax,dword ptr ss:[ebp-4]
0055E047 0FB640 40 movzx eax,byte ptr ds:[eax+40]
0055E04B 83F8 1C cmp eax,1C ;28级
0055E04E 7C 0D jl short 0055E05D
0055E050 8B45 FC mov eax,dword ptr ss:[ebp-4]
0055E053 E8 5C31FAFF call 005011B4
0055E058 - E9 943BFAFF jmp 00501BF1
0055E05D 8B45 FC mov eax,dword ptr ss:[ebp-4]
0055E060 C640 40 1C mov byte ptr ds:[eax+40],1C ;28级
0055E064 C740 3C C4090000 mov dword ptr ds:[eax+3C],9C4 ;2500金币
0055E06B 8B45 FC mov eax,dword ptr ss:[ebp-4]
0055E06E E8 4131FAFF call 005011B4
0055E073 - E9 793BFAFF jmp 00501BF1
===================================================================
005011DA C745 F4 00CA9A3B mov dword ptr ss:[ebp-C],3B9ACA00
(1)60级以上升级经验
------------------------------
------------------------------
00501BE6 . 8A50 40 mov dl,byte ptr ds:[eax+40]
00501BE9 .- E9 32D50500 jmp 0055F120
00501BEE 90 nop
00501BEF 90 nop
00501BF0 90 nop
00501BF1 . 8B55 FC mov edx,dword ptr ss:[ebp-4]
-----------
00501BE6 . 8A50 40 mov dl,byte ptr ds:[eax+40]
00501BE9 . 8B45 FC mov eax,dword ptr ss:[ebp-4]
00501BEC . E8 C3F5FFFF call 005011B4
00501BF1 . 8B55 FC mov edx,dword ptr ss:[ebp-4]
------------------------------
------------------------------
(2)修改数据保存时间
-----------------------------
MOV EDX,DWORD PTR SS:[EBP-4]
004C5C74 . 2B42 3C sub eax,dword ptr ds:[edx+3C]
004C5C77 . 3D 60EA0000 cmp eax,0EA60
004C5C7C . 76 4B jbe short 004C5CC9
0EA60 = 60秒
2BF20 = 180秒
493E0 = 300秒
------------------------------
(3)地面物品刷新时间
004FA545 . 2BC2 sub eax,edx
004FA547 . 3D C0270900 cmp eax,927C0
004FA54C . 76 77 jbe short eiserver.004FA5C5
927C0 = 600秒
493E0 = 300秒
75300 = 480秒
57E40 = 360秒
--------------------------------
(4)寄存价钱修改
0052F806 |. C645 C7 00 |mov byte ptr ss:[ebp-39],0
0052F80A |> BA 88130000 |mov edx,1388
0052F80F |. 8B45 FC |mov eax,dword ptr ss:[ebp-4]
1388 = 5000金币
0C350 = 50000金币
--------------------------------
(5)33全服喊话功能的修改
0051DB69 |. 8B45 FC mov eax,dword ptr ss:[ebp-4]
0051DB6C |. 8078 40 21 cmp byte ptr ds:[eax+40],21
0051DB70 |. 73 2C jnb short eiserver.0051DB9E
21 = 33级
26 = 38级
-------------------------------
(6)喊话间隔速度:
0051DB58 |. 2B82 24030000 sub eax,dword ptr ds:[edx+324]
0051DB5E |. 3D 10270000 cmp eax,2710
0051DB63 |. 0F86 9F000000 jbe eiserver.0051DC08
2710 = 10秒
4E20 = 20秒
-----------------------------
(7)蓝字公告改成红色字显示修改方法
004C3BA5 . 8B95 54FFFFFF mov edx,dword ptr ss:[ebp-AC]
004C3BAB . B9 02000000 mov ecx,2
004C3BB0 . 8B45 E0 mov eax,dword ptr ss:[ebp-20]
2 = 蓝字
0 = 红字
1 = 黄色
------------------------------
(8)公告发送速度:
004C3B58 . 2B82 400A0000 sub eax,dword ptr ds:[edx+A40]
004C3B5E . 3D E0930400 cmp eax,493E0
004C3B63 . 76 7E jbe short eiserver.004C3BE3
927C0 = 600秒
493E0 = 300秒
75300 = 480秒
57E40 = 360秒
其他:
======================
0051FC4C |. 81B8 98080000 F0A43>cmp dword ptr ds:[eax+898],131A4F0
服务器端版本号 131A4F0=20030704 ASCII F0A43101 47CD3101
======================
00401B75 C705 D8974B00 F0A4310>mov dword ptr ds:[4B97D8],131A4F0
客户端版本号 131A4F0=20030704
-------------------------------------------------------------------------------------------------------------------
MOV EAX,DWORD PTR SS:[EBP-4] 取得用户数据地方
BYTE PTR DS:[EAX+3B] 用户职业 (GT) 0 法师WARRIOR
1 WIZARD战士 2 道士TAOIST
BYTE PTR DS:[EAX+40] 用户等级LV (GT)
BYTE PTR DS:[EAX+49] 用户DC ??????
WORD PTR DS:[EAX+4F] 用户HP (GT)
WORD PTR DS:[EAX+51] 用户MP (GT)
WORD PTR DS:[EAX+5D] 用户包裹负重 (GT)
BYTE PTR DS:[EAX+60] 用户手负重 (GT)
BYTE PTR DS:[EAX+62] 用户身负重 (GT)
DWORD PTR DS:[EDX+57] 用户升级所需要修炼的经验 (GT)
DWORD PTR DS:[EAX+53] 用户经验EXP ??????
DWORD PTR DS:[EAX+30] 用户MAP X ??????
DWORD PTR DS:[EAX+34] 用户MAP Y ??????
DWORD PTR DS:[EAX+28] 用户MAP ??????
WORD PTR DS:[EAX+309] 用户权限 0普通 >0有管理权限
DWORD PTR DS:[EAX] 魔法ID (GT)
BYTE PTR DS:[EAX+2D4] 用户HIT
WORD PTR DS:[EAX+2D0] 用户AP
BYTE PTR DS:[EAX+2D3] 用户RA
BYTE PTR DS:[EAX+308] 用户SPD
DWORD PTR DS:[EAX+3C] 玩家金币
-------------------------------------------------------------------------------------------------------------------
visustudio用汇编修改60级以上血和魔法值问题
首先 在空白(如无空白处,可以新增加一个段,增加段的方法请参考以前TyroPE的全服喊话视频教程)处写入代码
:这里要注意下面那些⑴, ⑵...代表了该行的虚拟地址.
MOV EDX,DWORD PTR DS:[5380A4] ⑴ //如:假如这行代码的虚拟地址是400000 则下面
JMP 00501C21
CMP EAX,3C ■ //实在找不到数字,就用特殊符号表示吧!
JLE ⑴ //这里的代码就是 JlE 4000000
PUSH ECX
SUB EAX,3C
MOV ECX,EAX
XOR EDX,EDX
XOR EAX,EAX
MOV EDX,32
ADD EAX,EDX ⑵
INC EDX
LOOPD ⑵
ADD EAX,5D2
MOV EDX,DWORD PTR SS:[EBP-4]
MOV WORD PTR DS:[EDX+4F],AX
MOV EAX,DWORD PTR SS:[EBP-4]
MOVZX EAX,BYTE PTR DS:[EAX+40]
SUB EAX,3C
IMUL EAX,EAX,4
ADD EAX,0F9
MOV EDX,DWORD PTR SS:[EBP-4]
MOV WORD PTR DS:[EDX+51],AX
POP ECX
JMP 00501DA7
MOV EDX,DWORD PTR DS:[5382CC] ⑶
JMP 00501D82
CMP EAX,3C ◆
JLE ⑶
SUB EAX,3C
IMUL EAX,EAX,0D
ADD EAX,22F
MOV EDX,DWORD PTR SS:[EBP-4]
MOV WORD PTR DS:[EDX+4F],AX
PUSH ECX
MOV EAX,DWORD PTR SS:[EBP-4]
MOVZX EAX,BYTE PTR DS:[EAX+40]
SUB EAX,3C
MOV ECX,EAX
XOR EAX,EAX
MOV EDX,32
MOV EDX,41
ADD EAX,EDX ⑷
INC EDX
LOOPD ⑷
ADD EAX,823
MOV EDX,DWORD PTR SS:[EBP-4]
MOV WORD PTR DS:[EDX+51],AX
POP ECX
JMP 00501DA7
MOV EDX,DWORD PTR DS:[5383A4] ⑸
JMP 00501EDD
CMP EAX,3C ★
JLE ⑸
SUB EAX,3C
IMUL EAX,EAX,16
ADD EAX,336
MOV EDX,DWORD PTR SS:[EBP-4]
MOV WORD PTR DS:[EDX+4F],AX
MOV EAX,DWORD PTR SS:[EBP-4]
MOVZX EAX,BYTE PTR DS:[EAX+40]
SUB EAX,3C
IMUL EAX,EAX,20
ADD EAX,439
MOV EDX,DWORD PTR SS:[EBP-4]
MOV WORD PTR DS:[EDX+51],AX
JMP 00501F02
再来 主程序还要修改3个地方:
1.
00501C1B |. 8B15 A4805300 MOV EDX,DWORD PTR DS:[5380A4] ; FF-EISer.00535DE8
这行代码修改成 Jmp ■ //■表示上面该行虚拟地址
2.
00501D7C |. 8B15 CC825300 MOV EDX,DWORD PTR DS:[5382CC] ; FF-EISer.00535FC8
这行代码修改成 JMP ◆
3.
00501ED7 |. 8B15 A4835300 MOV EDX,DWORD PTR DS:[5383A4] ; FF-EISer.005361A8
这行代码修改成 JMP ★
若有汇编问题 请自行参考有关资料 或者 自己看看以前Tyrope的全服喊话视频教程(哪位朋友提供一下,我的丢了!).
-------------------------------------------------------------------------------------------------------------------
修改GT传奇3主程序出矿率的汇编地点
00512BBF |. B8 01000000 mov eax,0C ;出矿率 建议5-8
0051284E |. 8378 08 2E cmp dword ptr ds:[eax+8],63 ;总挖矿几率 建议50-70左右
00512852 |. 0F8D 61020000 jge Eiserver.00512AB9
00512858 |. B8 78000000 mov eax,78 ;因子数
0051285D |. E8 B603EFFF call Eiserver.00402C18
00512862 |. 48 dec eax
00512863 |. 83E8 02 sub eax,2 ;金矿石默认2
00512866 |. 72 20 jb short Eiserver.00512888
00512868 |. 83E8 12 sub eax,12 ;银矿石默认18
0051286B |. 0F82 8A000000 jb Eiserver.005128FB
00512871 |. 83E8 19 sub eax,19 ;铁矿石默认25
00512874 |. 0F82 F4000000 jb Eiserver.0051296E
0051287A |. 83E8 0B sub eax,20 ;黑铁矿默认11 建议 15-30
0051287D |. 0F82 5E010000 jb Eiserver.005129E1
00512883 |. E9 C6010000 jmp Eiserver.00512A4E