首页
社区
课程
招聘
[讨论]对“对一个IAT加密壳的分析 ”一文的怀疑
发表于: 2013-4-2 05:47 3399

[讨论]对“对一个IAT加密壳的分析 ”一文的怀疑

2013-4-2 05:47
3399
最近心血来潮,想玩一下IAT加密
所以 在论坛上翻来覆去 找到一篇文章
http://bbs.pediy.com/showthread.php?t=93019
我就很好奇 作者最后那么修复行吗?
貌似按照你那么修改只能修复三个dll吧 (kernel32 user32 winmm)
貌似其他不能修改吧
我的解决方法如下
003A00DD    55              push ebp
003A00DE    8BEC            mov ebp,esp
003A00E0    83C4 FC         add esp,-0x4
003A00E3    53              push ebx
003A00E4    57              push edi
003A00E5    56              push esi
003A00E6    E8 00000000     call 003A00EB
003A00EB    5B              pop ebx
003A00EC    81EB FE103E00   sub ebx,0x3E10FE
003A00F2    FF75 10         push dword ptr ss:[ebp+0x10]
003A00F5    FF75 0C         push dword ptr ss:[ebp+0xC]
003A00F8    FF75 08         push dword ptr ss:[ebp+0x8]
003A00FB    FF93 2F103E00   call dword ptr ds:[ebx+0x3E102F]
003A0101    8945 FC         mov dword ptr ss:[ebp-0x4],eax
003A0104    8B8B 61103E00   mov ecx,dword ptr ds:[ebx+0x3E1061]
003A010A    3B4D 08         cmp ecx,dword ptr ss:[ebp+0x8]
[COLOR="Red"]003A010D    75 63           jnz X003A0172[/COLOR]
003A010F    33C0            xor eax,eax
003A0111    0383 43103E00   add eax,dword ptr ds:[ebx+0x3E1043]
003A0117    74 0D           je X003A0126
003A0119    05 07000000     add eax,0x7
003A011E    3B83 47103E00   cmp eax,dword ptr ds:[ebx+0x3E1047]
003A0124    72 25           jb X003A014B
003A0126    6A 40           push 0x40
003A0128    68 00100000     push 0x1000
003A012D    68 00100000     push 0x1000
003A0132    6A 00           push 0x0
003A0134    FF93 3F103E00   call dword ptr ds:[ebx+0x3E103F]
003A013A    8983 43103E00   mov dword ptr ds:[ebx+0x3E1043],eax
003A0140    05 00100000     add eax,0x1000
003A0145    8983 47103E00   mov dword ptr ds:[ebx+0x3E1047],eax
003A014B    8DBB E9103E00   lea edi,dword ptr ds:[ebx+0x3E10E9]
003A0151    8BF7            mov esi,edi
003A0153    81C7 01000000   add edi,0x1
003A0159    8B45 FC         mov eax,dword ptr ss:[ebp-0x4]
003A015C    AB              stos dword ptr es:[edi]
003A015D    8BBB 43103E00   mov edi,dword ptr ds:[ebx+0x3E1043]
003A0163    8BC7            mov eax,edi
003A0165    B9 07000000     mov ecx,0x7
003A016A    018B 43103E00   add dword ptr ds:[ebx+0x3E1043],ecx
003A0170    F3:A4           rep movs byte ptr es:[edi],byte ptr ds:[>
003A0172    5E              pop esi
003A0173    5F              pop edi
003A0174    5B              pop ebx
003A0175    C9              leave
003A0176    C2 0C00         retn 0xC

上面是源代码
我们应该进入的自定义GetProcAddress里面,再修改一下关键跳转,才是王道
修改为
003A0104    8B8B 61103E00   mov ecx,dword ptr ds:[ebx+0x3E1061]
003A010A    3B4D 08         cmp ecx,dword ptr ss:[ebp+0x8]
[COLOR="red"]003A010D    EB 63           jmp X003A0172[/COLOR]
003A010F    33C0            xor eax,eax
003A0111    0383 43103E00   add eax,dword ptr ds:[ebx+0x3E1043]
003A0117    74 0D           je X003A0126
003A0119    05 07000000     add eax,0x7



[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回