加壳工具简单使用

加壳工具简单使用时间20210107,环境winxp介绍一些加壳工具和和它们的简单使用,为了方便描述,就先写了一个原程序,原程序的逻辑很简单,代码如下。1. #include<stdio.h>2. intmain()3. {4. inti=5;5. scanf(“%d”,&i);6. while(i–)7. {8. printf(“HelloWorld%d\n”,i);9. }

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

时间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处开始,指令变得很奇怪。
加壳工具简单使用

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • tomcat打印日志乱码,入库数据正常_tomcat输出日志乱码

    tomcat打印日志乱码,入库数据正常_tomcat输出日志乱码Tomcat后台日志乱码问题文章目录Tomcat后台日志乱码问题一、找到乱码原因二、Tomcat端乱码处理三、IDEA端设置小结一、找到乱码原因  基本上我们安装的windows系统本地语言都是中文,用的是GBK编码,而我们IDEA和Tomcat日志选择的是utf8编码,因此编码方式不一致造成了我们的中文乱码问题。二、Tomcat端乱码处理  既然原因已经找到了,接着就是解决问题了,分别设置IDEA和Tomcat的编码就ok了。先对Tomcat进行处理,如下:  1.找到Tomcat的安装目录

    2022年9月26日
  • 打包的技巧图解(手机软件打包)

    我们打包APP需要用到HBuilder,所以先讲解如何安装使用HBuilder的下载与安装HBuilder的官网下载地址:https://www.dcloud.io/点击DOWNLOAD后会弹出如上显示的两种版本下载Windows版和MacOS版根据我们电脑版本下载即可,我们一定要下载标准版哦(正式版中的)我这里是Windows系统,所以我选择的是window版下载完是一个压缩包右击压缩一下即可打开文件夹后找到如下HBuilderX.exe文件双击即可运行为了方便我们

    2022年4月17日
  • 模型评估之混淆矩阵

    模型评估之混淆矩阵在前面的文章中我们讲到了回归模型和分类模型的评估指标,区分了准确率和精确率的区别,并且比较了精确率和召回率内在的联系。本篇文章我们再来学习另外一个评估方法,即混淆矩阵(confusion_matrix)。在讲矩阵之前,我们先复习下之前在讲分类评估指标中定义的一些符号含义,如下:TP(TruePositive):将正类预测为正类数,真实为0,预测也为0 FN(FalseNegative):将正类预测为负类数,真实为0,预测为1 FP(FalsePositive):将负类预测为正类数,真实为

    2022年5月14日
  • HTML实体对照表

    HTML实体对照表

    2021年10月20日
  • 关于VMware无法输入许可证密钥的方法

    关于VMware无法输入许可证密钥的方法首先,把电脑里的VMware卸载掉设置—-应用—-找到VMware——修改—-删除VMware不要保留任何配置文件其次,找到你的VMware安装文件,要知道它在哪或者把它放在一个比较好找的地方打开任务管理器—左上角文件—-运行新任务—然后按图片走等待安装完毕后就能正常输入许可证密钥了…

    2022年9月14日
  • MySQL数据库—视图索引

    MySQL数据库—视图索引一.视图概述1.视图是基于某个查询结果的虚表。(根据实际存在的表,经过查询之后,创建出来的一个虚表,被称为视图)2.视图如同真实的表一样,对视图进行增删改(insert,update,delete)操作,原表数据会受影响,同样的道理,对原表进行增删改操作,视图也会受影响。3.视图的作用:方便用户对数据进行操作二.创建视图格式:createview视图的名字asselect查询语句;–创建一个视图view_student,包含计算机系和数学…

    2022年7月22日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号