破解入门(三)-----脱壳的常用方法介绍

所属分类: 网络安全 / 加密解密 阅读数: 247
收藏 0 赞 0 分享
什么是壳
大家应该先明白“壳”的概念。在自然界中,我想大家对"壳"这东西应该都不会陌生了,植物用它来保护种子,动物用它来保护身体等等。同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。就像动植物的壳一般都是在身体外面一样理所当然(当然后来也出现了所谓的“壳中带籽”的壳)。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。
壳的作用
1 写好一个程序后,不想让别人随便更改其中的版权信息,我们可以加壳对其进行保护防止被修改。
2 可以利用压缩壳减少程序容量,方便程序传播。
3 帮助木马病毒进行免杀,我们可以直接加壳免杀,也可以脱壳对其代码进行修改从而躲过杀毒软件的查杀。
脱壳的基础知识
1壳是怎么装载的?
壳自从加到程序上以后就连在一起了,即对程序进行保护,防止被修改,也就是壳把程序给包裹起来了,而且原程序的数据也被压缩了。
装载的时候通常是先执行壳后再跳到真正的原程序OEP(程序入口点),这时开始运行原先没加壳的程序。
运行顺序:执行带壳文件——执行壳——执行到程序入口点——运行未加壳的程序。
2 壳的分类
壳出于程序作者想对程序资源压缩、注册保护的目的,壳一般分为压缩壳和加密壳两类。
压缩壳:一般只对文件进行压缩处理,既压缩区段和一些资源压缩,以减少文件体积为目的
如:ASPack、UPX、PECompact等
加密壳:跟压缩壳正好相反,一般是牺牲减少体积为代价,对文件进行加密处理,用上各种反跟踪技术保护程序不被调试、脱壳,
如:ASProtect、Armadillo、EXECryptor等
但随着加壳技术的发展,这两类壳之间的界限越来越模糊,很多加壳软件既有压缩功能也有保护性能,而且现在很多加密壳达到壳中带肉,肉中带壳的地步了。
3 OEP (程序入口点)
OEP:Original Entry Point ,程序加壳前真正的入口点。
4 脱壳的基本步骤
查壳(PEID、FI、PE-SCAN)--->寻找OEP(OD)--->脱壳/Dump(LordPE、PeDumper、OD自带的脱壳插件、PETools)--->修复(Import REConstructor)
常用脱壳方法
1 单步跟踪法
(1)用OD载入,点“不分析代码”
(2).单步向下跟踪F8,实现向下的跳。也就是说向上的跳不让其实现(通过F4)
(3)遇到程序往回跳的(包括循环),我们在下一句代码处按F4(或者右健单击代码,选 择断点——>运行到所选)
(4)绿色线条表示跳转没实现,不用理会,红色线条表示跳转已经实现
(5)如果刚载入程序,在附近就有一个CALL的,我们就F7跟进去,不然程序很容易跑 飞,这样很快就能到程序的OEP
(6)在跟踪的时候,如果运行到某个CALL程序就运行的,就在这个CALL中F7进入
(7)一般有很大的跳转(大跨段),比如 jmp XXXXXX 或者 JE XXXXXX 或者有RETN 的一般很快就会到程序的OEP
注:在有些壳无法向下跟踪的时候,我们可以在附近找到没有实现的大跳转,右键-->“跟随”,然后F2下断,Shift+F9运行停在“跟随”的位置,再取消断点,继续F8单步跟踪。一般情况下可以轻松到达OEP
2 ESP定律法
ESP定理脱壳(ESP在OD的寄存器中,我们只要在命令行下ESP的硬件访问断点,就会一下来到程序的OEP了!)
(1)开始就点F8,注意观察OD右上角的寄存器中ESP有没突现(变成红色)(这只是一 般情况下,更确切的说我们选择的ESP值是关键句之后的第一个ESP值)
(2)在命令行下:dd XXXXXXXX(指在当前代码中的ESP地址,或者是hr XXXXXXXX), 按回车
(3)选中下断的地址,断点--->硬件访--->WORD断点
(4)按一下F9运行程序,直接来到了跳转处,按下F8,到达程序OEP
3内存镜像法
(1)用OD打开软件
(2)点击选项——调试选项——异常,把里面的忽略全部√上。CTRL+F2重载下程序
(3)按ALT+M,打开内存镜象,找到程序的第一个.rsrc.按F2下断点,然后按SHIFT+F9运 行到断点,接着再按ALT+M,打开内存镜象,找到程序的第一个.rsrc.上面的.CODE(也 就是00401000处),按F2下断点。然后按SHIFT+F9(或者是在没异常情况下按F9), 直接到达程序OEP
4 一步到达OEP
(1)开始按Ctrl+F,输入:popad(只适合少数壳,包括UPX,ASPACK壳),然后按下F2, F9运行到此处
(2)来到大跳转处,点下F8,到达OEP
5 最后一次异常法
(1)用OD打开软件
(2)点击选项——调试选项——异常,把里面的√全部去掉!CTRL+F2重载下程序
(3)一开始程序就是一个跳转,在这里我们按SHIFT+F9,直到程序运行,记下从开始按SHIFT+F9到程序运行的次数m
(4)CTRL+F2重载程序,按SHIFT+F9(这次按的次数为程序运行的次数m-1次)
(5)在OD的右下角我们看见有一个"SE 句柄",这时我们按CTRL+G,输入SE 句柄前的地址
(6)按F2下断点,然后按SHIFT+F9来到断点处
(7)去掉断点,按F8慢慢向下走
(8)到达程序的OEP
6 模拟跟踪法
(1)先试运行,跟踪一下程序,看有没有SEH暗桩之类
(2)ALT+M打开内存镜像,找到(包含那一列中出现SFX,imports,relocations或者SFX,输 入表,重定位)
(3)若地址为00xxxxxx在命令行下输入tc eip<00xxxxxx,回车,提示正在跟踪
7 SFX法
(1)设置OD,忽略所有异常,也就是说异常选项卡里面都打上勾
(2)切换到SFX选项卡,选择“字节模式跟踪实际入口(速度非常慢)”,确定
(3)重载程序(如果跳出是否“压缩代码?”选择“否”,OD直接到达OEP)
更多精彩内容其他人还在看

