能力值:
( LV2,RANK:10 )
|
-
-
2 楼
可惜权限不够,不能上传文件
|
能力值:
(RANK:350 )
|
-
-
3 楼
最初由 燕青 发布 然后到oep:10004f5f 用loadpe抓取, IRT:d000,长度:10c,用移花接木大办法抓取,修复DLL文件,发现不能替换原文件,请问: ........
不知你这步是啥意思。
一般步骤:到OEP后,直接将整个映像Dump出来,然后再用ImportREC修复输入表(DLL文件修复时,必须指定IAT的地址与大小)。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
多谢版主指点,IRT指定地址不能抓取,所以通过拷贝IRT到另外的程序如notepad抓取
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
我想了解的是完全dump下来之后的具体操作过程,有范例更好了
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
最初由 燕青 发布 我想了解的是完全dump下来之后的具体操作过程,有范例更好了
IRT是啥东西?
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
1.Magic Jump
00985CFA 50 push eax
00985CFB FF15 BC629A00 call [9A62BC] ; kernel32.LoadLibraryA
00985D01 8B0D AC409B00 mov ecx, [9B40AC]
00985D07 89040E mov [esi+ecx], eax
00985D0A A1 AC409B00 mov eax, [9B40AC]
00985D0F 391C06 cmp [esi+eax], ebx
00985D12 E9 30010000 jmp 00985E47 ; Magic Jump 改 JE 为 JMP 避开 IAT 加密
00985D17 90 nop
00985D18 33C9 xor ecx, ecx
00985D1A 8B07 mov eax, [edi]
00985D1C 3918 cmp [eax], ebx
00985D1E 74 06 je short 00985D26
2 获得重定位信息
0099CF59 C705 E0C09A00 6>mov dword ptr [9AC0E0], 9ACB60
0099CF63 A1 E49F9B00 mov eax, [9B9FE4]
0099CF68 8B00 mov eax, [eax] ; 这个0003c000就是重定位表的RVA
0099CF6A 8985 3CD9FFFF mov [ebp-26C4], eax
0099CF70 A1 E49F9B00 mov eax, [9B9FE4]
0099CF75 83C0 04 add eax, 4
0099CF78 A3 E49F9B00 mov [9B9FE4], eax
0099CF7D A1 E49F9B00 mov eax, [9B9FE4]
0099CF82 8B00 mov eax, [eax] ; 这个00000f48就是重定位表的大小
3.oep
10004F5F 55 push ebp ; This is the OEP!
10004F60 8BEC mov ebp, esp
10004F62 53 push ebx
10004F63 8B5D 08 mov ebx, [ebp+8]
10004F66 56 push esi
10004F67 8B75 0C mov esi, [ebp+C]
10004F6A 57 push edi
10004F6B 8B7D 10 mov edi, [ebp+10]
10004F6E 85F6 test esi, esi
4.dump
用loadPE fulldump下来到dumped.dll
5寻找IRT
手动找
发现IaT在d000,长度为10c
问题是下面该如何修复这个dll,请高手指点
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
顶一下,那位高手指点一下,不胜感激
|
能力值:
(RANK:350 )
|
-
-
9 楼
最初由 燕青 发布 问题是下面该如何修复这个dll,请高手指点
3楼己说明了,用ImportREC修复输入表(DLL文件修复时,必须指定IAT的地址与大小)。
重定位表的地址与大小修正一下就行。
|
|
|