Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

inject failed, Unable to bind, “_fstat$INODE64” not found in “/usr/lib/libSystem.B.dylib” #6

Open
RuyeNet opened this issue Sep 14, 2021 · 26 comments
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@RuyeNet
Copy link

RuyeNet commented Sep 14, 2021

BigSur 11.5.2
Mac mini (M1, 2020)

daemon.log:
I: finder pid: 1599
E: inject failed, Unable to bind, “_fstat$INODE64” not found in “/usr/lib/libSystem.B.dylib”

我尝试kill掉Finder进程,但在Finder进程重新启动时,依旧提示相同的错误

@RuyeNet
Copy link
Author

RuyeNet commented Sep 14, 2021

ruyenet@RuyeNets-Mini ~ % csrutil status
System Integrity Protection status: disabled.
ruyenet@RuyeNets-Mini ~ % csrutil authenticated-root status
Authenticated Root status: disabled

@xiaozhuai
Copy link
Owner

@RuyeNet 从日志看,在M1芯片上可能有兼容性问题,可能需要单独编译一个M1的版本

@xiaozhuai
Copy link
Owner

@RuyeNet 我手上没有M1芯片的mac,你执行下uname -m看下。

@xiaozhuai
Copy link
Owner

@RuyeNet 已释出1.0.0版本,增加arm64和arm64e支持,你可以测试下看看

@RuyeNet
Copy link
Author

RuyeNet commented Sep 14, 2021

ruyenet@RuyeNets-Mini ~ % uname -a
Darwin RuyeNets-Mini.lan 20.6.0 Darwin Kernel Version 20.6.0: Wed Jun 23 00:26:27 PDT 2021; root:xnu-7195.141.2~5/RELEASE_ARM64_T8101 arm64
ruyenet@RuyeNets-Mini ~ % uname -m
arm64

@RuyeNet
Copy link
Author

RuyeNet commented Sep 14, 2021

I: finder pid: 3355
E: inject failed, Incompatible Mach-O image

kill 3355

I: finder restarted, pid: 3393
E: inject failed, Incompatible Mach-O image

@xiaozhuai
Copy link
Owner

@RuyeNet 下载的是arm64版的吗?如果还是不行的话,我得找个M1芯片的mac测试一下,现在这个是在我的x86_64的mbp上交叉编译的。或者你可以尝试一下在你的Mac mini上编译一下。

git clone --recursive https://github.com/xiaozhuai/odourless
cd odourless
./download-frida-libs.sh
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=arm64 -B build .
cmake --build build -- install -j8
open build/dist

@RuyeNet
Copy link
Author

RuyeNet commented Sep 14, 2021

是arm64版的,我也尝试了arm64e版本,但arm64e的Odourless.app无法运行,我试一下自编译

@RuyeNet
Copy link
Author

RuyeNet commented Sep 14, 2021

同样的错误

@xiaozhuai xiaozhuai added bug Something isn't working help wanted Extra attention is needed labels Sep 14, 2021
@xiaozhuai xiaozhuai pinned this issue Sep 14, 2021
@xiaozhuai xiaozhuai mentioned this issue Nov 2, 2021
@zjns
Copy link

zjns commented Dec 16, 2021

arm64 版本,注入失败,我也来自编译一个试试

I: finder pid: 912
E: inject failed, Incompatible Mach-O image

@zjns
Copy link

zjns commented Dec 16, 2021

arm64 版本,注入失败,我也来自编译一个试试

I: finder pid: 912
E: inject failed, Incompatible Mach-O image

貌似是 frida 的问题,项目下面有相关的 issue,用最新版本 15.1.14 编译运行,还是同样的问题

@xiaozhuai
Copy link
Owner

@zjns 目前需要等上游问题解决后才能修复此问题

@zjns
Copy link

zjns commented Dec 22, 2021

