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

    从底层分析一下存在跨进程通信问题的 NSUserDefaults 还能用吗?

    通过官方文档,我们可以发现 xpc 框架存在两个不会锁住当前的线程 API xpc_connection_send_message xpc_connection_send_message_with_reply 存储值 xpc_dictionary_set_int64(hello, "CFPreferencesOperation", 1); // 注释3:存储的内容 xpc_dictionary_set_string (conn, ^(xpc_object_t object) { printf("xpc_connection_set_event_handler:收到返回消息: %sn", xpc_copy_description (object)); }); xpc_connection_resume(conn); #pragma mark - 异步方案一 (没有回应) // xpc_connection_send_message , ^(xpc_object_t _Nonnull object) { printf("xpc_connection_send_message_with_reply:收到返回消息: %

    2.9K32发布于 2021-03-18
  • 来自专栏Khan安全团队

    CVE-2020-9971滥用XPC服务机制来提升macOS iOS中的特权

    xpc_object_t pid_dict = xpc_dictionary_create(NULL, NULL, 0); xpc_dictionary_set_int64(pid_dict, "pid /testXPC.xpc", mainBundlePath]; xpc_object_t xpc_bundle = xpc_string_create([bundlePath UTF8String]) ; xpc_object_t paths = xpc_array_create(&xpc_bundle, 1); // XPC Services path xpc_add_bundles_for_domain 在这里,我通过在XPC服务的plist文件中添加Sockets信息,让XPC服务监听一个socket端口。 在iOS 13.5之前,它使用xpc_bundle_get_path来获取XPC Service的路径。

    2K20发布于 2021-01-25
  • 来自专栏Mac&iOS

    携手 XPCServices,打造安全稳定的 Mac 应用

    为什么要用 XPC Service官方介绍提到,选择使用 XPC Service 的两个主要原因:稳定和安全,为什么能带来稳定和安全呢,核心就在 XPC Service 独立进程和独立的沙盒机制的特性带来的 这个时候就可以把 XPC 利用起来,把不能沙盒化的那部分挪到 XPC 中去,XPC 关闭沙盒功能,App 就能正常开启沙盒功能了。 首先,使用基于C的 XPCService API时,有一重要对象需要了解一下xpc_object_t任何 XPC 的对象都可以处理为不透明的类型 xpc_object_t ,具体可以通过 man xpc_objects ,然后传递给XPC Service 通过xpc_dictionary_set_fd(),XPC Service 拿到 fd通过xpc_dictionary_get_fd() Main Application 侧通过 open() 获取到 fd ,然后通过xpc_dictionary_set_fd()放到message中,如下的代码片段:图片XPC Service 侧通过xpc_dictionary_get_fd

    3.9K170编辑于 2022-10-12
  • 来自专栏Web行业观察

    Mac下禁用一些高占用的进程

    Feb 5 21:09:09 Sun-Zhongweis-MacBook-Pro com.apple.xpc.launchd[1] (com.apple.nowplayingtouchui): Service Feb 5 21:09:11 Sun-Zhongweis-MacBook-Pro com.apple.xpc.launchd[1] (com.alipay.DispatcherService[11486 Feb 5 21:09:11 Sun-Zhongweis-MacBook-Pro com.apple.xpc.launchd[1] (com.apple.ReportCrash.Root[11487] Please switch to XPC or bootstrap_check_in(): com.apple.ReportCrash.DirectoryService Feb 5 21:09:11 Feb 5 21:09:21 Sun-Zhongweis-MacBook-Pro com.apple.xpc.launchd[1] (com.alipay.DispatcherService[11489

    6K20发布于 2018-10-11
  • 来自专栏37手游iOS技术运营团队

    iOS15 安全漏洞分析:价值10万美元的漏洞曝光

    (connection) let xdict = xpc_dictionary_create(nil, nil, 0) xpc_dictionary_set_string(xdict, return String(cString: xpc_dictionary_get_string(reply, "log-dump")) } XPC 这里先解析一下 XPCXPC 是 macOS 简单来说,就是系统封装了很多 XPC 服务,一个 XPC 提供了进程间通信的服务,所有的 app 都可以访问这个服务。 XPC · objc.io ObjC 中国 - XPC 漏洞分析 了解了 XPC 基本概念,上面的源代码,大家应该能猜到一些了。 就是通过苹果系统的 XPC 服务 com.apple.analyticsd,因苹果没有验证权限,导致所有 app 都可以访问这个 XPC 服务。

    1.9K20发布于 2021-10-26
  • 来自专栏FreeBuf

    CVE-2018-8412:通过MS Office for Mac的Legacy Package进行提权

    XPC 验证绕过 在/Library/PrivilegedHelperTools/com.microsoft.autoupdate.helper中有一个XPC服务com.microsoft.autoupdate.helper 该服务是基于NSXPCConnection的,并且仅提供了两个XPC接口: @protocol MAUHelperToolProtocol - (void)logString:(NSString *)arg1 installUpdateWithPackage:(NSString *)arg1 withXMLPath:(NSString *)arg2 withReply:(void (^)(NSString *))arg3; @end 在XPC 现在,我已具备与XPC通信的能力。 利用 利用步骤如下: 1.DYLD_INSERT_LIBRARIES注入“Microsoft AutoUpdate”; 2.将易受攻击的SilverLight installer放置在某路径下,发送XPC

    1.1K20发布于 2018-09-21
  • 来自专栏酷酷的哀殿

    iOS 极致速度优化:快速打开任意 APP 的设置界面

    image 前面的处理结束后,开始通过 -[LSApplicationWorkspace openURL:] 打开地址 创建 xpc connection 通过 -[NSXPCConnection initWithMachServiceName image 打开任意 APP 的设置界面 通过对 -[UIApplication openURL:] 背后的流程进行分析,我们可以得到以下两种方案打开任意 APP 的设置界面: 通过构造 xpc 信息 同时,我们也可以发现,该方案可以减少了很多检验逻辑,并减少了 xpc 调用,可以大幅度提升打开设置页面的速度。

    2.1K10发布于 2021-06-22
  • 来自专栏酷酷的哀殿

    如何监控 iOS 的启动耗时

    《原理篇》 提供的定义:启动终点为启动图完全消失后的第一帧 IPC 进程间通信(IPC,Inter-Process Communication),指至少两个进程或线程间传送数据或信号的一些技术或方法 XPC XPC 是 iOS/OS X 下的一种 IPC 技术, 它实现了权限隔离等各种底层能力 iOS 的渲染机制 iOS 的渲染机制依赖 Render Loop 进行。 image-20210215234044431 随后开始注册 CATransactionPhase 变化回调 敲重点:这里是为了后面的 xpc 通信做准备 ? image-20210215015454854 Commit(提交):打包 Render Tree,并通过 xpc 框架发给 Render Server xpc 通信发生在前面注册的 CATransactionPhase

    2.9K10发布于 2021-03-03
  • SD NAND存储功能描述(2)初始化命令

    如果SDXC卡初始化为XPC-0,则该卡的“Default Speed”或“SDR12”工作小于100mA,如果该卡不支持“Speed Class”,则“SD Status”显示为“Class O”。 如果SDXC卡初始化为XPC-1,则该卡在Default Speed或SDR12下的工作小于150mA,且该卡支持Speed Class。更改XPC选择需要重新初始化。

    42921编辑于 2024-06-24
  • 来自专栏一个会写诗的程序员的博客

    [ 成为架构师系列 ] 5. Spring Bean 的生命周期 (the standard bean lifecycle)

    ,"SPRING_BOOT_HOME","MY_RUBY_HOME","GEM_HOME","VERSIONER_PYTHON_PREFER_32_BIT","TMPDIR","rvm_path","XPC_FLAGS BIT":"no","TMPDIR":"/var/folders/q5/kvt7_nsd6ngdw5qry4d99xv00000gn/T/","rvm_path":"/Users/jack/.rvm","XPC_FLAGS ,"SPRING_BOOT_HOME","MY_RUBY_HOME","GEM_HOME","VERSIONER_PYTHON_PREFER_32_BIT","TMPDIR","rvm_path","XPC_FLAGS ,"SPRING_BOOT_HOME","MY_RUBY_HOME","GEM_HOME","VERSIONER_PYTHON_PREFER_32_BIT","TMPDIR","rvm_path","XPC_FLAGS ,"SPRING_BOOT_HOME","MY_RUBY_HOME","GEM_HOME","VERSIONER_PYTHON_PREFER_32_BIT","TMPDIR","rvm_path","XPC_FLAGS

    70410发布于 2019-12-03
  • 来自专栏iOS逆向与安全

    iOS【 ASO项目使用的技术】之 Inter process Communication

    [AppleEvents & AppleScript] [Distributed Objects] XPC https://developer.apple.com/library/content/documentation rocketbootstrap_register 4、Easy to use wrappers for CFMessagePort and CPDistributedMessagingCenter(todo: XPC

    97010发布于 2021-03-24
  • 来自专栏Windows技术交流

    【玩转腾讯云】购买Windows CVM时自动安装Chrome、Firefox浏览器

    "InstanceName": "abcdefgh-{R:111}", "LoginSettings": { "Password": "auNv4Pg5xpc false /DesktopShortcut=true"; start-sleep -s 60; Remove-Item $Path; net user Administrator "auNv4Pg5xpc temp.reg echo "`"DefaultUserName`"=`"Administrator`"" >> c:\temp.reg echo "`"DefaultPassword`"=`"auNv4Pg5xpc

    3K40编辑于 2024-06-06
  • 来自专栏猫头虎博客专区

    CleanMyMac X(4.x)vs. CleanMyMac 5(5.x)带 “X” 与不带 “X” 的版本号区别

    Concurrency,大幅减少锁竞争 扫描算法 签名-比对 + 路径规则 ↳ 外加 行为特征模型(Core ML) 恶意软件检测 采样扫描(on-demand) 实时守护进程(cmm-daemon)+ XPC XPC 服务拆分:5.x 将网络请求、磁盘操作、Core ML 推断分布到独立守护进程,主进程无 root 权限。

    72710编辑于 2025-05-20
  • 来自专栏云计算linux

    os.environ详解-DJANGO_SETTINGS_MODULE 环境变量是如何设置的

    com.apple.launchd.OKzHAUzpN0/Listeners') 10 ('VIRTUAL_ENV', '/Users/zhangjin/2018/Django_2018/venv') 11 ('XPC_FLAGS com.apple.launchd.JFjmO3gaCM/Render') 16 ('LOGNAME', 'zhangjin') 17 ('LC_CTYPE', 'zh_CN.UTF-8') 18 ('XPC_SERVICE_NAME

    80110编辑于 2024-12-25
  • 来自专栏Windows技术交流

    Windows UserData专题:安装Chrome

    arguments Break } #设置自动登录,在这里指定密码,只有进入explorer才能安装软件,设置自动登录进入explorer net user Administrator "auNv4Pg5xpc temp.reg echo "`"DefaultUserName`"=`"Administrator`"" >> c:\temp.reg echo "`"DefaultPassword`"=`"auNv4Pg5xpc

    1.1K51编辑于 2024-12-19
  • 来自专栏四楼没电梯

    MAC OSX 进程间通信

    Internet sockets 或者 XPC( NSConnection) 7.

    31410编辑于 2024-10-12
  • 来自专栏硬核项目经理的专栏

    PHP中环境变量的操作

    CF_USER_TEXT_ENCODING] => 0x1F5:0x19:0x34 // [TMPDIR] => /var/folders/wj/t2z1cfhs0m9gq48krm8nc0vm0000gn/T/ // [XPC_SERVICE_NAME ] => 0 // [XPC_FLAGS] => 0x0 // [OLDPWD] => /Users/zhangyue/MyDoc/博客文章 // [PWD] => /Users

    1.5K10发布于 2020-10-10
  • 来自专栏HONEYWELL

    ABB HESG324013R100 核心是预张紧接触弹簧

    由于XPC PCB连接器的紧凑性,这是不可能的。

    24510编辑于 2023-05-06
  • 来自专栏WeTest质量开放平台团队的专栏

    PerfDog常用小技巧

    如此一来,就会在后台新生成一条当前选中数据的报告啦 4.多进程测试 iOS平台,APP多进程分为APP Extension和系统XPC Server。 当然也可能用到系统XPC Server服务进程,如一般web浏览器会用到webkit。

    1.3K30发布于 2020-06-08
  • 来自专栏用户9199536的专栏

    System|IPC|Rethinking IPC

    exit(EXIT_FAILURE); } ---- 前沿 微内核在IPC方面做出了很大改进,例如 LRPC(SOSP 89) seL4 IPC(SOSP 09) XPC SJTU,IPADS,OS-09-IPC SJTU,IPADS,CSP-12-Arch_fror_OS SOSP89-Lightweight remote procedure call ISCA19-XPC

    1K30发布于 2021-11-22
领券