![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
脱壳
很酷很爱笑
这个作者很懒,什么都没留下…
展开
-
脱壳--03.exe OD脚本脱壳
和02程序类似 但是我们换一种方式脱壳 就是利用OD脚本脱壳 我们通过02程序知道壳代码在获取真正的api地址以后 会对api地址做一些处理 然后在填写到iat表中 在我们调用api的时候 并没有直接调用到api 而是加密后的api的代码 脚本的框架:只需要知道三个地址 获取真正api的地址 填写iat的地址和oep的地址 得到获取真正api的地址把api地址存放在一个临时变量里 中间不管他怎么加密 到填写IAT表的时候 都会填写我们事先保存的临时变量里的api的地址 我们现在只要调试出这三原创 2022-02-08 19:03:59 · 1275 阅读 · 0 评论 -
脱壳--02.exe
程序开始 使用OD打开程序 发现无法利用esp定律 程序直接运行 查找模块间调用 随便找到一个函数的调用 发现是FF15方式调用 所以是vs的程序 vs程序大致分成两种 vs20xx (特征函数:GetSystemTimeAsFileTime)和 vc++6.0(特征函数:GetVersion) 通过链接器版本 发现是vc6.0 直接在GetVersion上下断点 重新运行程序 断点断下 返回到调用处 vc6.0和易语言的第一个CALL都是GetVers...原创 2022-02-08 16:06:54 · 805 阅读 · 0 评论 -
脱壳--00.upx.exe
OD打开程序 直接esp定律 直接运行程序 发现这个jmp的跳转距离较大 像是跳到oep的样子 让我们跳转一下 入口点五个连续的call 下面还都是0 第一个函数调用还是GetModuleHandleA函数的的话那就是一个Delphi程序 直接DUMP 和修复导入表 转存文件到dump的程序 脱壳成功 程序成功运行 ...原创 2022-02-08 15:07:15 · 320 阅读 · 0 评论 -
脱壳--00.exe
使用OD打开 发现不能使用esp定律了 我们可以通过特征去找到OEP(入口点) 直接运行程序 发现是FF15方式调用函数 就可以确定是VS的程序 vs程序大致分成两种 vs20xx (特征函数:GetSystemTimeAsFileTime)和 vc++6.0(特征函数:GetVersion) 在这两个函数上下断点 直接运行程序 程序断下 发现并不是我们的模块调用的此函数 继续运行直到可返回我们的模块位置 返回自己代码的模块调用的函数以后,在向上一层应该就是我们的...原创 2022-02-08 14:51:27 · 559 阅读 · 0 评论 -
脱壳--00.aspack.exe
OD打开程序 发现可以使用esp定律的方式脱壳 程序运行一步 在esp上下断点 然后直接运行程序 就会跑到popad的下一句 这是因为壳代码在执行前会保存源程序寄存器的环境 为了能正确运行原程序的功能 就要用pushad保存源程序的寄存器环境 在壳代码执行完毕后要执行源程序代码前就要恢复寄存器环境 所以发现popad也就离源程序的入口点不远了 让我们继续单步 单步到ret ret以后 再结合我们的特征看 有看到有call jmp 回车进入call ...原创 2022-02-08 14:12:17 · 173 阅读 · 0 评论