阿拉下载FTP:http://bbs.pediy.com/showpost.php?p=243894&postcount=2
/upload/06.08.2008.Immunity.Debugger.v1.6.GreenVersion/Immunity.Debugger.v1.6.GreenVersion.BY.RegKiller.rar
以下为修改笔记,写的比较烦琐目的是希望新手可以看得懂,高手飘过。
一 去广告
1 去广告菜单+自动访问网络判断升级
在 OD 中查找十六进制码
68 ?? ?? 51 00 68 04 01 00 00 68 ?? ?? ?? 00 8D 46 3E 50 8D 96 C6 ?? 00 00 52 8D 8E ?? ?? 00 00
51 E8 ?? ?? 0A 00 68 ?? ?? 51 00 68 00 10 00 00 68 ?? ?? ?? 00 8D 46 3E 50 8D 96 C6 ?? 00 00 52
8D 8E D4 ?? 00 00 51 E8 ?? ?? 0A 00
也就是下面这段代码
004419E3 . 68 FCFC5100
PUSH 0051FCFC
; /IniFileName = ""
004419E8 . 68 04010000
PUSH 104
; |BufSize = 104 (260.)
004419ED . 68 E4045200
PUSH 005204E4
; |ReturnBuffer = Immunity.005204E4
004419F2 . 8D46 3E
LEA EAX,
DWORD PTR DS:[
ESI+3E]
; |
004419F5 . 50
PUSH EAX ; |Default
004419F6 . 8D96 C6350000
LEA EDX,
DWORD PTR DS:[
ESI+35C6]
; |
004419FC . 52
PUSH EDX ; |Key
004419FD . 8D8E 771F0000
LEA ECX,
DWORD PTR DS:[
ESI+1F77]
; |
00441A03 . 51
PUSH ECX ; |Section
00441A04 . E8 DBFA0A00
CALL <JMP.&KERNEL32.GetPrivateProfileStr>
; \GetPrivateProfileStringA
00441A09 . 68 FCFC5100
PUSH 0051FCFC
; /IniFileName = ""
00441A0E . 68 00100000
PUSH 1000
; |BufSize = 1000 (4096.)
00441A13 . 68 EC065200
PUSH 005206EC
; |ReturnBuffer = Immunity.005206EC
00441A18 . 8D46 3E
LEA EAX,
DWORD PTR DS:[
ESI+3E]
; |
00441A1B . 50
PUSH EAX ; |Default
00441A1C . 8D96 C6350000
LEA EDX,
DWORD PTR DS:[
ESI+35C6]
; |
00441A22 . 52
PUSH EDX ; |Key
00441A23 . 8D8E D4350000
LEA ECX,
DWORD PTR DS:[
ESI+35D4]
; |
00441A29 . 51
PUSH ECX ; |Section
00441A2A . E8 B5FA0A00
CALL <JMP.&KERNEL32.GetPrivateProfileStr>
; \GetPrivateProfileStringA
找到后修改 00441A39
XOR EAX,
EAX 为
JMP 00441ABC
2 去广告窗口
(1) 还原工具栏颜色
在 OD 中查找十六进制码
47 83 C6 18 8B 06 85 C0 74 12 8B 95 A8 ED FF FF 3B 95 B0 ED FF FF 0F 8C 2E FB FF FF 8B 8D A8 ED
FF FF 3B 8D B0 ED FF FF 0F 8D AE 00 00 00
也就是下面这段代码
00438A0C > \47
INC EDI
00438A0D . 83C6 18
ADD ESI,18
00438A10 > 8B06
MOV EAX,
DWORD PTR DS:[
ESI]
00438A12 . 85C0
TEST EAX,
EAX
00438A14 . 74 12
JE SHORT 00438A28
00438A16 . 8B95 A8EDFFFF
MOV EDX,
DWORD PTR SS:[
EBP-1258]
00438A1C . 3B95 B0EDFFFF
CMP EDX,
DWORD PTR SS:[
EBP-1250]
00438A22 .^ 0F8C 2EFBFFFF
JL 00438556
00438A28 > 8B8D A8EDFFFF
MOV ECX,
DWORD PTR SS:[
EBP-1258]
00438A2E . 3B8D B0EDFFFF
CMP ECX,
DWORD PTR SS:[
EBP-1250]
00438A34 . 0F8D AE000000
JGE 00438AE8
修改 00438A3A
MOV EAX,
DWORD PTR DS:[51E534] 为
MOV EAX,
DWORD PTR DS:[51E53C]
(2) 鼠标划过时免创建广告窗口
在 OD 中查找十六进制码
8B 55 14 A1 ?? ?? ?? 00 C1 EA 10 83 C0 FB 0F B7 CA 3B C8 0F 8D 70 02 00 00 83 3D ?? ?? ?? 00 00
也就是下面这段代码
00437EAA . 8B55 14
MOV EDX,
DWORD PTR SS:[
EBP+14]
00437EAD . A1 44F05200
MOV EAX,
DWORD PTR DS:[52F044]
00437EB2 . C1EA 10
SHR EDX,10
00437EB5 . 83C0 FB
ADD EAX,-5
00437EB8 . 0FB7CA
MOVZX ECX,
DX
00437EBB . 3BC8
CMP ECX,
EAX
00437EBD . 0F8D 70020000
JGE 00438133
00437EC3 . 833D D0EA5200 00
CMP DWORD PTR DS:[52EAD0],0
修改 00437ECA
JNZ 00438171 为
JMP 00438171
3 修改状态栏提示信息
在 OD 的数据窗口中查找十六进制码
49 6D 6D 75 6E 69 74 79 20 44 65 62 75 67 67 65 72 20 76 25 69 2E 25 30 32 69 25 73 25 73 20 3A
也就是下面这段数据
004FB162 49 6D 6D 75 6E 69 74 79 20 44 65 62 75 67 67 65 Immunity Debugge
004FB172 72 20 76 25 69 2E 25 30 32 69 25 73 25 73 20 3A r v%i.%02i%s%s :
修改末尾的 20 3A 为 00 3A
二 自动获取 Plugin 和 UDD 路径
在 OD 的 CPU 窗口中鼠标右键菜单中搜索->所有常数 输入十六进制 7F02 找到如下代码
0043FDAD . 68 027F0000
PUSH 7F02
; /RsrcName = IDC_WAIT
0043FDB2 . 6A 00
PUSH 0
; |hInst = NULL
0043FDB4 . E8 E91C0B00
CALL <LoadCursorA>
; \LoadCursorA(1) 修改原代码为 PATCH 地址
修改 0043FDAD
PUSH 7F02 为
JMP 00576000 (这的区段为 .Patch 段,是我为了以后写补丁代码自己增加的段)
(2) 写入需要用到的字符串
到 00575000 写入如下字符串
00575000 70 6C 75 67 69 6E 00 55 44 44 00 00 00 00 00 00 plugin.UDD......
十六进制代码为:
70 6C 75 67 69 6E 00 55 44 44 00
(3) 增加自动获取路径的代码
到 00576000 写下如下代码(建议用 IDAFicator 插件写入):
PUSHAD
MOV EDI,51E1A4
XOR EAX,
EAX
XOR ECX,
ECX
DEC ECX
REPNE SCAS BYTE PTR ES:[
EDI]
NEG ECX
DEC ECX
PUSH ECX
PUSH 0FF
MOV EDI,575100
PUSH 51E1A4
PUSH EDI
CALL 004F16DC
POP ECX
MOV BYTE PTR DS:[
ECX+
EDI-1],5C
MOV BYTE PTR DS:[
ECX+
EDI],0
ADD EDI,100
PUSH ECX
PUSH 0FF
PUSH 575100
PUSH EDI
CALL 004F16DC
POP ECX
PUSH ECX
PUSH 7
PUSH 575000
SUB EDI,100
ADD EDI,
ECX
PUSH EDI
CALL 004F16DC
PUSH 4
PUSH 575007
ADD EDI,100
PUSH EDI
CALL 004F16DC
PUSH 51FCFC
PUSH 575200
PUSH 4F9DE1
PUSH 4F9D4D
CALL 004F16C4
PUSH 51FCFC
PUSH 575100
PUSH 4F9DEA
PUSH 4F9D4D
CALL 004F16C4
POP ECX
PUSH ECX
MOV EDI,575100
ADD ECX,7
XOR EAX,
EAX
REP STOS BYTE PTR ES:[
EDI]
POP ECX
ADD ECX,4
MOV EDI,575200
XOR EAX,
EAX
REP STOS BYTE PTR ES:[
EDI]
POPAD
PUSH 7F02
PUSH 43FDB2
RETN
十六进制代码为:
60 BF A4 E1 51 00 33 C0 33 C9 49 F2 AE F7 D9 49 51 68 FF 00 00 00 BF 00 51 57 00 68 A4 E1 51 00
57 E8 B6 B6 F7 FF 59 C6 44 39 FF 5C C6 04 39 00 81 C7 00 01 00 00 51 68 FF 00 00 00 68 00 51 57
00 57 E8 95 B6 F7 FF 59 51 6A 07 68 00 50 57 00 81 EF 00 01 00 00 03 F9 57 E8 7E B6 F7 FF 6A 04
68 07 50 57 00 81 C7 00 01 00 00 57 E8 6B B6 F7 FF 68 FC FC 51 00 68 00 52 57 00 68 E1 9D 4F 00
68 4D 9D 4F 00 E8 3A B6 F7 FF 68 FC FC 51 00 68 00 51 57 00 68 EA 9D 4F 00 68 4D 9D 4F 00 E8 21
B6 F7 FF 59 51 BF 00 51 57 00 83 C1 07 33 C0 F3 AA 59 83 C1 04 BF 00 52 57 00 33 C0 F3 AA 61 68
02 7F 00 00 68 B2 FD 43 00 C3
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)