基于仿真的windows二进制文件自动与平台无关解包器
unipacker的Python项目详细描述
| | | | / / (_) \ \ | |
| | | |_ __ | | _ | | _ __ __ _ ___| | _____ _ __
| | | | '_ \/ / | | \ \ '_ \ / _` |/ __| |/ / _ \ '__|
| |_| | | | \ \ | | / / |_) | (_| | (__| < __/ |
\___/|_| |_|| | |_| | || .__/ \__,_|\___|_|\_\___|_|
\_\ /_/ | |
|_|
非{i}封隔器
Master | |
Dev |
使用Unicorn引擎解压缩PE文件
恶意软件作者使用运行时打包程序是非常常见的,因为这是一种有助于阻碍分析的技术。 此外,打包程序是反病毒产品面临的一个挑战,因为它们使通过签名识别恶意软件变得不可能 或是独自一人。
为了能够分析打包的恶意软件样本,通常需要解压缩二进制文件。通常这意味着, 分析员必须使用动态分析技术(工具:ollydbg,x64dbg)手动解包二进制文件。 也有一些自动解包的方法,但它们都只适用于windows。因此当 针对打包的Windows恶意软件,分析人员将需要Windows计算机。我们项目的目标是 通过使用产生可运行的windows二进制文件的仿真,独立于平台的自动解包。
完全支持的封隔器
- ASPack:具有高压缩比的高级商用封隔器
- FSG:免费软件,快速解包
- MEW:专门为小型二进制文件设计的
- MPRESS:免费的、更复杂的打包机
- PEtite:免费软件打包程序,类似于aspack
- UPX:跨平台、开源打包程序
- yzpack
其他封隔器
只要所需的api函数是在un{i}packer中实现的,其他任何打包程序都应该可以工作。对于包装工来说
不知道是否要手动指定模拟的开始和结束地址。
如果您想从pe报头中声明的入口点开始模拟,直到检测到部分跳转,
按Enter
用法
正常安装
为您的操作系统安装YARA包,从pypi中获取un{i}packer并使用自动创建的命令行包装器启动它:
pip3 install unipacker
unipacker
有关如何使用un i}packer的详细说明,请参阅Wiki。
此外,所有shell命令都有文档记录。要访问此信息,请使用help
命令
开发模式安装
克隆存储库,并在项目根文件夹中使用pip3 install -e .
使用Docker
您还可以使用提供的dockerfile来运行un{i}packer:
docker run -it -v ~/local_samples:/root/unipacker/local_samples vfsrfs/unipacker
假设您的主目录中有一个名为local_samples
的文件夹,那么这个文件夹将安装在容器中。
因此,un packer将能够通过/root/unipacker/local_samples
访问这些二进制文件