mirror of
https://github.com/HEYAHONG/linux_binfmt_pe.git
synced 2025-05-08 11:27:34 +08:00
说明
在Linux下虽然可以通过wine执行windows的PE格式程序,但需要手动调用wine命令。于是参考Linux内核中脚本的调用方式,直接执行PE可执行文件。
本仓库为Linux模块工程,仅供测试。
若未特殊说明,默认测试的操作系统为ubuntu22.04.
其他实现方式
若系统中安装了binfmt_misc内核模块及update-binfmts,可使用以下命令直接开启:
#安装
sudo update-binfmts --install win32_pe /usr/bin/wine --magic '\x4d\x5a'
#启用
sudo update-binfmts --enable win32_pe
更多操作可使用man update-binfmts查询帮助。
使用条件
- wine:在/usr/bin目录下必须包含wine。
自动启动
当binfmt_pe模块正常编译安装后,可通过将binfmt_pe写入/etc/modules实现自动启动。
编译安装
注意:需要先安装以下软件包以支持编译使用:
sudo apt-get install build-essential make dkms wine
本工程由dkms管理,编译安装如下:
#dkms添加
sudo dkms add .
#dkms安装
sudo dkms install binfmt_pe/0.1
测试截图
Languages
C
86.9%
Makefile
13.1%