随笔分类 - 脱壳
摘要:虚拟机保护技术 虚拟机保护是一种基于虚拟机的代码保护技术,其将可执行代码转化为字节码(vm_code),并通过自己的指令执行解释系统对这些字节码进行解释并执行专门的子程序(handler)。这个用来解释字节码并执行子程序的系统称为“虚拟机”或“调度器”(可以理解为是一个虚拟的CPU),其类似于JAV
阅读全文
摘要:一步直达法 所谓的一步直达法就是利用壳的特征。壳一般在执行完壳代码之后需要跳转到OEP处,而这个跳转指令一般是call ,jmp ,push retn类型的指令,而且因为壳代码所在的区段和OEP代码所在的区段一般属于不同的区段,所以我们可以通过搜索这些特殊指令的机器码并查看其跳转范围,如果跳转范围较
阅读全文
摘要:前言 对于脱DLL文件的壳时需要注意对重定位表的操作,在重建重定位表的时候需要注意壳代码是否对原程序中需要重定位的数据进行了加密。也就是在dump文件时不能单纯的nop过壳的重定位代码,因为有可能重定位数据被加密了。如果直接nop过此壳的重定位处理代码,那么dump的文件中的需要重定位的数据是错误的
阅读全文
摘要:前言 结合脱dll壳的基本思路,对看雪加密解密里的一个ASPack壳保护的dll进行脱壳分析。 脱壳详细过程 寻找程序的OEP 先将目标DLL拖入OD,来到壳的入口处。 然后利用堆栈平衡原理在pushad后,对栈顶下硬件访问断点。 之后我们直接运行程序,当程序popad后会被断下,观察得出OEP的R
阅读全文
摘要:前言 壳,其本质就是一段程序。这段程序就像一层保护壳一样保护软件不被轻易的逆向破解,那么为了对软件的真正面目进行逆向分析并破解我们就需要将这层壳给“剥去”,我们把这个剥去外壳的过程就称为脱壳。 壳的分类 壳根据其侧重点的不同可以分为两类。一类壳的主要目的是为了压缩程序减小程序的大小,这种壳称为压缩壳
阅读全文