扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
先用peid查下壳ASProtect 1.22 - 1.23 Beta 21 -> Alexey Solodovnikov
貌似强壳 5555
开工:
OD载入 异常除"内存访问异常"外全部打勾
来到
00401000 >68 01808F00 PUSH H_Client.008F8001 //od载入后入口
00401005 E8 01000000 CALL H_Client.0040100B
0040100A C3 RETN
0040100B C3 RETN
0040100C 9A 7E20FA70 DF9>CALL FAR 9DDF:70FA207E ;远距调用
00401013 DAACD6 4CCCF004 FISUBR DWORD PTR DS:[ESI+EDX*8+4F0CC4C]
0040101A 47 INC EDI
0040101B D5 E3 AAD 0E3
0040101D 93 XCHG EAX,EBX
0040101E E7 94 OUT 94,EAX ;I/O 命令
00401020 AE SCAS BYTE PTR ES:[EDI]
00401021 0852 81 OR BYTE PTR DS:[EDX-7F],DL
00401024 2240 67 AND AL,BYTE PTR DS:[EAX+67]
00401027 66:BA C3EF MOV DX,0EFC3
0040102B 9E SAHF
直接F9 运行
提示:访问违反:写入到[00000000]-使用shift+f7/f8/f9跳过异常以继续执行程序
出现
013D311C 3100 XOR DWORD PTR DS:[EAX],EAX
013D311E EB 01 JMP SHORT 013D3121
013D3120 68 648F0500 PUSH 58F64
013D3125 0000 ADD BYTE PTR DS:[EAX],AL
013D3127 00EB ADD BL,CH
013D3129 02E8 ADD CH,AL
013D312B 0158 68 ADD DWORD PTR DS:[EAX+68],EBX
013D312E AC LODS BYTE PTR DS:[ESI]
013D312F A9 3C016858 TEST EAX,5868013C
013D3134 313D 01685C27 XOR DWORD PTR DS:[275C6801],EDI
013D313A 3D 01685824 CMP EAX,24586801
看右小角
0012FF90 0012FFE0 指针到下一个 SEH 记录
0012FF94 013D30D3 SE 句柄
0012FF98 008F837C 返回到 H_Client.008F837C 来自 H_Client.008F837C
0012FF9C 00000000
0012FFA0 008F85F5 H_Client.008F85F5
0012FFA4 00000000
0012FFA8 00000000
go on 直到出现硬盘标识为止
shift +F9
大约22次出现硬盘标识了
注意看右下角
0012FF5C 0012FF64 指针到下一个 SEH 记录
0012FF60 013D3219 SE 句柄
0012FF64 0012FFE0 指针到下一个 SEH 记录
0012FF68 013D38FC SE 句柄
0012FF6C 0012FF90
0012FF70 013C0000
0012FF74 013A0000
0012FF78 013D30B0
0012FF7C 013E189C ASCII "TUgvOAAAKVQ="
0012FF80 00400000 ASCII "MZP"
这时候再四次直接到最后一次异常
013D2AA6 3100 XOR DWORD PTR DS:[EAX],EAX //为asprotect 最后一次异常
013D2AA8 64:8F05 0000000>POP DWORD PTR FS:[0]
013D2AAF 58 POP EAX
013D2AB0 833D 786D3D01 0>CMP DWORD PTR DS:[13D6D78],0
013D2AB7 74 14 JE SHORT 013D2ACD
013D2AB9 6A 0C PUSH 0C
013D2ABB B9 786D3D01 MOV ECX,13D6D78
013D2AC0 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
013D2AC3 BA 04000000 MOV EDX,4
013D2AC8 E8 63E1FFFF CALL 013D0C30
013D2ACD FF75 FC PUSH DWORD PTR SS:[EBP-4]
013D2AD0 FF75 F8 PUSH DWORD PTR SS:[EBP-8]
013D2AD3 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
013D2AD6 8338 00 CMP DWORD PTR DS:[EAX],0
013D2AD9 74 02 JE SHORT 013D2ADD
013D2ADB FF30 PUSH DWORD PTR DS:[EAX]
013D2ADD FF75 F0 PUSH DWORD PTR SS:[EBP-10]
013D2AE0 FF75 EC PUSH DWORD PTR SS:[EBP-14]
013D2AE3 C3 RETN
013D2AE4 5F POP EDI
013D2AE5 5E POP ESI
013D2AE6 5B POP EBX
013D2AE7 8BE5 MOV ESP,EBP
013D2AE9 5D POP EBP
013D2AEA C3 RETN
在013D2AE3 C3 RETN 下断点
然后alt+m查看内存窗口
在code处下内存访问断点
然后shift +f9
到这里
013D2AE3 C3 RETN
013D2AE4 5F POP EDI
013D2AE5 5E POP ESI
013D2AE6 5B POP EBX
013D2AE7 8BE5 MOV ESP,EBP
013D2AE9 5D POP EBP
013D2AEA C3 RETN
013D2AEB 90 NOP
直接F9飞到光明顶
哈哈
005D17FC 55 PUSH EBP //明显的Delphi入口
005D17FD 8BEC MOV EBP,ESP
005D17FF 83C4 F0 ADD ESP,-10
005D1802 53 PUSH EBX
005D1803 56 PUSH ESI
005D1804 B8 5C105D00 MOV EAX,H_Client.005D105C
005D1809 E8 5655E3FF CALL H_Client.00406D64
005D180E 8B1D C8B85D00 MOV EBX,DWORD PTR DS:[5DB8C8] ;H_Client.005E0C8C
005D1814 8B35 C4B95D00 MOV ESI,DWORD PTR DS:[5DB9C4] ;H_Client.005DCBF4
005D181A 8B06 MOV EAX,DWORD PTR DS:[ESI]
005D181C E8 FF5EEBFF CALL H_Client.00487720
005D1821 90 NOP
--------------------------------------------
直接脱壳后
用PEID一查
Borland Delphi 6.0 - 7.0
后续工作
用ImportRec和1.22的aspr插件修复后
程序运行正常
收工 by T4nk
--------------------------------------------
PS:此文章写的超久了 就灰鸽子2007这个版本刚出来的时候
后面有写了文章 〔[原创]灰鸽子2007 Beta 2 木马研究(1)脱壳(脱掉你的衣服)〕有很多朋友来信索取
本小菜深表感谢 只是最近一段时间超忙 一直没有看信件 现在把它发出来 希望对大家有点帮助 而且希望大家不要把灰鸽子改的乱78糟 娱乐一下就好 把XXXXXXX鸟版 哎。。。 废话说完 转载请保留文章完整 谢谢~
由于本人是菜鸟写文章也有一段时间 错误再所难免 希望大虾指下 必感于心~
·上一篇: 经典灰鸽子巧妙利用全攻略(图)
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者