@xiaozhuai 我调试了 frida 的代码,发现是https://github.com/frida/frida-gum/blob/7df5759c078f1f0d7db746f1bab6892a56da8520/gum/gumdarwinmodule.c#L2154 这个方法里的cpusubtype变量读取不对,我强制指定为GUM_DARWIN_CPU_SUBTYPE_ARM64E后,编译了 arm64 位版本的 frida,并且按照 frida/frida#1717 https://frida.re/news/2020/07/24/frida-12-11-released 解决m1兼容性问题后,然后与 odourless 一起编译,运行现在报这个错,这个错就是 1717 issue 里的错误,但不应该啊,我已经解决了这个错。有办法推进吗?
image
PS: 命令行用 frida "访达"能够注入:
image

@xiaozhuai
Copy link
Owner

@zjns 你把你那边编译好的应用打个包发我看看吧
但是我手边没有m1的设备.....

@zjns
Copy link

zjns commented Dec 22, 2021

@xiaozhuai 用我改了代码编译后的 frida,arm64 和 arm64e 版本的 odourless 都可以打开,但都报这个错。
arm64: Odourless-arm64-1.0.0.zip
arm64e: Odourless-arm64e-1.0.0.zip

@xiaozhuai
Copy link
Owner

@zjns 看不出问题 file /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder 先确定一下Finder究竟是arm64还是arm64e吧

@zjns
Copy link

zjns commented Dec 22, 2021

file /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder

[17:18] ~ $ file /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder
/System/Library/CoreServices/Finder.app/Contents/MacOS/Finder: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64e]
/System/Library/CoreServices/Finder.app/Contents/MacOS/Finder (for architecture x86_64):	Mach-O 64-bit executable x86_64
/System/Library/CoreServices/Finder.app/Contents/MacOS/Finder (for architecture arm64e):	Mach-O 64-bit executable arm64e
[17:19] ~ $ 

arm64e @xiaozhuai

@RuyeNet
Copy link
Author

RuyeNet commented Dec 22, 2021

我也是M1设备,可以协助解决问题

@xiaozhuai
Copy link
Owner

@zjns @RuyeNet 已释出1.1.0 请测试一下1.1.0版本在M1设备上是否可用

@zjns
Copy link

zjns commented Jun 20, 2022

@xiaozhuai macOS 13.0 依旧不能用

arm64e 报错:
image
arm64 报错:
image

@xiaozhuai
Copy link
Owner

xiaozhuai commented Jun 21, 2022

https://frida.re/news/2020/07/24/frida-12-11-released/

sudo nvram boot-args="-arm64e_preview_abi"

尝试上面的命令,然后重启再试试

@zjns
Copy link

zjns commented Jun 21, 2022

https://frida.re/news/2020/07/24/frida-12-11-released/

sudo nvram boot-args="-arm64e_preview_abi"

尝试上面的命令,然后重启再试试

在这条评论里我就试了这行命令了,不行 #6 (comment)

@xiaozhuai
Copy link
Owner

xiaozhuai commented Jun 22, 2022

@zjns @RuyeNet 试试这个,编译成了universal版

Odourless-universal-1.2.0.zip

下面这个👇🏻
Odourless-universal-1.2.0.zip

@zjns
Copy link

zjns commented Jun 22, 2022

@zjns @RuyeNet 试试这个,编译成了universal版

Odourless-universal-1.2.0.zip

下面这个👇🏻 Odourless-universal-1.2.0.zip

还是不行,但是报错不一样了
image

@xiaozhuai
Copy link
Owner

@zjns @RuyeNet 试试这个,编译成了universal版
Odourless-universal-1.2.0.zip
下面这个👇🏻 Odourless-universal-1.2.0.zip

还是不行,但是报错不一样了 image

辛苦再试一下下面的版本:
Odourless-universal-1.2.0.zip

@zjns
Copy link

zjns commented Jun 22, 2022

@zjns @RuyeNet 试试这个,编译成了universal版
Odourless-universal-1.2.0.zip
下面这个👇🏻 Odourless-universal-1.2.0.zip

还是不行,但是报错不一样了 image

辛苦再试一下下面的版本: Odourless-universal-1.2.0.zip

不行
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants