MonkeyDev重签名打包,闪退EXC_BAD_ACCESS (SIGSEGV)。 是因为App有检测吗(比如注入检测、重签名检测、完整性检测等)

1、对一app在越狱手机上进行hook,写Tweak语句,能正常运行并且有效果。
2、用MonkeyDev和MonkeyApp直接重签名打包,会闪退。Logos语句已经删完了,只多加了个输出语句。错误内容:
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000000
VM Region Info: 0 is not in any region.

:+1:----------------insert dylib success----------------:+1:

2023-11-20 17:25:11.194904+0800 OKEx[1174:240127] [AntiAntiDebug Init]

[MethodTrace]

:books:--------------------OCMethodTrace(Usage)-------------------:books:

https://github.com/omxcodec/OCMethodTrace/blob/master/README.md

:books:--------------------OCMethodTrace(Usage)-------------------:books:

[MethodTrace] logLevel: 0: logWhen: 0 traceFlag: 2 traceObject: 0(未指定类)

[MethodTrace] Method Trace is disabled


1、App是砸了壳的。
2、MonkeyDev也是更新了的。
3、fishhook.h和fishhook.c两个文件也是更新替换了的。

欧易吗,记得它好像有做签名校验之类的,不确定。你可以试试单纯重打包看看能不能成功运行。

单纯重打包就不行,安装后,闪退

只说一句,最关键的:MonkeyDev自动打包+重签名,安装后闪退的原因:
重签名是用的默认的entitlement(就几个字段)而不是app原先的entitlement(很多字段),所以app运行后,由于entitlement权限属性会导致:各种报错和异常,包括上述的常见的内存访问异常。

解决办法:无
解释:试过hook和研究Xcode+MonkeyDev打包内部全流程,找不到可以加上entitlement的时机和地方,所以无法解决。
如果有高手解决了,麻烦告诉我一下。

其他办法:
换其他动态调试方法
比如:Xcode+重签名 = 用Xcode动态调试。

其他细节详见:
iOS逆向开发:动态调试