-
-
[讨论]对“对一个IAT加密壳的分析 ”一文的怀疑
-
发表于: 2013-4-2 05:47 3399
-
最近心血来潮,想玩一下IAT加密
所以 在论坛上翻来覆去 找到一篇文章
http://bbs.pediy.com/showthread.php?t=93019
我就很好奇 作者最后那么修复行吗?
貌似按照你那么修改只能修复三个dll吧 (kernel32 user32 winmm)
貌似其他不能修改吧
我的解决方法如下
上面是源代码
我们应该进入的自定义GetProcAddress里面,再修改一下关键跳转,才是王道
修改为
所以 在论坛上翻来覆去 找到一篇文章
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直播授课
赞赏
他的文章
- [原创]2022年元旦礼物--移除golang符号 27503
- python HEX打印字符串 8442
- [分享]aspack 出新产品ASObfuscator 5013
- [原创]现实社工--随意进入你房间 5533
- [原创]沙箱的攻与防 9196
赞赏
雪币:
留言: