当前位置:实例文章 » 其他实例» [文章]re学习(19)[ACTF新生赛2020]easyre1(UPX脱壳)

re学习(19)[ACTF新生赛2020]easyre1(UPX脱壳)

发布人:shili8 发布时间:2025-01-20 06:57 阅读次数:0

**RE学习(19):EasyRe1 UPX脱壳**

在前面的文章中,我们已经学习了如何使用 OllyDbg 和 IDA Pro 进行反汇编分析。今天,我们将继续学习如何使用 UPX 脱壳工具来解密压缩的可执行文件。

**什么是UPX?**

UPX(Ultimate Packer for eXecutables)是一款非常流行的可执行文件打包工具。它可以将一个大型的可执行文件压缩到极小的大小,使其更容易传输和存储。同时,UPX 也提供了强大的加密功能,可以保护可执行文件免于被逆向分析。

**EasyRe1 UPX脱壳**

在本文中,我们将使用 EasyRe1 这个例子来演示如何使用 UPX 脱壳工具来解密压缩的可执行文件。EasyRe1 是一个简单的小游戏,用于测试 UPX 的功能。

首先,我们需要下载 EasyRe1 的可执行文件,并使用 UPX 打包工具将其打包成一个压缩文件。

bash# 下载EasyRe1的可执行文件wget  使用UPX打包工具将其打包成一个压缩文件upx -9 easyre1.exe


现在,我们可以使用 OllyDbg 或 IDA Pro 来分析这个压缩文件。由于 UPX 加密了整个可执行文件,因此我们需要使用 UPX 脱壳工具来解密它。

**UPX脱壳**

首先,我们需要下载 UPX 脱壳工具,并将其添加到我们的 OllyDbg 或 IDA Pro 中。

bash# 下载UPX脱壳工具wget  将其添加到OllyDbg或IDA Pro中ollydbg --plugin upx-decrypt.dll


现在,我们可以使用 UPX 脱壳工具来解密压缩的可执行文件。

c// 使用UPX脱壳工具来解密压缩的可执行文件void decrypt_file(char *file_name) {
 // 打开文件 FILE *fp = fopen(file_name, "rb");
 //读取文件大小 fseek(fp,0, SEEK_END);
 long file_size = ftell(fp);
 rewind(fp);
 // 分配内存 char *data = (char *)malloc(file_size +1);
 //读取文件内容 fread(data, file_size,1, fp);
 fclose(fp);
 // 使用UPX脱壳工具来解密数据 upx_decrypt(data, file_size);
 //释放内存 free(data);
}


**总结**

在本文中,我们学习了如何使用 UPX 脱壳工具来解密压缩的可执行文件。我们使用 EasyRe1 这个例子来演示如何使用 UPX 脱壳工具来解密压缩的可执行文件,并提供了相关代码示例和注释。

**参考**

* [UPX 官方文档]( />* [EasyRe1 下载地址]( />* [UPX 脱壳工具下载地址](

相关标签:学习
其他信息

其他资源

Top