找回密码
 注册
搜索
热搜: 回贴

脱壳技术,幻影2.0b3的脱壳(1千字),脱壳

2010-1-30 18:18| 发布者: admin| 查看: 121| 评论: 0|原作者: 仙之剑缘


脱壳技术,幻影2.0b3的脱壳(1千字),脱壳
2008年06月23日 星期一 下午 02:38
该版有了很大变化,代码得到优化,运行速度很快,是一个相当不错的加壳

软件。



1。anti-debug



主要有:1)通过改变int03的中断门,解码

2)程序启动时用pushf设置一个暗桩解码。单步通过这pushf,后面的解码就会错误。

3)通过int0和int41的中断门,xor,判断是否有调试软件

4)createfile判断常用的调试和侦察软件

5)在ring0,清除drx寄存器

6)运用in、out指令,判断调试跟踪(这里的原理我还没有弄明白)

注册码的计算及比较在壳中。



2。脱壳



用trw2000装载运行dbpe.exe,躲过上述anti-debug,在7b703d cmp [esi],00处停下,从这里开始

解码被加壳程序,当解码完毕,用pedump dump.exe出文件。这时dump.exe中包含了正确的输入表,

输入表的RVA是ca000.不过在IMAGE_IMPORT_DESCRIPTOR中,OriginalFirstThunk、Name、FirstThunk三项

已加密,它的加密很简单,先NOT,再分别与02020202、01010101、03030303 XOR后,就是正确的RVA了。手工

将这些加密的还原回来。



它的OEP是401000(RVA 1000),Import Tatle的RVA是ca000,用pe编辑器将dump.exe的这两个值改回来。



这样修改dump.exe后,还不行。原壳从7B7620处开始,将对4b7b0c后的代码进行处理。跟踪后发现,它将

IAT中的函数指针作了处理。在这里,适当将原代码作一下处理,我是将 mov ebx,[ebx] nop掉,再将mov [edi],esi改

为 mov [edi],ebx.这样改后,等这段代码处理完毕(计数寄存器ecx为零)后,将4b7b0c后的a20字节代码写入一个文件

1.bin,退出原程序dbpe.exe。将1.bin中的数据写进dump.exe的offset b7b0c开始的a20个字节中。



dump.exe经过这样处理,已成功脱壳并修复输入表。



幻影新版真的不错。。。。建议去使用和注册。


最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 23:37 , Processed in 0.128676 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部