Linux / WSL2:安装#Windows wsl2环境下UbuntuPS C:\Users\flyxm> wsl -l -v NAME STATE VERSION* Ubuntu-24.04 Running 2 docker-desktop Stopped 2 PS C:\Users\flyxm> wsl -d Ubuntu-24.04 -u rootsudo apt updatesudo apt install upx-ucl gcc-mingw-w64 mingw-w64-tools binutilssudo apt install build-essential # 若在原生 Linux 编译 Linux 程序
在任意目录新建 hello.c,保存。内容:#include int main(){ puts("hello_upx"); return 0; }root@flyxm777:/mnt/c/Users/flyxm/Ubuntu-lab# touch hello.croot@flyxm777:/mnt/c/Users/flyxm/Ubuntu-lab# vim hello.croot@flyxm777:/mnt/c/Users/flyxm/Ubuntu-lab# cat hello.c#include int main(){ puts("hello_upx"); return 0;}STEP 2 — 编译成 Windows 可执行(示例用 mingw)
说明:如果可以看到 hello_upx 字样或其他可读字符串,说明文件内容可读,可能未压缩。
方法 B:用 Detect It Easy(GUI,Windows)

Snipaste_2025-10-08_09-58-23.png (48.51 KB, 下载次数: 2)
下载附件
2025-10-8 10:26 上传
STEP 4 — 用 UPX 打包(压缩)
在相同目录执行:upx -9 hello.exe -o hello_upx.exe这会生成 hello_upx.exe(被 UPX 压缩的版本)。
期望变化:
结论:如果 DIE 显示 UPX、或 section 名称含 .UPX、或 entropy 高,那么这个文件被 UPX 加壳/压缩。

Snipaste_2025-10-08_09-55-45.png (56.75 KB, 下载次数: 2)
下载附件
2025-10-8 10:26 上传
1. 文件身份- 路径:`C:\Users\iflyxm\Ubuntu-lab\hello_upx.exe`- 格式:PE64(64 位 Windows 可执行文件)- 大小:61.20 KiB- 类型:控制台程序(Console)2. 编译与语言特征- 编译器:Detected 为 C 语言编译生成( heuristic )- 目标平台:Windows Server 2003 x64 及以上
3. 加壳情况(重点)- 壳名:UPX 4.22- 壳特征: - 入口点、导入表、区段名均符合 UPX 典型签名 - 存在“UPX0/UPX1”双区段,区段名碰撞 - 熵值高,表明数据被压缩- 附加数据:尾部有 29 440 字节(0x72D0)的 Overlay(二进制残留),不属于 UPX 解压范围,可能是作者追加的数据或配置信息4. 快速利用建议- 脱壳:直接 `upx -d hello_upx.exe` 即可完整还原原始 PE64 文件- 分析:Overlay 数据需单独切出查看,可能是密钥、脚本或补丁;可用十六进制工具或 `binwalk` 继续分离- 查毒:UPX 4.22 为官方最新版,目前杀软误报率已降低,但仍需 VT 二次确认STEP 6 — 用 UPX 解包(最简单的解壳)upx -d hello_upx.exe -o hello_unpacked.exe
这会生成 hello_unpacked.exe(解压后的文件)。root@flyxm777:/mnt/c/Users/flyxm/Ubuntu-lab# upx -d hello_upx.exe -o hello_unpacked.exe Ultimate Packer for eXecutables Copyright (C) 1996 - 2024UPX 4.2.2 Markus Oberhumer, Laszlo Molnar & John Reiser Jan 3rd 2024 File size Ratio Format Name -------------------- ------ ----------- ----------- 118992 root@flyxm777:/mnt/c/Users/flyxm/Ubuntu-lab# lshello.c hello.exe hello_unpacked.exe hello_upx.exeroot@flyxm777:/mnt/c/Users/flyxm/Ubuntu-lab# ls -la-rwxrwxrwx 1 flyxm flyxm 118992 Oct 7 10:18 hello.exe-rwxrwxrwx 1 flyxm flyxm 118992 Oct 7 10:18 hello_unpacked.exe-rwxrwxrwx 1 flyxm flyxm 62672 Oct 7 10:18 hello_upx.exeSTEP 7 — 验证解包是否成功
简单术语速查(纯新手版)