我有安装了Undecimus的iOS设备。当我尝试启动非特定于越狱的游戏Tapsonic TOP时,它会以某种方式读取我的应用程序列表并显示“检测到非法程序”并退出。我在有没有越狱的情况下尝试了此操作,并且确实进行了一些隐藏越狱检测的调整,因此这不太可能是越狱问题。
我已经在StackOverflow上进行了搜索,以了解如何做到这一点。一种方法是读取应用程序文件夹以检索文件列表,另一种方法是保留应用程序白名单并使用canOpenUrl
检查每个应用程序的存在。
Is it possible to get installed apps in ios
是否可以修改系统,以便在未经SU许可的情况下读取应用程序文件夹时仅返回系统应用程序目录的列表,而在检查canOpenUrl
时始终返回false。
研究了一段时间后,我发现幕后发生了什么。
真相:
游戏通过越狱检测而不是通过检索安装的应用程序列表来检测“非法”用户。
详细信息:
[我将游戏可执行文件从iPhone拖到IDA,并在功能窗口中搜索了关键字“ jail”。结果显示,存在一种名为+ [PmangPlus deviceJailbroken]]的方法。基本上,该方法检查了几个文件(包括/Applications/Cydia.app、/Applications/RockApp.app、/Applications/Icy.app等),如果存在这些文件,则该方法将返回@“ Y”,否则@“ N”。
然后,我编写了一个调整底物以绕过此检测的方法,它起作用了。这通过钩住方法并返回@“ N”起作用。
希望这会有所帮助。