Darling:适用于Linux的DarwinmacOS安全运行时环境

2024-08-14 182 0

关于Darling

Darling是一个适用于Linux的Darwin/macOS仿真层,该工具本质上是macOS应用程序在Linux系统上的运行环境,可以帮助广大研究人员在Linux操作系统上运行和分析macOS应用程序的安全性。

工具特性

1、轻量简易:Darling无需使用硬件模拟器即可直接运行macOS软件;

2、免费开源:与Linux一样,Darling是免费的开源软件。它在GitHub上公开发布,并根据GNU GPL许可证v3版本分发;

3、兼容性高:Darling实现了完整的Darwin环境。Mach、dyld、launchd...一切你期望的都有;

4、便于使用:Darling会为我们完成大部分工具设置,开箱即用;

5、接近原生:将运行在Darling下的应用程序完全集成到Linux桌面体验中,使它们的外观、感觉和行为就像原生Linux应用程序一样;

工具要求

sudo apt install cmake automake clang-15 bison flex libfuse-dev libudev-dev pkg-config libc6-dev-i386 \

gcc-multilib libcairo2-dev libgl1-mesa-dev curl libglu1-mesa-dev libtiff5-dev \

libfreetype6-dev git git-lfs libelf-dev libxml2-dev libegl1-mesa-dev libfontconfig1-dev \

libbsd-dev libxrandr-dev libxcursor-dev libgif-dev libavutil-dev libpulse-dev \

libavformat-dev libavcodec-dev libswresample-dev libdbus-1-dev libxkbfile-dev \

libssl-dev libstdc++-12-dev

工具安装

Darling使用了git-lfs,并且大量使用了Git子模块,因此我们需要使用下列命令将该项目源码克隆至本地:

GIT_CLONE_PROTECTION_ACTIVE=false git clone --recursive https://github.com/darlinghq/darling.git

更新源命令如下:

git lfs install

git pull

git submodule update --init --recursive

代码构建

# 切换到项目根目录

cd darling

# 删除之前按轧辊的Darling

tools/uninstall

# 新建一个项目构建目录

mkdir build && cd build

# 配置构建参数

cmake ..

# 构建并安装Darling

make

sudo make install

工具使用

首先,我们可以一个Hello world开始:

$ darling shell echo Hello world

Hello world

恭喜,我们现在已经通过Darling的OS X系统调用模拟和运行时库打印了Hello world。

我们可以使用Shell提供的安装程序工具来安装.pkg软件包:

$ darling shell

Darling [~]$ installer -pkg mc-4.8.7-0.pkg -target /

我们可以使用hdiutil从darling shell内部添加和管理DMG镜像,下面给出的命令是安装 Xcode 及其工具链和 SDK 的方法(请注意,Xcode本身尚未运行)::

Darling [~]$ hdiutil attach Xcode_7.2.dmg

/Volumes/Xcode_7.2

Darling [~]$ cp -r /Volumes/Xcode_7.2/Xcode.app /Applications

Darling [~]$ export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk

Darling [~]$ echo 'void main() { puts("Hello world"); }' > helloworld.c

Darling [~]$ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang helloworld.c -o helloworld

Darling [~]$ ./helloworld

Hello world

现在,我们就已经使用了Apple的工具链编译并运行了我们自己的Hello world应用程序。

许可证协议

本项目的开发与发布遵循GPL-3.0开源许可协议。

项目地址

Darling:【GitHub传送门

参考资料

http://www.darlinghq.org/

https://darling-misc.s3.eu-central-1.amazonaws.com/mc-4.8.7-0.pkg


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

办事处网络安全监控与事件响应;国外员工终端安全性怎么保障 | FB甲方群话题讨论
拿不下总统之位,那就用热加载拿下验证码识别与爆破好了!
Sooty:一款SoC分析一体化与自动化CLI工具
shiro CVE-2016-6802 路径绕过(越权)
Apache Solr 身份验证绕过漏洞(CVE-2024-45216)详解
llama_index的CVE-2024-4181漏洞根因分析

发布评论