《九阴真经: iOS黑客攻防秘籍》新书发布,干货满满,快来看看吧!

iOS 安全论坛 - 专注于研究 iOS 安全

 找回密码
 立即注册
查看: 7120|回复: 5

iOS14.2 + checkra1n 越狱 killed:9 问题

[复制链接]

3

主题

15

帖子

77

积分

注册会员

Rank: 2

积分
77
发表于 2020-12-19 22:14:21 | 显示全部楼层 |阅读模式
设备信息:
设备:iPhone 6s plus
系统:iOS14.2
越狱工具:checkra1n 0.12.1


问题描述:
运行自己签名的程序(汇编 Helloworld)立即提示 killed 9
https://www.exchen.net/ios-12-4-killed-9.html
这个链接里面的内容看过了,里面的命令(/usr/bin/ldid -P -K/usr/share/jailbreak/signcert.p12 -S/usr/share/entitlements/global.xml -M Helloword)执行报错:
ldid.cpp(1106): _assert(): errno=2
libc++abi.dylib: terminating with uncaught exception of type char const*
Abort trap: 6

查看手机的 /usr/share 文件夹下,jailbreak和 entitlements 这两个文件夹不存在。
另外当前测试程序是在 /var/root/xxx/ 文件夹下面运行不可以

其他信息
1. 将程序使用苹果开发证书签名
2. 并且将放到 /usr/bin 路径下面
同时满足这两个条件的时候,可以运行。

问题:
1. /usr/bin/ldid -P -K/usr/share/jailbreak/signcert.p12 -S/usr/share/entitlements/global.xml -M Helloword 命令中,signcert.p12 是否是越狱的证书?
2. 如果 1 是的话,checkra1n 越狱后的 signcert.p12 证书在哪里
3. 在 /usr/bin 路径下面正常签名可以运行,其他路径不可运行,是权限问题吗?

非常感谢!


回复

使用道具 举报

119

主题

582

帖子

2626

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2626
发表于 2020-12-19 23:13:33 | 显示全部楼层
1. /usr/bin/ldid -P -K/usr/share/jailbreak/signcert.p12 -S/usr/share/entitlements/global.xml -M Helloword 这个命令是在 unc0ver 上用的,checkra1n 没有相关的文件。
3. 尝试将可执行文件打包成 deb 文件,安装后应该可以执行。
回复

使用道具 举报

3

主题

15

帖子

77

积分

注册会员

Rank: 2

积分
77
 楼主| 发表于 2020-12-20 09:44:10 | 显示全部楼层
exchen 发表于 2020-12-19 23:13
1. /usr/bin/ldid -P -K/usr/share/jailbreak/signcert.p12 -S/usr/share/entitlements/global.xml -M Hell ...

嗯嗯,好的,我试一下 deb 文件的方式。

checkra1n 越狱的话,是不是可以使用自己的开发证书在手机端签名?
另外因为就是自己学习的时候写的几个 Hello world 之类的代码,现在用开发证书签名的可以在 /usr/ 下级目录执行,有没有什么办法放到 /var/root/ 下面的子文件夹也能执行?
回复

使用道具 举报

119

主题

582

帖子

2626

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2626
发表于 2020-12-20 15:18:31 | 显示全部楼层
大概率也是和签名相关的问题,checkra1n 的签名我没有研究过,但是你可以顺着我之前分析 unc0ver 签名的步骤,先确定 dpkg -i 安装 deb 释放在放在 /var/root 目录是否可以运行,如果可以运行,那说明和 dpkg 这个工具有关系,分析一下它是不是执行了某个命令做的签名。
回复

使用道具 举报

3

主题

15

帖子

77

积分

注册会员

Rank: 2

积分
77
 楼主| 发表于 2020-12-20 16:51:59 | 显示全部楼层
exchen 发表于 2020-12-20 15:18
大概率也是和签名相关的问题,checkra1n 的签名我没有研究过,但是你可以顺着我之前分析 unc0ver 签名的步 ...

好的,我再学习然后研究一下,谢谢了!
回复

使用道具 举报

0

主题

1

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2022-12-20 11:26:23 | 显示全部楼层
我测试了一下
1. 手动编译不做任何签名放在任何地方都无法运行。
2. 使用 ldid 或者 codesign 无开发者证书签名的情况下必须放在 /usr/bin/ /usr/local/bin/ 下才能执行。
3. codesign 带开发者证书签名的情况同2。
大概率是有个执行文件放置目录白名单。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|iOSHacker

GMT+8, 2023-6-9 12:05 , Processed in 0.019511 second(s), 19 queries .

iOS安全论坛

© 2017-2020 iOS Hacker Inc. 京ICP备17074153号-2

快速回复 返回顶部 返回列表