首页
社区
课程
招聘
MacOS内核调试环境搭建
发表于: 2021-5-29 13:22 22767

MacOS内核调试环境搭建

2021-5-29 13:22
22767

MacOS内核调试环境搭建

虚拟机:Vmware fusion 12+

 

Mac:Big Sur 11.4

 

vm-Mac:macOS 10.12.3

前期准备

MacOS系统镜像最全集合

 

在这里下载对应的虚拟机用的.dmg镜像,我下载的是 macOS Sierra 10.12.3 (16D32).dmg

 

More Downloads for Apple Developers下载.dmg镜像的KDK:macOS10.12.3KDK.dmg

 

图片描述

 

我当前的macOS版本是:11.4 (20F71)

 

下载好dmg镜像后不能直接拉到vmware fusion建立虚拟机,需要按照:

 

制作macOS 10.12 ISO安装文件

 

这篇文章制作对应的.iso文件,然后才能被vmware识别。

虚拟机中的操作

1.成功进入系统后,首先重启,关闭sip。

 

图片描述

 

2.在虚拟机中安装对应版本的KDK。

 

3.拷贝kernel.development

 

图片描述

 

4.设置boot-args启动参数

 

网上给出的是:

1
sudo nvram boot-args="debug=0x144 kext-dev-mode=1 kcsuffix=development pmuflags=1 -v"

参数含义可以看:https://www.cnet.com/news/boot-argument-options-in-os-x/

 

但是这个实际上我试了现在是(2021年5月)调不起来的。

 

你需要阅读对应版本KDK中的readme来确定真正正确的参数

1
/Library/Developer/KDKs/KDK_10.12.3_16D32.kdk/ReadMe.html

我的(默认)参数是:

1
sudo nvram boot-args="debug=0x146"

图片描述

 

你可以根据你的需要设置kcsuffix 等。总之在readme里写的非常清楚。

 

默认使用的应该是en0网卡。

 

5.清除kext缓存

1
sudo kextcache -invalidate /

6.下载源码

1
uname -v

然后去 https://opensource.apple.com/release/macos-10123.html下载源码。

 

放入宿主机的:

1
2
ScUpax0ss-MBP:com.apple.xbs scupax0s$ pwd
/Library/Caches/com.apple.xbs

目录下。

 

7.查看虚拟机网络信息。

 

图片描述

 

8.reboot虚拟机,正常的话会显示在等待debugger连接

 

图片描述

宿主机中的操作

1.关闭宿主机的SIP。安装lldb。

 

2.在宿主机中安装与被调试虚拟机一样的KDK

 

图片描述

 

3.lldb连接

1
lldb /Library/Developer/KDKs/<KDK \Version>/System/Library/Kernels/kernel
1
kdp-remote {name_or_ip_address}

最终效果:

 

图片描述

ref

MacOS内核调试环境搭建

 

mac os 内核调试

 

Debug macOS Kernel

 

OSX内核调试

 

macOS内核调试

 

https://xitongtiankong.com/archives/category/macos/vm-macos


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 7
支持
分享
最新回复 (7)
雪    币: 1250
活跃值: (3610)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
远景搜索懒人版 一堆安装包 不用自己制作
2021-5-29 19:11
0
雪    币: 210
活跃值: (1777)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
正好在折腾这个 
2021-5-30 15:04
0
雪    币: 387
活跃值: (65)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
镜像可以试下这个:
https://github.com/corpnewt/gibMacOS
https://github.com/munki/macadmin-scripts
下载后格式可能要进一步的转换,才能用于虚拟机或黑苹果。
2021-5-30 21:25
1
雪    币: 14574
活跃值: (17639)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
5
我先分享一波macOS的dmg文件,后续如果有更全的我会补上
链接:https://pan.baidu.com/s/1DiFHUkIDXxcoEKPSOKtfYg 
提取码:t0A2 
2021-5-31 09:10
1
雪    币: 17
活跃值: (154)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
monterey 你们谁知道Read-Only filesystem怎么办
2022-4-15 09:50
0
雪    币: 3755
活跃值: (3887)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
感谢分享
2022-4-15 10:12
0
雪    币: 17
活跃值: (154)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
WARNING! Python version 3 is not supported for xnu lldbmacros.
2022-4-16 13:20
0
游客
登录 | 注册 方可回帖
返回
//