脱壳技术,幻影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经过这样处理,已成功脱壳并修复输入表。 幻影新版真的不错。。。。建议去使用和注册。 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏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.