前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >逆向-加壳工具介绍

逆向-加壳工具介绍

作者头像
全栈程序员站长
发布2022-09-14 14:36:51
1.8K0
发布2022-09-14 14:36:51
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

经过两周尝试手动编写加壳程序,目前也只是能实现给PE文件添加新区块,后面还有重定位表的修复,地址输入表的处理,虚拟机和花指令技术等反调试手段…一大串要学习的工作,几乎就是放弃了吧,通过这两周学习能让自己对PE文件和偏移地址、虚拟地址有一定了解也算不亏。目前就是转而向使用工具方向了。 目前加壳的两个主要方向是压缩和加密。

压缩壳

压缩壳以UPX为代表,使用方法在前面的文章中有,此类壳的功能已压缩为主,对文件的加密效果几乎没有,Peid等侦壳工具可以轻而易举地发现这些壳,相应也有较成熟的脱壳机来实现。所以当文件有较高的存储性能要求,且代码保密程度是可以开源时,才比较适合使用此类壳处理。

加密壳

常见的加密壳有ASProtect和Armadillo穿山甲,这两种工具使用较为广泛,加密效果较强,但就像密码一样,没有激活成功教程不了的密码也没有脱不掉的壳,其使用的广泛性也增加了其关注度和可研究性,目前针对ASProtect好像已经有了可用的脱壳机。 本文把穿山甲的使用流程展示如下: 加壳流程与工程创建相似,首先在工具内创建工程

创建工程
创建工程

然后输入工程名和版本号

输入信息
输入信息

在第二栏中选择需要保护的文件,需保护的次要文件为主文件调用的DLL等,也可不选。

保护文件选择
保护文件选择

后续可一直跳过使用默认,或自行更改,不影响加壳过程,重要的是证书的设置,在最后一栏证书选择新建后可看到如下页面:

新建证书
新建证书

首先输入证书名称及加密模板,此处的模板不等于密码,版本密钥可根据提示选择,其余的设置根据需要选择或默认即可。注意此时不要选默认,否则会导致后面密码设置出错,证书设置如图:

证书设置
证书设置

配置好后关闭设置页面可见如下界面:

界面
界面

点击工具栏中的锁头按钮即可开始加壳,成功后弹出如下消息框:

加壳成功
加壳成功

此时运行加壳后的文件会需要用户名和密码,但我们还没设置呢,这时候的默认密码会是啥我也不知道,不管怎样需要我们先自行设置一个密码。点击如图按钮设置密码:

设置密码
设置密码

点击后会出现如图设置界面:

密码设置界面
密码设置界面

单击证书名选择证书,输入用户名后单击创建密钥即可见产生的密钥:

产生密钥
产生密钥

再次运行并输入用户名和密钥程序可成功运行:

程序成功运行
程序成功运行

但是这种方法需要我们每次使用加壳后的文件都输入密钥,无疑降低了用户的使用体验,目前还没有找到其他的设置方法。

虚拟壳 VMProtect

这种壳其实是属于加密壳的一种,但是由于其特殊性值得拿出来单独说一下,使用计算机虚拟机技术,该技术与我们使用的VMware不大相同。前面两种保护技术虽然侧重点不同,但原理类似,都是给文件加上一层区块,本质没有修改文件源代码,使得文件被脱壳只是时间问题,但VMProtect是将被保护文件的代码转化到虚拟机下运行,虚拟机的编译器将指令编译成伪指令系统的指令执行,激活成功教程者很难理解虚拟机变换后的指令。目前对这种保护技术的评价是:以目前的激活成功教程理论来说,几乎不可能激活成功教程。 但是优异的保护以性能为代价,虚拟机处理后的文件,体积成倍上升,执行效率也大幅下降,所以只适合对关键代码进行保护。VMProtect界面如下:

选择打开文件后
选择打开文件后

选项中可用对保护的内容等信息进行设置:

设置
设置

设置好后点击编译按钮即可生成文件,可以说比较简单易用了。

总结

  1. 压缩壳工具:UPX,该壳可以实现对文件的压缩功能,保护性较低,脱壳基本不用费什么周章,若对文件存储性能有要求,且代码可以开源的话再考虑采用。
  2. 加密壳工具:VM protect ,该工具使用虚拟机技术对代码进行加密,效果可以说是目前加壳领域最强,且资料显示以目前的激活成功教程理论解密VMP保护下的文件是几乎不可能的。但优异的保密性以性能为代价,虚拟机技术处理文件会使文件体积成倍上升,执行效率也显著下降,所以可以用于保护核心代码。
  3. 普遍应用的工具,ASP和穿山甲,这两种工具使用较多也较为普遍,性能和加密性比较平衡,但针对的研究也较多。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/153647.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 压缩壳
  • 加密壳
  • 虚拟壳 VMProtect
  • 总结
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档