华域联盟 网络安防 手动脱壳入门第十五篇 FSG 1.33

手动脱壳入门第十五篇 FSG 1.33

【脱文标题】 手动脱壳入门第十五篇 FSG 1.33

【脱文作者】 weiyi75[Dfcg]
【作者邮箱】 [email protected]

【作者主页】 Dfcg官方大本营

【使用工具】 Peid,Ollydbg,ImportREC,Loadpe

【脱壳平台】 Win2K/XP

【软件名称】 Unpackme

【软件简介】 Loveboom用VB写的一个FSG压缩的脱壳练习程序

【软件大小】 2.65 KB

FSG 1.33.rar

【加壳方式】 FSG 1.33 -> dulek/xt

【保护方式】 FSG压缩壳

【脱壳声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)

--------------------------------------------------------------------------------

【脱壳内容】

首先Peid查壳,为FSG 1.33 -> dulek/xt,OD载入运行,无任何异常,判断其为压缩壳。

00404B58 > BE A4014000 mov esi, fsg1_33.004001A4 //外壳入口。

00404B5D AD lods dword ptr ds:[esi]
00404B5E 93 xchg eax, ebx

00404B5F AD lods dword ptr ds:[esi]
00404B60 97 xchg eax, edi

00404B61 AD lods dword ptr ds:[esi]
00404B62 56 push esi

00404B63 96 xchg eax, esi

00404B64 B2 80 mov dl, 80

00404B66 A4 movs byte ptr es:[edi], byte ptr ds:[esi>

00404B67 B6 80 mov dh, 80

00404B69 FF13 call dword ptr ds:[ebx]
00404B6B ^ 73 F9 jnb short fsg1_33.00404B66

00404B6D 33C9 xor ecx, ecx

00404B6F FF13 call dword ptr ds:[ebx]
00404B71 73 16 jnb short fsg1_33.00404B89

00404B73 33C0 xor eax, eax

00404B75 FF13 call dword ptr ds:[ebx]
00404B77 73 1F jnb short fsg1_33.00404B98

打开内存镜像,它工作区段就是404000 resources段里面,内存镜像断点没有作用。它也没有用PUSHAD等语句,ESP定律也不能用。据说FSG 1.33还有变形版本,单步慢慢跟踪太费时间,下API断点,也慢。

对付它最好的方法就是模拟跟踪,因为它没有SEH,模拟跟踪最好不过了。

内存镜像,项目 13

地址=00404000

大小=00001000 (4096.)

Owner=fsg1_33 00400000

区段=

包含=SFX,imports,resources // 当前段是在404000里面。

类型=Imag 01001002

访问=R

初始访问=RWE

内存镜像,项目 12

地址=00401000

大小=00003000 (12288.)

Owner=fsg1_33 00400000

区段=

包含=code //Oep肯定是在Code段里面。不管FSG在SFX,imports,resources区段里面解压,循环搞什么飞机。最后肯定要跨段访问401000

Code段。

类型=Imag 01001002

访问=R

初始访问=RWE

于是,命令行下

tc eip BE A4014000 mov esi, fsg1_33.004001A4 //外壳入口。

00404B5D AD lods dword ptr ds:[esi]
00404B5E 93 xchg eax, ebx

00404B5F AD lods dword ptr ds:[esi]
00404B60 97 xchg eax, edi

00404B61 AD lods dword ptr ds:[esi]
00404B62 56 push esi

00404B63 96 xchg eax, esi

00404B64 B2 80 mov dl, 80

00404B66 A4 movs byte ptr es:[edi], byte ptr ds:[esi>

00404B67 B6 80 mov dh, 80

00404B69 FF13 call dword ptr ds:[ebx]
00404B6B ^ 73 F9 jnb short fsg1_33.00404B66

00404B6D 33C9 xor ecx, ecx

00404B6F FF13 call dword ptr ds:[ebx]
00404B71 73 16 jnb short fsg1_33.00404B89

00404B73 33C0 xor eax, eax

00404B75 FF13 call dword ptr ds:[ebx]
00404B77 73 1F jnb short fsg1_33.00404B98

00404B79 B6 80 mov dh, 80

00404B7B 41 inc ecx

00404B7C B0 10 mov al, 10

.........................................................................................

命令行

bp GetModuleHandleA

77E6AB06 >&nbs


本文由 华域联盟 原创撰写:华域联盟 » 手动脱壳入门第十五篇 FSG 1.33

转载请保留出处和原文链接:https://www.cnhackhy.com/127894.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部