首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏量子位

    苹果开源iOS和macOS内核源代码 | 十一献礼

    李林 发自 G1 量子位 出品 | 公众号 QbitAI 没想到,国庆节这天醒来一看,素以“封闭”闻名的苹果公司,竟然在GitHub上公布了旗舰操作系统的XNU内核源代码。 XNU代表的含义是“XNU is Not Unix”(XNU不是Unix),这是一个类似Unix的内核,用在各类苹果Darwin操作系统中,包括电脑系统macOS(以及早先的版本OS X),还有移动操作系统 Twitter上各路网友纷纷表示不敢相信,截个图看看: 不过也有Hacker News用户留言指出,Darwin-XNU也就是OS X/iOS的内核已经通过苹果官方开源过了,这个消息的重点应该是苹果竟然开始用 苹果开源地址在此: https://opensource.apple.com/ GitHub地址在此: https://github.com/apple/darwin-xnu

    2.1K60发布于 2018-03-26
  • 来自专栏FreeBuf

    缓冲区溢出漏洞可导致内核崩溃,苹果多款操作系统均受影响

    概述 该漏洞是苹果XNU操作系统内核中网络代码的堆缓冲区溢出问题导致的,iOS和macOS都使用XNU,因此iPhone、iPad和的MacBook均受到影响。 由于没有必要的工具,Kevin无法在调试器中单步执行XNU内核,因此对于mbuf的分配大小没有确切的数值。 而m_mtod这只是XNU内核中不受信任数据的众多来源之一。 使用上述方法进行查询后返回9个结果,其中第一个是漏洞icmp_error,其他8个结果误报的可能性较大。 在XNU上尝试QL 与大多数其他开源项目不同,XNU无法通过查询LGTM获得有用的信息。因为LGTM使用Linux流程构建项目,但XNU只能在苹果电脑上构建。即使在苹果电脑上,构建XNU也非常不容易。 Kevin参考了Jeremy Andrus的博客文章,才得以为三个最新发布的XNU版本手动构建了快照(下载快照10.13.4, 10.13.5,10.13.6)。

    1.3K20发布于 2018-12-06
  • 来自专栏HelloCode开发者学习平台

    iOS之objc源码编译报错解决方案(已提供编译好的源码)

    【解决方案】 打开网站:opensource.apple.com/source/xnu/ 复制最新版本名(我这里是xnu-7195.81.3) 下载地址:opensource.apple.com/tarballs /xn… (可以参考格式,修改要下的版本号) 下载完会得到一个文件:xnu-7195.81.3.tar。 解压,找到reason.h (xnu-7195.81.3 -> bsd -> sys -> reason.h) 在项目根目录创建文件结构lostFiles -> sys -> reason.h Targets machine/cpu_capabilities.h' file not found 打开网站(前面已经下载过了): opensource.apple.com/tarballs/xn… 找到文件: xnu -7195.81.3/osfmk/machine/cpu_capabilities.h 根目录文件增加 9、'os/tsd.h' file not found 找到文件:xnu-7195.81.3/

    2.5K60编辑于 2022-03-15
  • 来自专栏韩曙亮的移动开发专栏

    【错误记录】Android Studio 编译报错 ( Gradle 下载错误导致 Failed to open zip file 报错 )

    Gradle 目录 ( 推荐 ) 到 " C:\Users\octop.gradle\wrapper\dists\gradle-4.1-all " 目录下 , 看到两个目录 , 删除 " 38gmb0xnu6gupohgu61ilzbig services.gradle.org/distributions/gradle-4.1-all.zip 下载完后 放在 " bzyivzo6n839fup2jbap0tjew " 目录下 , 不要放在 " 38gmb0xnu6gupohgu61ilzbig

    2.1K10编辑于 2023-03-29
  • 来自专栏python前行者

    python获取操作系统平台、版本及架构

    3.3.2 64 bits on windows 8.1 64 bits 'Darwin Kernel Version 13.3.0: Tue Jun 3 21:27:35 PDT 2014; root:xnu ='mba', release='13.3.0', version='Darwin Kernel Version 13.3.0: Tue Jun 3 21:27:35 PDT 2014; root:xnu

    2.9K40发布于 2019-03-25
  • 来自专栏HACK学习

    最新IOS缓冲区溢出漏洞

    poc代码: # CVE-2018-4407 ICMP DOS # https://lgtm.com/blog/apple_xnu_icmp_error_CVE-2018-4407 # from https 原文地址 https://lgtm.com/blog/apple_xnu_icmp_error_CVE-2018-4407

    1.4K20发布于 2019-08-07
  • 来自专栏程序猿DD

    黑苹果的历史

    但是从 10.4.8 开始,苹果开始更广泛地使用 SSE-3 指令集,意味仅仅通过修补 XNU 内核已经无法再兼容只支持 SSE-2 指令集的处理器(如早期的奔腾 4)。 用户可以通过购买 Mac OS X 零售版的安装光盘、打上补丁即可让 XNU 内核运行在普通 Intel PC 上。 向 Chameleon(变色龙)进发 回到 WWDC 2005 上发布的搭载 Intel DTK,内置了一个名为 Boot-132 的 UEFI Bootloader 用于加载 XNU 内核。。 -132 的源码开发了一个初级的 Bootloader,能够为使用 Legacy BIOS 引导的 PC 提供一个“模拟 UEFI”环境用于加载 XNU 内核。 由于变色龙的出现,越来越少的人选择反编译修改 XNU 内核、而是通过 Bootloader 替换 DSDT、注入设备属性和 kext。

    2.8K20编辑于 2023-04-04
  • 来自专栏FreeBuf

    macOS曝出零日漏洞,有攻击者借此针对中文用户

    该水坑提供了一个 XNU 权限提升漏洞,当时在 macOS Catalina 中未修补。 结合目前的信息来看,有安全专家表示这很可能是一起针对性的网络攻击。 攻击者利用先前披露的 XNU 漏洞(编号为 CVE-2020-27932)和相关漏洞来创建特权提升漏洞,使他们能够在目标 Mac 上获得 root 访问权限。

    44220发布于 2021-11-23
  • 来自专栏小黑娃Henry

    OC底层探索02- objc4-781 源码编译OC底层探索02- objc4-781 源码编译

    /xnu-6153.41.3/osfmk/machine/cpu_capabilities.h 提示os/tsd.h file not found 选择. /xnu-6153.41.3/libsyscall/os/tsd.h 提示System/pthread_machdep.h file not found 选择. /xnu-6153.41.3/osfmk/kern/restartable.h 提示Block_private.h file not found 选择.

    71220发布于 2021-08-09
  • 来自专栏HelloCode开发者学习平台

    objc4-750编译

    825.40.1.tar.gz dyld-551.3.tar.gz libauto-187.tar.gz libclosure-73.tar.gz libdispatch-1008.220.2.tar.gz xnu /xnu-4903.221.2/bsd/sys/reason.h`中,按照这个路径找到`reason.h`文件,根据编译错误提示知道,这个`reason.h`文件在路径`sys`下,那么在已创建的`Common /xnu-4903.221.2/osfmk/machine/cpu_capabilities.h 提示'os/tsd.h' file not found 选择. /xnu-4903.221.2/libsyscall/os/tsd.h 提示'pthread/spinlock_private.h' file not found 选择.

    70520编辑于 2023-03-23
  • 来自专栏安恒网络空间安全讲武堂

    IOS/MacOS沙箱逃逸竞赛

    这个漏洞本身已经在大约9年前的xnu-1228和xnu-1456之间被提出,应该可以在大多数iOS多核设备上使用,直到iOS 11.4.1(包含在内)版本和MacOS的10.14版本的发布。 AIO系统调用介绍 正如在POSIX.1b中所定义的,XNU内核为用户空间提供不同的系统调用以执行异步的I/O(aio)。 该标准规定各种功能,从而实现诸如 aio_read(), aio_write(), lio_listio(), aio_error(), aio_return(),...由于至少XNU-517以及大多数结构的开头是在 Signal number and value */ int aio_lio_opcode; /* Operation to be performed */ }; 为了执行 I/O请求,XNU MACOS_BUILD int main(int argc, char* argv[]) { crash_kernel(); return 0; } #endif 修复和结论 虽然最新的XNU

    1.8K30发布于 2019-09-29
  • 来自专栏张善友的专栏

    Mono运行于IPhone之上

    # hostinfo Mach kernel version: Darwin Kernel Version 9.0.0d1: Wed Oct 10 00:07:50 PDT 2007; root:xnu

    71260发布于 2018-01-30
  • 来自专栏QQ音乐技术团队的专栏

    iOS Crash防护你看这个就够了-下篇

     (https://opensource.apple.com/) CFRunloop (https://opensource.apple.com/source/CF/CF-1151.16/) XNU 3248.60.10源码 (http://opensource.apple.com/tarballs/xnu/xnu-3248.60.10.tar.gz) Understanding Crash

    1.8K60发布于 2021-06-15
  • 来自专栏岑志军的专栏

    (5)初识Mach-O

    动态库共享缓存文件的路径 用于存放抽取结果的文件夹 Mach-O Mach-O是Mach object的缩写,是Mac\iOS上用于存储程序、库的标准格式 属于Mach-O格式的文件类型有 可以在xnu 源码中,查看到Mach-O格式的详细定义(https://opensource.apple.com/tarballs/xnu/) EXTERNAL_HEADERS/mach-o/fat.h EXTERNAL_HEADERS

    1.4K40发布于 2018-05-28
  • 来自专栏oeasy教您玩转linux、python

    oeasy 教您玩转linux010101查看内核uname

    苹果的 ios 和 mac 基于xnu(xnu is not unix) ,一个混合内核,奠基于卡耐基·梅隆大学开发的 Mach 微软公司 windows 的内核不公开 bsd 内核,苹果

    1.1K00发布于 2020-08-22
  • 来自专栏王大锤

    iOS多线程编程

    OS X和iOS的核心XNU内核在发生操作系统事件时(如每隔一定时间,唤起系统调用等情况)会切换执行路径。 ; //注意:过多使用多线程,就会消耗大量内存问题,引起大量的上下文切换,大幅度降低系统的响应性能 并行队列(Concurrent Dispatch Queue): iOS和OS X的核心--XNU 另外,当处理结束,应当执行的处理数减少时,XNU内核会结束不再需要的线程。XNU内核仅使用Concurrent Dispatch Queue便可以完美地管理并行执行多个处理的线程。      为了说明线程分配原理,这里假设线程数为4,实测iOS11线程数可达20个,所以想测试的同学,在并发队列中必须追加20个以上的任务      对于Concurrent Dispatch Queue来说,不管生成多少,由于XNU

    82730发布于 2018-07-04
  • 来自专栏王大锤

    iOS多线程编程

    OS X和iOS的核心XNU内核在发生操作系统事件时(如每隔一定时间,唤起系统调用等情况)会切换执行路径。 ; //注意:过多使用多线程,就会消耗大量内存问题,引起大量的上下文切换,大幅度降低系统的响应性能 并行队列(Concurrent Dispatch Queue): iOS和OS X的核心--XNU 另外,当处理结束,应当执行的处理数减少时,XNU内核会结束不再需要的线程。XNU内核仅使用Concurrent Dispatch Queue便可以完美地管理并行执行多个处理的线程。      为了说明线程分配原理,这里假设线程数为4,实测iOS11线程数可达20个,所以想测试的同学,在并发队列中必须追加20个以上的任务      对于Concurrent Dispatch Queue来说,不管生成多少,由于XNU

    1.2K60发布于 2018-05-17
  • 来自专栏佳爷的后花媛

    今日推荐:lima

    uname -a Darwin macbook.local 20.4.0 Darwin Kernel Version 20.4.0: Thu Apr 22 21:46:47 PDT 2021; root:xnu

    1.3K20发布于 2021-06-10
  • 来自专栏CSDN技术头条

    45 个值得关注的开源软件推荐

    XNU/Darwin 36. FreeBSD 37. GCC 38. LLVM 39. Babel 40. JVM 41. .NET Core 42. Erlang VM(BEAM) 43.

    2K40发布于 2019-05-16
  • 来自专栏喔家ArchiSelf

    操作系统的可扩展访问控制

    3.2.1 XNU原型 苹果公司在2000年开始测试OS X的beta版,一个具有开源内核的商用桌面操作系统的承诺难以忽视。 XNU内核是卡内基梅隆大学的Mach微内核、FreeBSD 5.0、一些较新的FreeBSD元素以及苹果公司开发的众多特性的复杂融合。有了这些基础,MAC框架方法和甚至代码是可重用的。 这要求对框架和XNU进行更改。 接下来,覆盖范围扩展到包括Mach任务和IPC。 每个XNU进程将Mach任务(调度、VM)与FreeBSD进程链接在一起,提出了一个问题:MAC框架是Mach还是BSD的一部分? 虽然在架构上有用,但XNU中的Mach-BSD边界是人为的,引用经常跨层,要求MAC框架同时服务于两者。在BSD进程标签上的标签修改被映射到相应的Mach任务标签上。

    83530编辑于 2023-09-02
领券