脱壳
初识逆向
这个作者很懒,什么都没留下…
展开
-
脱壳入门(三)之UPX压缩壳
脱壳入门(三)之UPX压缩壳一、找OEP查壳:UPX壳、链接器版本2.25(可能是Delphi程序)、区段信息根据ESP定律寻找OEPOEP定律原理:壳代码就像一个函数,进入时会开辟堆栈、保存寄存器环境,退出时会恢复堆 栈、恢复寄存器。所以应该是堆栈平衡的,那我们可以在壳代码操作了堆栈后对堆栈设置访问或写入断点,然后运行程序,当断点命中的时候,应该就是退出壳代码的时候。在其附近单步...原创 2019-08-07 22:02:53 · 466 阅读 · 0 评论 -
脱壳入门(四)之nSPack3.7北斗压缩壳
脱壳入门(四)之nSPack3.7北斗压缩壳一、寻找OEP查壳:nSPack 3.7壳、编译器版本12.0(VS2013)、区段信息寻找OEP壳入口点就是pushad pushfd,可以用ESP定律脱壳,压栈完成后,esp下硬件断点F7单步走到原程序入口点二、Dump文件三、修复文件修复文件,可以成功运行,脱壳成功...原创 2019-08-08 09:36:08 · 1272 阅读 · 0 评论 -
脱壳入门(五)之15Pack壳
脱壳入门(五)之15Pack壳1.寻找OEP查壳:没查到壳,但是呢入口点没有指向.text代码段,而且区段也有点可疑,15pack像是人为起的名字。编译器版本6.0(VC6.0或者是易语言程序)寻找OEP:入口代码看起来很像OEP,我们进第一个CALL看一下API调用,发现这应该是壳代码获取关键API的代码,非OEP代码我们不知道这是个什么壳,看起来ESP定律也没用,只能换一种方...原创 2019-08-08 11:11:17 · 704 阅读 · 0 评论 -
脱壳入门(六)之未知加密壳
脱壳入门(六)之未知加密壳一、找OEP查壳:未知壳,编译器版本6.0(VC6.0或易语言程序)找OEP:未知壳就只能先用OD看看了,壳的入口代码很熟悉了,用ESP定律就可以了,断下后F7单步到OEP二、解密IAT在IAT表下硬件写入断点,找到填充IAT的代码位置,注意,这个壳加了花指令混淆功能,程序断下后Ctrl+↑定位上一条指令,然后分析F7单步运行,跟一遍IAT加密的流...原创 2019-08-08 19:15:25 · 1084 阅读 · 0 评论 -
脱壳入门(七)之未知壳
脱壳入门(七)之未知壳一、找OEP查壳:看起来好像没壳,编译器版本7.0(VC2003)、.CODE段应该是Delphi程序的区段特征2.找OEP,有壳没壳用OD看看,上面一段还挺像入口点的,在往下看就不像了,也不太肯定每个区段都看了下,发现.CODE段全是0,这说明啥,这段代码被加密压缩了,放到其他地方了,我们直接F9运行,看看变不变看看代码被解密出来了,这能证明有壳了吧翻...原创 2019-08-08 21:23:51 · 690 阅读 · 0 评论 -
脱壳入门(二)之FSG2.0压缩壳
脱壳入门(二)之FSG2.0压缩壳一、环境和工具Windows7+OllyDbg+PEID二、寻找OEP用PEID工具查壳壳是FSG2.0压缩壳、链接器版本被隐藏了、区段也没名字、也不知到是什么语言编写的。FSG2.0壳有一些特征,可以根据特征来寻找OEP方法一:跳转到OEP代码: JMP DWORD PTR DS:[EBX+0xC]Ctrl+F搜索该条指令,F7单步一步跳...原创 2019-08-07 21:37:35 · 1054 阅读 · 0 评论 -
脱壳入门(八)之带反调试的加密壳
文章目录程序分析分析过程1.找OEP2.反反调试3.解密IAT4.OD脚本还原IAT5.内存重建IAT表6.Dump文件,修复程序分析查壳:PESpin壳,连接器版本也没有分析过程1.找OEP用OD载入文件,F7单步走几步就可以看到pushad,用ESP定律程序直接运行完毕,并没有断下来,这说明这个壳有清除硬件断点的反调试得换条路,下API断点,常见的入口APIVB程序:Ge...原创 2019-09-05 14:40:34 · 1090 阅读 · 0 评论