首页
社区
课程
招聘
[讨论]搞了半天才知道傳說中的 mach-portal 對 IOS 9 沒用
发表于: 2017-1-12 06:04 5137

[讨论]搞了半天才知道傳說中的 mach-portal 對 IOS 9 沒用

2017-1-12 06:04
5137
按照盤果的說法做了細微的修正...
http://blog.pangu.io/mach-portal-details/

但是我發現一件祕密

每次在裡下斷點
// lookup a launchd service:
mach_port_t lookup(char* name) {
  mach_port_t service_port = MACH_PORT_NULL;
  kern_return_t err = bootstrap_look_up(bootstrap_port, name, &service_port);
  if(err != KERN_SUCCESS){
    printf("unable to look up %s\n", name);
    return MACH_PORT_NULL;
  }
  
  if (service_port == MACH_PORT_NULL) {
    printf("bad service port\n");
    return MACH_PORT_NULL;
  }
  return service_port;
}


service_port 都是 ffffffff  也就是沒有

然後我找了一下 com.apple.iohideventsystem 的相關資料 找到了

<plist version="1.0">
<dict>
	<key>KeepAlive</key>
	<true/>
	<key>Label</key>
	<string>com.apple.hidd</string>
    <key>MachServices</key>
    <dict>
            <key>com.apple.iohideventsystem</key>
            <dict>
                    <key>ResetAtClose</key>
                    <true/>
            </dict>
    </dict>
	<key>ProgramArguments</key>
	<array>
		<string>/usr/libexec/hidd</string>
	</array>
	<key>EnableTransactions</key>
	<true/>
	<key>POSIXSpawnType</key>
	<string>Interactive</string>
</dict>
</plist>


位於 /System/Library/LaunchDaemons/com.apple.hidd.plist

com.apple.hidd.plist Mac 有

/usr/libexec/hidd Mac 有

但是 IOS 9.3.5 ... 沒有

那還要搞個屁阿 ˇ ˇ

CVE-2016-7637 用于替换了launchd进程中往com.apple.iohideventsystem发消息的port


IOS 下不知道 launchd 要發給誰 ˇ ˇ

launchd 重复释放和分配64次后会返回给用户态完全相同的name .... 有
com.apple.PowerManagement.control  有
就差 com.apple.iohideventsystem

如果找到 com.apple.iohideventsystem 的替代品 那 9.3.5 還可以嘗試解放看看

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//