来聊一个launchd新的奇怪机制

首先我们来看一段panic log:
“panicString” : "panic(cpu 1 caller 0xfffffff00dc589a4): “userspace panic: File Radar to: [ launchd | missing executable ]. Set boot-arg launchd_missing_exec_no_panic=1 to work around. Job: ‘aqua.igg.daemon.plist’ Executable: ‘/Applications/iGameGuardian.app/no_gg_daemon’”\nDebugger message: panic\nMemory ID: 0x1\nOS version: 17D5026c\nKernel version: Darwin Kernel Version 19.3.0: Sun Dec 8 21:03:13 PST 2019; root:xnu-6153.80.8.0.1~13/RELEASE_ARM64_T8010\nKernelCache
可以看到由于插件igg创建了一个空守护进程文件守护一个不存在的进程
当checkra1n试图操控launchd加载这个守护进程文件的时候,由于找不到对应的文件,导致panic
解决办法是删掉这个空守护进程文件,或者按提示把launchd_missing_exec_no_panic=1加到boot-args中(未测试)
同时可以看到系统版本号为13.3.1(17D5026c),内核版本号19.3.0(6153.80.8.0.1~13)
这个机制我确定在之前的版本中是不存在的。那么问题来了,苹果为什么要设置这样一个奇怪的机制?恶心len?
开发者只能以后注意一下 不要学iGG开发者搞这种守护空气的守护进程

然后今天我就把launchd_missing_exec_no_panic=1加进boot-args了,果然空守护进程也不再panic(这不是废话吗)
大家还有什么好玩的boot-args吗%E5%9B%BE%E7%89%87

Dark Blockchain是什么

诶 可是macOS10.15里还是在的诶

emmm 我也不知道

emmm 10.3.x就没有了5555

小白能弱问一下不,这个空气守护进程的作用是干啥子的?

守护空气(测试)的…

最后知道真相的我:eyeglasses:掉下来