加壳工具简单使用

时间20210107,环境winxp
介绍一些加壳工具和和它们的简单使用。其中加壳工具都可以在看雪学院上下载。为了方便描述,就先写了一个原程序,原程序的逻辑很简单,代码如下。

#include<stdio.h>  
int main()  
{  
	int i = 5;  
	scanf("%d",&i);  
	while(i--)  
	{  
		printf("Hello World%d\n",i);  
	}  
	return 0;  
}  
1.压缩壳

简单介绍下UPX。UPX壳使用命令行的方式,命令格式为upx [-123456789dlthVL] [-qvfk] [-o file] file..。将src.exe(待加壳文件)放到该目录下,接下来简单介绍下UPX的使用。

使用命令“upx -h”可以查看帮助,如下,有命令的介绍。

使用命令“upx 待加壳程序.exe”,即可对原程序进行加壳,这里是“src.exe”,可以看到下面显示了压缩的信息,如下图所示,File size(文件大小)由184401变为31744。Ratio为压缩比,为17.21%。这时,src.exe将被压缩后的程序替换。

使用命令“upx src.exe -o shell.exe”,可以保留原始程序,输出的加壳程序为shell.exe。

然后利用exeinfo pe(可以进行查壳)对原程序和加壳程序进行分析。下图是加壳后的分析结果。可以看到在红色框线中,检测出了程序经过了upx加密。并且连版本都可以分析出来,为“3.09”。

同时UPX还可以对压缩后的程序进行解压,使用命令“upx -d shell.exe”,可以对程序进行解压缩。

2.加密壳

常见的加密壳有ASProtect、Armadillo(也称穿山甲,是一款应用范围较广的商业保护软件)、EXECryptor(一款商业保护软件,该壳的特点是反调试技术比较强大)等。主要介绍ASProtect。
首先我们简单看下它的使用方法。如下图所示,对要加壳的原程序和输出的加壳后程序进行选择。这里使用的原程序和UPX中使用的原程序是同一个。

然后进入到Modes选项看,点击“Add Mode”,然后选中“Is this Mode Active”,并给该mode进行命名,如下图所示。

然后进入Protection选项卡,点击Protect即可,也可以点击工具栏上的小闪电,如图所示,如果出现图中所示字样,说明加壳成功,我们进入到输出文件的目录查看。

其中exeinfo pe的查壳结果如下。

3.虚拟机壳(虚拟机保护软件)

目前虚拟机已经称为目前最流行的保护趋势,但该项技术却是以效率换安全的。一条原始汇编指令经过VM的处理,往往会膨胀几十倍设置几百倍,执行速度大大降低。正因如此,VM保护通常提供SDK方式,一般只需要将核心的代码通过VM保护起来,这样在一定程度上可以缓解它的缺点。下面是使用VMProtect加壳工具默认的加密方式,涉及到SDK的话就需要进一步研究了。
下图是ollydbg分析原程序,这里,把从地址00401050处的代码作为核心代码。

接下来,开始使用VMProtect对程序进行加密,如图所示,是工具的界面,因为VMProtect的高版本就需要付费了,所以这里使用版本1.22.3。

点击左上角的文件夹,选择文件后,点击红色框线内窗口内的dump选项卡,如下图所示。

然后使用ctrl+g(这个和od一样),跳转到刚才在ollydbg中找到的地址00401050处,如下图所示。

然后点击左上角那个发绿色光的图标上“new procedure”,就会弹出如下图所示的对话框。

点击ok后,进入如下界面,这就是要加密的指令,VMProtect会自动选择合适的结束地址,但也可以手动,这里就使用自动的就好。

然后点击绿色的三角形(“compilation”编译的意思),如下图所示。

点击yes就可以了,可以看到在当前的目录下,生成了“src.vmp”,“src.vmp.exe”两个文件,这个exe文件就是加密后的文件了。
因为VMProtect是对局部指令进行加密,因此可以通过ollydbg更直观地看下加密后的指令。如下图所示,可以看到从地址00401050处开始,指令变得很奇怪。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Themida是一种著名的软件保护工具,可以加壳和加密应用程序,以保护应用程序代码不被破解和篡改。本文将介绍如何使用Themida进行加壳和保护应用程序。 1. 下载和安装 首先需要从官方网站下载和安装Themida。然后打开Themida,单击"新建工程"按钮创建一个新的应用程序保护工程。 2. 加载文件 在新建的工程中,单击"添加文件"按钮,选择需要保护的应用程序文件。Themida支持加壳32位和64位应用程序,所以要注意选择正确的版本。 3. 加密和压缩设置 在"安全设置"选项卡中,可以设置加密和压缩级别。Themida提供了多种加密和压缩算法,可以根据需要选择适合的级别。 4. 防调试和反调试设置 在"高级设置"选项卡中,可以设置防调试和反调试等安全设置。这些设置可以有效防止黑客通过调试和反汇编等方式破解应用程序。 5. 生成保护应用程序 在以上步骤完成后,单击"生成"按钮即可生成一个保护后的应用程序。生成后的应用程序可以进行发布和使用,而不用担心安全性问题。 6. 调试和解除保护 如果需要对保护后的应用程序进行调试,可以使用Themida提供的调试解除工具来解除保护。解除保护后,应用程序就可以正常进行调试了。 总结:Themida是一种非常强大的应用程序保护工具,可以有效保护应用程序不被破解和篡改。通过上述步骤,可以快速而简单地完成应用程序的加壳和保护工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值