cost 114 ms
在 macOS 13 Ventura 上加载 kernel 扩展时出现“绑定失败” - "Failed to bind" while loading a kernel extension on macOS 13 Ventura

我尝试在 M1 (Apple Silicon) 上的 macOS 13.2 Ventura 上构建并加载基本的 kernel 扩展。 macOS kext网上有很多文献。 然而,在最新版本的 macOS 中,关于 kext 的许多事情都发生了变化,而且大部分文献都已过时。 免责声明:我知道在大多 ...

以 root 身份运行的守护进程与另一个使用 macOS 的 Mach 消息的非 root 进程之间的 IPC 通信示例 - Example of IPC communication between a daemon running as root and another non-root process using Mach messages for macOS

我试图了解 IPC 的低级机制,它在启动守护程序(以根用户身份运行)和另一个进程之间使用Mach 消息,在用户内容中运行。 假设以下数据结构: 所以我在守护进程中运行以下代码: 当我运行上面的代码时,它会在调用mach_msg时进入等待模式,正如我所料。 但是,第一个问题——如何从另一个进程获取守护 ...

Xcode 构建失败的原因是什么? - Xcode Building fails why?

我的标题是否已损坏或什么? 还是缺少什​​么? 我已经卸载并删除了 /Library 中创建的所有内容和所有文件夹 xcode 并重新安装,但我仍然遇到错误,例如: 这是我的命令: 错误: 终端输出摘要它在多个默认 XCode 标头中重复我尝试在 xcode 本身和 clang 中编译,每 ...

C function 用于在循环中将字符串数组组合成单个字符串并在释放分配的字符串后返回字符串 memory - C function for combining an array of strings into a single string in a loop and return the string after freeing the allocated memory

我正在为 macOS 开发一个 procfs kernel 扩展,并试图实现一个模拟 Linux 的 /proc/cpuinfo 的功能,类似于 FreeBSD 对其 linprocfs 所做的。 由于我正在努力学习,并且由于不是所有的 FreeBSD 代码都可以简单地复制到 XNU 并有望在 j ...

KEXT 中的 task_policy_get 导致“无法绑定,因为找不到导出此符号的 kext” - task_policy_get in a KEXT causing `Failed to bind as could not find a kext which exports this symbol`

我正在尝试从 KEXT 使用task_policy_get并收到以下错误: 我希望task_policy_get是一个可用的 KPI? 有人可以指出我正确的方向吗? 11.3 测试版 (20E5210c) Mac mini(M1,2020) 我实际上想要做的是暂时提高流程的服务质量 (qos) ...

使用 Mach 信号量替代进程间匿名信号量 - Using Mach semaphores as a replacement of inter-process anonymous semaphores

我想在共享 memory 中使用匿名信号量来同步多个进程。 虽然多个 POSIX 操作系统提供匿名信号量(通过sem_init和相关函数),但 macOS 不支持它们。 我发现 Mach 信号量在 macOS 上可用,但在semaphore_create中,我看不到与sem_init的pshared ...

有没有办法在 Mac 上使用 lldb 或其他方式进入内核代码? - Is there a way to step into kernel code with lldb, or otherwise, on the Mac?

有没有办法在 Mac 上使用 lldb 或其他方式查看 syscall 指令正在调用的代码? 我试图了解调用“写入”系统调用时的幕后情况。 我用gcc -g编译了一个简单的 .c 程序: 即使我使用 lldb 也不会进入syscall指令: s -a false 有什么办法吗? ...

马赫陷阱如何成为系统调用? - How mach trap become syscall?

我是 XNU kernel 的新手,有些困惑。 我看到我们在文件vm_unix.c : 评论: 然后osfmk\mach中的 2 个声明: 并在kern中捕获 decleration 如您所见,我发现了 2 个声明和只有 1 个实现。 3参数匹配陷阱的实现在哪里? 从 3 个参数到 1 个参数的 ...

2020-05-06 10:13:38   1   189    bsd / mach / xnu  
如何使用atos从OSReportWithBacktrace正确地符号化地址? - How to use atos to properly symbolicate addresses from OSReportWithBacktrace?

我试图在一个开源项目中寻找保留漏洞,以支持基于I2C的触控板( https://github.com/kprinssu/VoodooI2CHID )。 我之所以认为保留泄漏是因为当我尝试通过以下命令卸载内核扩展时: 我得到以下输出: 我遇到了pmdj关于跟踪保留泄漏的出色回 ...

有什么工具可以跟踪 iOS 上特定文件的页面错误和其他相关事件? - Any tool to trace page fault and other related events for a specific file on iOS?

System Usage(Instruments)似乎只跟踪显式文件 io 调用( open 、 close 、 write 、 read )。 System Trace(Instruments)跟踪page fault ,但它是按调用堆栈组织的,因此很难过滤。 那么任何工具都可以跟踪特定文件 ...

为什么在此内联汇编语句中忽略此指针取消引用? - Why is this pointer dereference ignored in this inline assembly statement?

在XNU源文件中,特别是<libsyscall/os/tsd.h>有一个用于快速访问线程本地数据的函数: 我对编译器解释内联程序集的方式感到困惑。 假设slot == 1 。 在x86_64上sizeof(void *) == 8 ,因此输入操作数表达式变为*(voi ...

Pfctl如何将防火墙规则设置为内核扩展 - How does Pfctl set firewall rules to kernel extension

我想构建一个基于守护程序的进程,该进程配置网络内核模块防火墙功能。 目前,我可以使用pfctl和描述过滤规则的各种配置文件来控制此内核防火墙。 但是,我希望注入规则以首先直接使用C ++ / Objective-C API进行打包。 例如,要在我的设置中阻止来自任何网络接口的IP地 ...

启动过程中的Kauth事件。 -预防能力 - Kauth event upon start process. - prevention capabilities

我想在每个启动的新进程(fork + execve或posix_spawn)上在内核中获取事件,并能够阻止此操作。 第一种选择将使用名为mpo_vnode_check_exec的Mac框架,方法是使用此函数,该函数具有以下功能:在授予访问权限时将返回0或将检查推迟到下一个挂钩。.非零返回值 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM