文章分类 -  脱壳

摘要:1、首先,PEiD查壳: FSG 1.33 -> dulek/xt2、OD载入程序,在调试选项中,忽略除“内存访问异常”之外的所有异常。先按F9,程序可以启动起来,也就是中 间没有SEH暗桩,TC跟踪法正好适合这种没有SEH暗桩的加壳程序。接下来,就介绍如何使用TC跟踪法实现脱壳。3、重新载入程序,程序断在蓝色代码处,如下所示: 00430764 BE A4014000 mov esi,FSG_1_33.004001A4 00430769 AD lods dword ptr ds:[esi] 0043076A 93 xchg eax,ebx 0043076B AD lods dword 阅读全文
posted @ 2012-07-12 11:11 monkeycd 阅读(253) 评论(0) 推荐(0)
摘要:ASProtect 1.23 在原来版本的基础上,增加了更多的功能,使得ASProtect的保护能力更强了。废话不多说,就以一个叫做Crystal Button 的程序为例,说明一下脱壳的过程,很有意思的!1、PEiD查壳,显示为:ASProtect 1.23 RC4 - 1.3.08.24 -> Alexey Solodovnikov。2、OD载入应用程序,发现,第27次shift+F9时,程序运行了起来,因此,我们运行到第26次时,停下。此时断到红色代码行,代码如下:00E639EC 3100 xor dword ptr ds:[eax],eax00E639EE 64:8F05 00 阅读全文
posted @ 2012-07-12 11:10 monkeycd 阅读(647) 评论(0) 推荐(0)
摘要:最近,安装了一个做ISO的共享软件UltraISO,想分析一下,程序是加壳的,是ASPack壳(ASPack 2.12 -> Alexey Solodovnikov)。好,现在脱壳!OD载入,断到下面位置:00C0E001 > 60 pushad00C0E002 E8 03000000 call UltraISO.00C0E00A00C0E007 - E9 EB045D45 jmp 461DE4F700C0E00C 55 push ebp00C0E00D C3 retn00C0E00E E8 01000000 call UltraISO.00C0E01400C0E013 EB 5D 阅读全文
posted @ 2012-07-12 11:10 monkeycd 阅读(173) 评论(0) 推荐(0)
摘要:关于upx壳,其实很容易脱壳,使用ESP定律,便可以很容易的脱掉。废话不多说,以notepad的UPX为例,说明ESP定律的使用过程。 1、先用PEiD查壳, UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo 2、OD载入,断到蓝色的代码行处,如下所示: 0040E8C0 60 pushad 0040E8C1 BE 15B04000 mov esi,UPX.0040B015 0040E8C6 8DBE EB5FFFFF lea edi,dword ptr ds:[esi+FFFF5FEB] 0040E8CC 57 push ed 阅读全文
posted @ 2012-07-12 11:09 monkeycd 阅读(1191) 评论(0) 推荐(0)
摘要:1、PEiD查壳: PECompact 2.5 Retail -> Jeremy Collake2、OD载入程序,程序断到蓝色代码处: 01001000 B8 90BA0101 mov eax,PECompac.0101BA90 01001005 50 push eax 01001006 64:FF35 0000000>push dword ptr fs:[0] 0100100D 64:8925 0000000>mov dword ptr fs:[0],esp 此时,在命令行处,输入:BP VirtualFree,回车,Shift+F9,程序断下,并按ALT+F9,来到程序领 阅读全文
posted @ 2012-07-12 11:09 monkeycd 阅读(572) 评论(0) 推荐(0)
摘要:1、PEiD查壳: nSPack 1.3 -> North Star/Liu Xing Ping2、OD载入,忽略所有的异常,隐藏OD,断到如下的蓝色代码行: 00484375 9C pushfd 00484376 60 pushad 00484377 E8 00000000 call nspack_1.0048437C 0048437C 5D pop ebp 0048437D B8 B3854000 mov eax,nspack_1.004085B3 00484382 2D AC854000 sub eax,nspack_1.004085AC 此时,在代码区域右单击,“查找”-> 阅读全文
posted @ 2012-07-12 11:08 monkeycd 阅读(217) 评论(0) 推荐(0)
摘要:1、PEiD查壳: yoda's cryptor 1.22、OD载入,忽略所有异常,隐藏OD,程序断到入口点, 0040D060 60 pushad 0040D061 E8 00000000 call Yoda's_C.0040D066 0040D066 5D pop ebp 0040D067 81ED F31D4000 sub ebp,Yoda's_C.00401DF3 0040D06D B9 7B090000 mov ecx,97B 貌似可以使用ESP定律法,其实,是不能使用ESP定律的。此时,点击:“查看”->“内存”,在.rsrc区段上,设置内存断点,F9 阅读全文
posted @ 2012-07-12 11:08 monkeycd 阅读(280) 评论(0) 推荐(0)
摘要:1、PEiD查壳: tElock 0.98b1 -> tE!2、OD载入,隐藏OD,在异常选项中,去掉所有忽略的异常,Shift+F9,一共需要按21次,程序就跑起来了,因此,我们使用最后一次异常法,脱壳。3、重新载入程序,Shift+F9,按至20次时,程序来到如下蓝色命令行处: 0040D817 73 DC jnb short tElock.0040D7F5 0040D819 CD20 64678F06 vxdcall 68F6764 0040D81F 0000 add byte ptr ds:[eax],al 0040D821 58 pop eax 0040D822 61 popa 阅读全文
posted @ 2012-07-12 11:07 monkeycd 阅读(511) 评论(0) 推荐(0)
摘要:1、PEiD查壳: yoda's cryptor 1.2 ,其实是不太准确的,这是一个Yoda's Crypter v1.2.98的壳;2、OD载入,隐藏OD,忽略所有异常,按shift+F9,此时,其左下角显示:访问违规:写入到[00000000] - 使用|Shift+F7/F8/F9|键忽略异常以继续执行,此时,观察右下角的堆栈,显示如下数据: 0012FFBC 0012FFE0 指针到下一个 SEH 记录 0012FFC0 0040D70C SE 句柄 0012FFC4 7C817077 返回到 kernel32.7C817077 在代码窗口中,CTRL+G,输入004 阅读全文
posted @ 2012-07-12 11:07 monkeycd 阅读(304) 评论(0) 推荐(0)
摘要:1、PEiD查壳: PEtite 2.x [Level 0] -> Ian Luck2、OD载入,隐藏OD,忽略除内存访问异常外的所有异常,程序断到蓝色代码处: 0040D10B B8 00D04000 mov eax,PETITE_9.0040D000 0040D110 6A 00 push 0 0040D112 68 9CCA4000 push PETITE_9.0040CA9C 0040D117 64:FF35 0000000>push dword ptr fs:[0] 0040D11E 64:8925 0000000>mov dword ptr fs:[0],esp 阅读全文
posted @ 2012-07-12 11:06 monkeycd 阅读(120) 评论(0) 推荐(0)
摘要:1、PEiD查壳: FSG 2.0 -> bart/xt2、OD载入,隐藏OD,忽略除内存访问异常外的所有异常,程序断到蓝色代码处: 00400154 F> 8725 EC444100 xchg dword ptr ds:[4144EC],esp 0040015A 61 popad 0040015B 94 xchg eax,esp F8单步跟踪至红色代码行,查看右下角的堆栈,显示为: 004144F0 004001E8 FSG_2_0.004001E8 004144F4 004001DC FSG_2_0.004001DC 004144F8 004001DE FSG_2_0.0040 阅读全文
posted @ 2012-07-12 11:05 monkeycd 阅读(357) 评论(0) 推荐(0)