网络安全攻防:软件逆向之脱壳
“壳”是一种对程序进行加密的程序,“壳”形象地表现了这个功能。我们可以把被加壳的程序当成食物,而加壳程序就是在外面加上一层坚硬的外壳,防止别人去窃取其中的程序。加壳后的程序依然可以被直接运行。在程序运行时壳的代码先运行,然后再运行原来的程序。主要目的是为了隐藏程序的OEP(入口点),防止外部软件对程序的反汇编分析或动态分析。许多病毒通过加壳来达到免杀的目的,但壳也用在保护正版软件不被破解。技术没有对错之分,关键看使用的目的。
1. 壳的分类
(1)压缩壳
压缩壳的作用就是压缩程序的大小。压缩壳并不会对程序进行修改,而是改变了存储方式,使程序更小。运行程序时先运行壳的解压缩程序,解压源程序到内存中,然后执行。常见的压缩壳有UPX,可以将一般程序压缩到原来体积的30%。对upx_test进行压缩,原来大小为188KB,压缩后为33 KB,只有原来的17.54%,详细信息如图1所示。
图1 压缩upx_test
用PEiD进行查壳,测试一下是不是有壳,如图2所示,确实已经有了UPX的压缩壳。
图2 PEiD查壳(UPX)
(2)加密壳
加密壳的作用是保护程序不被破解。一般情况下,加密壳加密之后的程序大小视情况而定,有些加密壳也有压缩壳的效果。加密壳会对程序进行修改,如打乱代码、混淆等。常见的加密壳有ASProtect、EXECrptor、Armadillo等。如图3所示是用ASProtect进行加密。
图3 ASProtect加密
用PEiD进行查壳,测试一下是不是有壳,如图4所示,确实已经有了APS的加密壳。
图4 PEiD查壳(APS)
(3)虚拟机保护壳
虚拟机保护壳是近些年开始流行的加密保护方案,关键技术是软件实现CPU的功能。由于程序不遵循Intel的OPCode标志,所以分析起来会很麻烦。
2. 脱壳
对于不同的壳,网上有很多对应的脱壳工具。在脱壳前一般先用查壳工具,查加的是什么壳,然后找到对应的脱壳工具进行脱壳。以之前的UPX壳压缩的upx_test.exe为例,进行脱壳演示。如图5是PEiD查壳结果,通过查壳我们知道这是UPX的壳,然后用对应的脱壳工具进行脱壳。
图5 PEiD查壳结果
这里用的是UPXshell进行演示。将程序拖入到UPXshell中单击“GO”即可得到脱壳之后的程序。脱壳之后会覆盖原来的带壳的程序,所以在脱壳前要做好备份,如图6所示。
图6 脱壳
脱壳是逆向分析的必备技能之一。虽然用软件脱壳十分方便,但还是会存在许多限制,如要找对应的脱壳软件,较新、较强的壳一般无法用软件脱壳等。所以还是有必要了解一些脱壳的基本知识。
(1)OEP
脱壳的第一步是找到源程序的OEP(Original EntryPoint)。OEP标志是否已经运行到源程序。对于一些简单的压缩壳,找到OEP就意味着已经脱壳成功。
单步调试法:加壳程序开始运行时,栈的情况与解压后主程序的栈情况完全相同。所以很多加壳程序载入 OD 后都会停留在 pushad/pushfd处,将原来的栈先保存下来,所以,pushad/pushfd肯定就有对应的popad/popfd。只要找到popad/popfd就可以快速地找到OEP。将upx_test.exe载入OllyDbg,一直按F8,如果遇到向上跳转就按F4运行到下一行。直到遇到popad,下面会有一个比较大的jmp跳转。如图7和图8所示。跳转之后的地方就是程序的OEP,如图9所示。
图7 单步调试1
图8 单步调试2
图9 查找到OEP
(2)内存映像转存
找到OEP之后,程序已经在内存中,这时内存中的程序最接近加壳前的程序。只需要将内存中的映像转存出来,一般的壳就结束了。内存映像转存(dump)工具有好多,如LordPE、PETools。而且OllyDbg中也有OllyDump插件可以使用。
下面就可以进行脱壳了。右键单击“push ebp”选择dumpprocess,单击“dump”按钮脱壳。会生成一个脱壳后的程序,默认文件名会在原文件名后面加上“_dump”。最后进行查壳,显示已经无壳,并且成功运行,表示脱壳成功,如图10所示。
图10 内存映像转存
(3)重建导出表
很多加密壳会对导入表做手脚。这时,就算成功脱壳,程序也是无法运行的。在导入表中起关键作用的是IAT,所以很多时候修复导出表也叫修复IAT。可以使用importREC重建导出表,如图11所示。
图11 重建导出表
推荐系统
番茄花园Ghost Win7 x64 SP1稳定装机版2022年7月(64位) 高速下载
语言:中文版系统大小:3.91GB系统类型:Win7欢迎使用 番茄花园 Ghost Win7 x64 SP1 2022.07 极速装机版 专业装机版具有更安全、更稳定、更人性化等特点。集成最常用的装机软件,集成最全面的硬件驱动,精心挑选的系统维护工具,加上独有人性化的设计。是电脑城、个人、公司快速装机之首选!拥有此系统
番茄花园 Windows 10 极速企业版 版本1903 2022年7月(32位) ISO镜像快速下载
语言:中文版系统大小:3.98GB系统类型:Win10番茄花园 Windows 10 32位极速企业版 v2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程中自动激活
新萝卜家园电脑城专用系统 Windows10 x86 企业版 版本1507 2022年7月(32位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10新萝卜家园电脑城专用系统 Windows10 x86企业版 2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程
笔记本&台式机专用系统 Windows10 企业版 版本1903 2022年7月(32位) ISO镜像快速下载
语言:中文版系统大小:3.98GB系统类型:Win10笔记本台式机专用系统 Windows 10 32位企业版 v2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过
笔记本&台式机专用系统 Windows10 企业版 版本1903 2022年7月(64位) 提供下载
语言:中文版系统大小:3.98GB系统类型:Win10笔记本台式机专用系统 Windows10 64专业版 v2022年7月 一、系统主要特点: 使用微软Win10正式发布的专业版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程中自动
雨林木风 Windows10 x64 企业装机版 版本1903 2022年7月(64位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10新雨林木风 Windows10 x64 企业装机版 2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程中自动激活
深度技术 Windows 10 x64 企业版 电脑城装机版 版本1903 2022年7月(64位) 高速下载
语言:中文版系统大小:3.98GB系统类型:Win10深度技术 Windows 10 x64 企业TLSB 电脑城装机版2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程
电脑公司 装机专用系统Windows10 x64 企业版2022年7月(64位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10电脑公司 装机专用系统 Windows10 x64 企业TLSB版2022年7月一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过
相关文章
- 保护眼睛的电脑颜色设置技巧
- win7下设置无线网络连接的图文方法
- 怎么获取无线网络密码 怎么连接别人的wifi【详解】
- 无线网卡接收器哪个好 无线网络接收器推荐【详解】
- 网络管理之ICMP协议篇
- 2020年基于PDF的网络钓鱼活动研究报告
- WiFi网速慢怎么办 无线网络网速慢是什么原因【详解】
- 台式电脑电源故障维修实例教程
- u盘写保护怎么办 u盘写保护解决方法【详解】
- 伊朗核设施断电,疑为以色列进行破坏性网络攻击
- U盘写保护了怎么办 3种方法轻松解决u盘写保护
- Windows 10曝HTTP协议漏洞 可导致蓝屏 本月补丁已修复
- 联想官方旗舰店怎么样 联想官方旗舰店网络商城简介【图文】
- 路由协议是什么 路由协议在网络中有哪些作用【详解】
热门系统
- 1华硕笔记本&台式机专用系统 GhostWin7 32位正式旗舰版2018年8月(32位)ISO镜像下载
- 2深度技术 Windows 10 x86 企业版 电脑城装机版2018年10月(32位) ISO镜像免费下载
- 3雨林木风 Ghost Win7 SP1 装机版 2020年4月(32位) 提供下载
- 4电脑公司 装机专用系统Windows10 x86喜迎国庆 企业版2020年10月(32位) ISO镜像快速下载
- 5深度技术 Windows 10 x86 企业版 六一节 电脑城装机版 版本1903 2022年6月(32位) ISO镜像免费下载
- 6深度技术 Windows 10 x64 企业版 电脑城装机版2021年1月(64位) 高速下载
- 7新萝卜家园电脑城专用系统 Windows10 x64 企业版2019年10月(64位) ISO镜像免费下载
- 8新萝卜家园 GhostWin7 SP1 最新电脑城极速装机版2018年8月(32位)ISO镜像下载
- 9电脑公司Ghost Win8.1 x32 精选纯净版2022年5月(免激活) ISO镜像高速下载
- 10新萝卜家园Ghost Win8.1 X32 最新纯净版2018年05(自动激活) ISO镜像免费下载
热门文章
- 1Win10怎么设置网络按流量计费 Win10网络设置流量收费教程
- 2如何下载一些网页上无法直接下载的文件
- 3升级win10要多少钱 windows10售价介绍
- 4华硕b460主板装win7系统及bios设置教程 10代CPU安装Win7教程 BIOS设置 U盘启动 完美支持USB驱动
- 5二手笔记本电脑价格是多少 二手笔记本电脑价格盘点
- 6麒麟985对比麒麟980哪个值得入手
- 7Win7电脑虚拟网卡不存在或者被禁用怎么处理?
- 8微信红包照片怎么发?朋友圈发红包照片的教程
- 9微星b460主板装win7系统教程及微星b460bios设置教程步骤微星b460主板装win7系统开机黑屏
- 10Apple Watch应用加载死循环怎么办?watchOS 3.0强制退出应用程序教程
常用系统
- 1新萝卜家园Ghost系统 Win8.1 x32位 极速纯净版2018年09月(自动激活)ISO镜像下载
- 2新萝卜家园电脑城专用系统 Windows10 x64 企业版2020年11月(64位) ISO镜像免费下载
- 3深度技术 Windows 10 x86 企业版 电脑城装机版2020年3月(32位) ISO镜像免费下载
- 4笔记本系统Ghost Win8.1 (32位) 极速纯净版2022年7月(免激活) ISO镜像高速下载
- 5深度技术Ghost Win8.1 x32位 特别纯净版2020年3月(免激活) ISO镜像高速下载
- 6番茄花园Ghost Win8.1 x64 办公纯净版2021年9月(激活版) ISO镜像高速下载
- 7新萝卜家园 Ghost Win7 x64 SP1 极速版2019年12月(64位) 高速下载
- 8深度技术 Windows 10 x64 企业版 电脑城装机版2019年10月(64位) 高速下载
- 9新萝卜家园 Ghost XP SP3系统 电脑城极速纯净版 2020年7月 ISO镜像高速下载
- 10新雨林木风 Windows10 x86 企业装机版2019年5月(32位) ISO镜像高速下载