关于 ios 11用 bfinject 做逆向工程


#1

引子

工欲善其事,必先利其器

由于 sariku 和 coolstar 的那档子事,cycript在ios11用不了,所以我就搜了个bfinject (是个fork, master的那个oudated了)

运行 bash bfinject -P Reddit -L cycript

之后, cycript终于可以运行了

问题

在GitHub link中可以看到如下:

Note: bfinject does not work on Electra if “Tweaks” is enabled. Reboot and re-run Electra without tweaks in order to use bfinject. If you see errors with “thread_create”, this is the problem.

而事实上运行相同命令会导致如下的 output/error:

iPad:~/bfinject_ root# bash bfinject -P Reddit -L test
[+] Electra detected.
[+] Injecting into '/var/containers/Bundle/Application/9A7E97E6-31A7-4D69-8D93-      15371F5DAD99/Tabs.app/Tabs'
[+] Getting Team ID from target application...
[+] Thinning dylib into non-fat arm64 image
[+] Signing injectable .dylib with Team ID 8Z842TTS95 and platform entitlements...
[bfinject4realz] Calling task_for_pid() for PID 3881.
[bfinject4realz] Calling thread_create() on PID 3881
[bfinject4realz] ERROR: thread_create() returned 4

[bfinject4realz] Failed to create thread in remote process.
             This most likely is caused by "Tweaks" being enabled in Electra.
             Please try rebooting and re-jailbreaking with "Tweaks" disabled.
[+] So long and thanks for all the fish.

所以就想问下

  • 为什么在 Tweaks enabled 的时候 thread_create() 会失败
  • Electra 的 Tweaks toggle 到底 toggle 了啥
Hidden criteria

鉴于论坛大量涌入新人且提问缺乏必要信息导致问题无法解决,目前暂行提问模版机制。试运行期间内新帖没有按照这个模版发帖将导致 锁帖/删帖/封号
(除非有原因,某些问题无法分类进下面的分支。这一点完全靠管理员唯一指定,大多数普通问题请老实按照下面的分类)

标**的为可选项

需求: (请勿使用 “我的需求是a但是我认为b可以解决a所以我来问问b” 这种提问模式,会造成误导)
**日志: (例如iOS系统的日志,OS X上相关操作的日志,etc)
**代码: (如果项目本身代码不方便发布请提供最小问题重现代码)
操作步骤: (请详细描述自己每步做了什么操作)
** 任何其他描述: (描述问题的现象,等等)
** 环境: (系统版本,安装的相关工具,等操作)


#2

没看过Electra源码。我估计是mach task的问题


#3

请问能给个大概的研究方向吗


#4

先看看Tweak那个选项Patch了啥呗


#5

我这边还是不行,不知道什么问题,贴一下错误代码


#6

你那边也是相同问题,还是??


#7

这个fork据说解决了开启tweak的问题,我没试过


#8

我也听说了 打算等会儿研究研究


#9

试过了不行呢,而且按照说明,把Tweaks关闭后,退出Electra,再打开,Tweaks默认又打开了。

请问您说过了吗?


#10

请问试过了吗?我试了貌似不行