黑客教你破解Email账号的三种方法

电子邮件并不是安全的,在邮件的发送、传送和接收整个过程中的每个环节都可能存在薄弱环节,恶意用户如果利用其漏洞,就能够轻易的破解出账号,获得邮件内容。   一、利用邮件服务器操作系统的漏洞   邮件服务器软件是运行在特定的操作系统上的,如Linux、Windo
收藏 0 赞 0 分享

WINDOWS XP登陆来破解pubwin EP 5.0的方法

这边的网吧都用pubwin EP 5.000000069****(忘记勒^_^)的网络管理系统,操作系统用WINDOWS XP,另外还装了还原精灵,呵呵。BIOS、系统、还原精灵、pubwin EP都设置了不同的密码。 我搜索并尝试了网上所谓的破解方法,结果如下: (1)
收藏 0 赞 0 分享

密码破解以及抗击手段

密码与用户帐户的有效利用是网络安全性的最大问题之一。在本文中,Rob Shimonski将研究密码破解:如何以及为何进行密码破解。Rob将只说明渗透网络是多么简单,攻击者如何进入网络、他们使用的工具以及抗击它的方法。   对公司或组织的计算机系统进行的攻击有各种形式
收藏 0 赞 0 分享

加密解密教程:NTFS文件加密初探

我们知道NTFS文件格式可以实现对文件夹的加密,增强了文件的安全性,但因NTFS涉及的细节内容比较复杂,所以用NTFS加密后的文件由于我们的操作不当经常会出现一些问题,比如用户名丢失后、文件密码丢失了等等,都会带来不小的麻烦。今天,我们就来共同探讨一下这方面的问题
收藏 0 赞 0 分享

黑客教你十招学会软件破解大揭密

下面谈到了一些在学习解密过程中经常遇到的问题,本人根据自己的经验简单给大家谈一谈。这些问题对于初学者来说常常是很需要搞明白的,根据我自己的学习经历,如果你直接照着很多破解教程去学习的话,多半都会把自己搞得满头的雾水,因为有很多的概念要么自己不是很清楚,
收藏 0 赞 0 分享

Windows 2000/XP/2003登录密码轻松破解

当你在使用电脑时,不小心将管理员登录密码忘记了,怎么办呢?虽然网上和各IT杂志介绍了很多种破解管理员登录密码的方法,但操作起来都比较麻烦,并且针对不同的系统须要用不同的破解方法。例如,用破解Winodws 2000的方法,来破解Windows XP和Windows 2003就不行
收藏 0 赞 0 分享

安全利刃 EFS的加密方法和解密必知

经常看到对文件和文件夹加密的文章,大多是安装各种软件来实现的,如果你的系统是WinXP/Win2003/2000,就没有必要如此兴师动众地加密了,既不需要你安装软件,也不需要繁琐的操作,因为Windows本身就集成了EFS(Encryption File System-EFS)加
收藏 0 赞 0 分享

防止离职员工带走客户、防止内部员工泄密、避免华为员工泄密事件的发生

这篇文章为大家详细介绍了如何才能防止离职员工带走客户、防止内部员工泄密、避免华为员工泄密事件的发生,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

彻底防止计算机泄密、重要涉密人员离职泄密、涉密人员离岗离职前防范举措

近些年企业商业机密泄漏的事件屡有发生,这篇文章主要教大家如何彻底防止计算机泄密、重要涉密人员离职泄密、告诉大家涉密人员离岗离职前的防范举措,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

无需攻击lsass进程即可解密系统管理员密码

Lsass.exe是Windows系统中必不可少的一个进程,属于微软Windows系统中安全机制相关进程。lsass.exe进程主要用于本地安全和登陆策略,同时也管理IP相关安全信息。对lsass.exe进程进行攻击,造成相应的缓冲区溢出,从而解密Windows系统中相关密码的方
收藏 0 赞 0 分享
查看更多