【逆向-脱壳篇】实战压缩壳——掌控安全最强

catgames   ·   发表于 2018-07-28 17:28:10   ·   技术文章投稿区

【主题】一步直达法实战压缩壳

【作者】CatGames

我昨天发的调戏大黑客的帖子不知道各位同学看了没,如果没看呢,可以点击直达车~

调戏大黑客直达车:http://bbs.zkaq.cn/?t/745.html

个人主页:CatGames.cn

PHP云加密平台: php.CatGames.cn

xss平台:CatGames.cn/xss/admin 

这一次既然是要讲脱壳,还是先介绍一下,什么是壳。

一般的病毒就是这样做免杀的.
加壳的全称应该是可执行程序资源压缩,是保护文件的常用手段.
加壳过的程序可以直接运行,但是不能查看源代码.要经过脱壳才可以查看源代码.
加壳:其实是利用特殊的算法,对EXEDLL文件里的资源进行压缩。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。
解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。现在的CPU都很快,所以这个解压过程你看不出什么东西。软件一下子就打开了,只有你机器配置非常差,才会感觉到不加壳和加壳后的软件运行速度的差别。当你加壳时,其实就是给可执行的文件加上个外衣。用户执行的只是这个外壳程序。当你执行这个程序的时候这个壳就会把原来的程序在内存中解开,解开后,以后的就交给真正的程序。所以,这些的工作只是在内存中运行的,是不可以了解具体是怎么样在内存中运行的。通常说的对外壳加密,都是指很多网上免费或者非免费的软件,被一些专门的加壳程序加壳,基本上是对程序的压缩或者不压缩。因为有的时候程序会过大,需要压缩。但是大部分的程序是因为防止反跟踪,防止程序被人跟踪调试,防止算法程序不想被别人静态分析。加密代码和数据,保护你的程序数据的完整性。不被修改或者窥视你程序的内幕。
当当当这就是壳的基本介绍~哈哈哈哈哈

进入正题


0x01 查看软件

有一个按钮诶,点一下试试!

没什么东西哦!


0x02

首先国际惯例,查壳PEID看看。

PEID显示是UPX,所以我们基本可以断定是UPX壳

那么就载入OD吧


0x03 载入OD ctrl+F 搜索 POPAD

猫猫百科提示 phpad

汇编语言中的PUSHAD和POPAD是一对互逆的操作指令,通常成对出现。IA-32的PUSHAD指令在堆栈中按顺序压入下列寄存器:

EAX,ECX,EDX,EBX,ESP,EBP,ESI和EDI.

POPAD指令则是PUSHAD指令的逆操作。POPAD指令按照与上面相反的顺序依次弹出寄存器的值。顺序为

EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX.

PUSHAD和POPAD指令通常成对出现,用以保存和恢复CPU的环境变量。

中文意思:恢复寄存器。

各位同学记得把这个整个块取消哦。别问我为什么

然后点击查找之后。

各位同学看到下面的那个Jmp指令了吗,我跟各位同学打个赌,Jmp过去的地址就是OEP。

我赌一包卫龙。


0x04 直接选中JMP 按下F4 然后单步。

当当当,这就是大家熟悉的OEP啦~


0x05 先保存看看 能不能运行 如果不能就要修复转存了

右键,用OllyDump脱壳调试进程。

保存即可,记得OD不要关掉哦

看来还是需要修复转存呢。


0x06 修复转存

打开ImpREC FINAL 1.7

找到我们的这个进程

把之前DUMP的那个OEP复制进去

获取导入表什么的,这些自动搜索,就不多解释了

我们还需要用到LordPE

还是一样找到我们的进程。
修复镜像大小

 

然后完整转存保存。

点击修正储存。

选中LordPE完整转存的这个程序点击打开即可

这里显示保存成功,现在我们去看看吧。

 软件我已经放在了附件,大家下载即可。

如果喜欢此帖子,打赏点赞即可

打赏我,让我更有动力~

Attachment List

ruanjian.rar   File Size:2.394M (Download Count:0)   Price:1

1 Reply   |  Until 2018-7-28 | 2382 View

catgames
发表于 2018-7-28

这个发帖的编辑框 BUG不是一个两个啊  无语

评论列表

  • 加载数据中...

编写评论内容
LoginCan Publish Content
返回顶部 投诉反馈

© 2016 - 2022 掌控者 All Rights Reserved.