作为 Jay Freeman 的视频,我们可以将Cyript lib注入iOS模拟器,动态调试我们的应用程序.
但是当我进行操作并尝试CYListenServer(5432);
崩溃时:libc++abi.dylib: terminating with uncaught exception of type CYPoolError
有人有一些解决方案?
Cycript是一个基于控制台的应用程序,它是Objective-C和JavaScript的混合体.Cycript对于iOS应用程序的动态分析非常有用.
如果您使用Swift编写任何方法或完整的ipa,是否仍然可以将应用程序挂钩到越狱设备上?或者Swift像iOS上的"原生C"代码一样安全吗?
我正在构建一个将敏感数据传输到我的服务器的iOS应用程序,我正在签署我的API请求作为额外措施.我想尽可能地进行逆向工程,并且使用Cycript查找某些真实应用程序的签名密钥,我知道通过附加到流程来找到这些密钥并不困难.我完全清楚,如果有人真的很熟练并且努力尝试,他们最终会利用,但我想尽可能地努力,同时仍然方便自己和用户.
我可以检查越狱状态并采取其他措施,或者我可以执行SSL固定,但通过附加到进程并修改内存,两者仍然很容易绕过.
有没有办法检测是否有某些东西(无论是Cycript,gdb,还是任何可用于破解流程的类似工具)附加到流程中,而不是被App Store拒绝?
编辑:这不是检测iOS应用程序是否在调试器中运行的重复.该问题与输出更相关,它检查输出流以确定是否有输出流附加到记录器,而我的问题与此无关(并且该检查不包括我的条件).
我了解了下面这段代码,声称可以在某种程度上阻止Method Swizzling.
#ifndef DEBUG
SEC_IS_BEING_DEBUGGED_RETURN_NIL();
#endif
Run Code Online (Sandbox Code Playgroud)
但是在我的测试项目中包含了一些错误.
函数'SEC_IS_BEING_DEBUGGED_RETURN_NIL'的隐式声明在C99中无效
如果我需要包含任何库标题,有人可以帮我解决这个错误.