2023-06-13 11:00:29 +08:00
2023-06-13 11:09:43 +08:00
2023-06-13 11:00:29 +08:00
2023-06-13 11:00:29 +08:00
2023-06-13 11:00:29 +08:00
2023-06-29 10:10:36 +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

测试截图

binfmt_pe

Description
No description provided
Readme MIT 295 KiB
Languages
C 86.9%
Makefile 13.1%