er1cw00 / iOS_Hook

iOS inline hook (function hook) and method swizzling (message hook), split from substitute project.
32 stars 25 forks source link

EXC_BAD_ACCESS (SIGKILL - CODESIGNING) #1

Open santa0000 opened 7 years ago

santa0000 commented 7 years ago

你的demo连着xcode调试没有问题

但脱离xcode运行,就会crash EXC_BAD_ACCESS (SIGKILL - CODESIGNING)

请问如何解决

er1cw00 commented 7 years ago

这个库不稳定,多线程,arm32 都会有问题,我们也没上线,还是用fishhook吧!

santa0000 commented 7 years ago

fishhook无法hook系统动态库内部的调用 其实我这个错就是苹果运行时还会对代码段进行签名校验,连着xcode就不校验所以没问题,如果有办法绕开就好了,非越狱

er1cw00 commented 7 years ago

那应该是你证书的问题, 改个包名用你自己的账号重新建个签名。 打包app安装都ok。 我这边做流量劫持SDK,hook CFStreamRead/WriteOpen,4S上hook 失败会crash。 而且hook的时候,如果刚好其他线程执行到被hook的函数也会挂,所以我们也不用了。

santa0000 commented 7 years ago

刚好我们公司也是做流量劫持的 请教下,你们的demo在iOS10的64bit设备试过吗?

我证书和签名应该没有问题,就是真机连着xcode联调时,没有问题

真机断开xcode后,重新运行,就报这个错: Exception Type: EXC_BAD_ACCESS (SIGKILL - CODESIGNING) Exception Subtype: unknown at 0x000000018f094a3c Termination Reason: Namespace CODESIGNING, Code 0x2

我查了下,因为demo实际上是动态新增了代码页,苹果运行时也会校验代码页的签名,叫做dynamic-codesigning,导致报错

er1cw00 commented 7 years ago

是会挂!

Hujinyong commented 6 years ago

真机上运行确实会挂,这个有解决办法吗?

Hujinyong commented 6 years ago

真机脱离xcode运行,crash的情况有办法解决吗

santa0000 commented 6 years ago

真机脱离xcode运行,crash的情况有办法解决吗

无法解决,fishhook吧

Hujinyong commented 6 years ago

试了下fishhook,好像有的情况hook不了。

santa0000 commented 6 years ago

试了下fishhook,好像有的情况hook不了。

是的,如果全都能hook,那就不会考虑inlinehook了

4ch12dy commented 5 years ago

这个只能在越狱设备上用

4ch12dy commented 5 years ago

我这边在64位越狱设备上测试没有问题

caihongxiaoyang commented 4 years ago

我生成全设备工程,失败报错Command CompileC failed with a nonzero exit code。独立64位工程运行一切正常。 删除objc-asm.S一切正常。这个汇编文件有什么用途,没搞明白