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

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

 找回密码
 立即注册
查看: 750|回复: 6

第3.1.1章,编译汇编文件签名之后执行一直Kill 9

[复制链接]

4

主题

23

帖子

224

积分

中级会员

Rank: 3Rank: 3

积分
224
发表于 2019-12-3 20:09:49 | 显示全部楼层 |阅读模式
各位大佬,我的设备是6s 13.1.3的系统,在返回看汇编时,编译好的可执行文件,放到手机里执行一直出现kill 9 ,我让我同事在iOS8 的系统执行却没有问题。我找到之前发的帖子尝试着试了下,报错。。。然后就不知道怎么解决了,代码如下
iPhone:~ root# ./Helloworld_arm64
-sh: ./Helloworld_arm64: Permission denied
iPhone:~ root# chmod u+x Helloworld_arm64
iPhone:~ root# ./Helloworld_arm64
Killed: 9

iPhone:~ root# /usr/bin/ldid -P -K/usr/share/jailbreak/signcert.p12 -S/usr/share/entitlements/global.xml -M Helloworld_arm64
ldid.cpp(1101): _assert(): errno=2
libc++abi.dylib: terminating with uncaught exception of type char const*
Abort trap: 6

回复

使用道具 举报

4

主题

23

帖子

224

积分

中级会员

Rank: 3Rank: 3

积分
224
 楼主| 发表于 2019-12-3 20:22:31 | 显示全部楼层
我刚才放到usr/bin目录下执行就成功了,有大佬解释一波么
iPhone:/var/local root# cd /usr/bin
iPhone:/usr/bin root# chmod +x Helloworld_arm64
iPhone:/usr/bin root# ./Helloworld_arm64
exchen
回复

使用道具 举报

118

主题

499

帖子

2043

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2043
发表于 2019-12-4 16:17:18 | 显示全部楼层
我刚才试了 iOS 13.1.3 放到根目录也可以执行。提示 killed 9 是需要在 ent.plist 里添加 platform-application
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5.         <key>platform-application</key>
  6.         <true/>
  7.         <key>com.apple.springboard.debugapplications</key>
  8.         <true/>
  9.         <key>run-unsigned-code</key>
  10.         <true/>
  11.         <key>get-task-allow</key>
  12.         <true/>
  13.         <key>task_for_pid-allow</key>
  14.         <true/>
  15. </dict>
  16. </plist>
复制代码
然后签名 codesign -s - --entitlements ent.plist -f Helloworld_arm64

提示 Permission denied 应该是没有执行权限,在手机上运行 chmod +x  Helloworld_arm64 添加执行权限试试。
回复

使用道具 举报

4

主题

23

帖子

224

积分

中级会员

Rank: 3Rank: 3

积分
224
 楼主| 发表于 2019-12-5 21:41:16 | 显示全部楼层
exchen 发表于 2019-12-4 16:17
我刚才试了 iOS 13.1.3 放到根目录也可以执行。提示 killed 9 是需要在 ent.plist 里添加 platform-applica ...

陈老师,有个在这个问题上跟进产生的问题,
在7.2.3章调试运行过程,也是一个main函数。编译签名后产生的二进制可执行文件,执行是没有问题的,但是我想动态调试的时候。debugserver无法启动该程序,我试了我的debugserver是正常的,可以启动其他正常的App。StringTest.out是我编译出的文件
iPhone:/ root# debugserver -x backboard 127.0.0.1:1234 ./StringTest.out
debugserver-@(#)PROGRAM: LLDB  PROJECT:lldb-900.3.98
for arm64.
error: failed to launch process debugserver: <unknown failure>
Exiting.
是不是这iOS13越狱的和之前老版本差别太大,好多东西都不能正常的使用
回复

使用道具 举报

118

主题

499

帖子

2043

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2043
发表于 2019-12-5 21:51:18 | 显示全部楼层
iOS 基本上每个大的版本都有一点变化,不过万变不离其宗,只要研究下都有办法解决。
你测一下用附加的方式可以?在开头写一个循环,保持程序不要一打开就退出。
debugserver 127.0.0.1:1234 -a StringTest.out
回复

使用道具 举报

4

主题

23

帖子

224

积分

中级会员

Rank: 3Rank: 3

积分
224
 楼主| 发表于 2019-12-5 22:09:15 | 显示全部楼层
exchen 发表于 2019-12-5 21:51
iOS 基本上每个大的版本都有一点变化,不过万变不离其宗,只要研究下都有办法解决。
你测一下用附加的方式 ...

额。灵活多变的方法,受教了。谢谢!
回复

使用道具 举报

4

主题

23

帖子

224

积分

中级会员

Rank: 3Rank: 3

积分
224
 楼主| 发表于 2019-12-5 22:09:36 | 显示全部楼层
exchen 发表于 2019-12-5 21:51
iOS 基本上每个大的版本都有一点变化,不过万变不离其宗,只要研究下都有办法解决。
你测一下用附加的方式 ...

额。灵活多变的方法,受教了。谢谢!
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|iOSHacker

GMT+8, 2020-8-12 19:37 , Processed in 0.021479 second(s), 19 queries .

iOS安全论坛

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

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