linux wine 原理,wine的工作原理与自动运行PE程序

本文探讨了Linux如何使用Wine执行Windows PE格式的程序。通过/proc/sys/fs/binfmt_misc机制,Linux能够识别并利用Wine运行这些程序。Wine并不是模拟器,而是实现了Windows API的开源库,加载PE程序并将其与Linux进程环境结合。虽然方便,但运行Wine可能存在安全隐患,如可能受到Windows病毒的影响。建议避免以root权限运行Wine。
摘要由CSDN通过智能技术生成

一次偶然的情况,发现我电脑上的linux可以直接使用./来执行tools/vnd/BCM7584UPKFxBA/brcm_sign_enc.exe程序,但是另外一台linux电脑就不可以。使用file命令查看该文件是windowsPE格式的程序。由于我电脑上有wine,猜测它是通过wine来执行的,因此 cat /proc/PID/maps,发现确实是被wine执行的,代码段加载了很多wine相关的库。

那么问题来了,一个windowsPE格式的控制台程序,是如何直接通过./被解释执行的呢?经过查阅资料,发现是/proc/sys/fs/binfmt_misc起的作用:

[lubo@localhost binfmt_misc]$ cat windowsPE

enabled

interpreter /usr/bin/wine

flags:

offset 0

magic 5045(注:'P','E'的ascii码)

手动设置:

echo :windows:M::MZ::/usr/bin/wine: > /proc/sys/fs/binfmt_misc/register

echo :windowsPE:M::PE::/usr/bin/wine: > /proc/sys/fs/binfmt_misc/register

开机自动设置的地方在:

[lubo@localhost binfmt.d]$ cat /usr/lib/binfmt.d/wine.conf

# Pre-PE Windows Executables

:windows:M::MZ::/usr/bin/wine:

# PE Win

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值