【问题标题】:iOS - How to avert listing of the installed apps?iOS - 如何避免列出已安装的应用程序?
【发布时间】:2020-02-01 03:21:29
【问题描述】:

我有一个安装了 Undecimus 的 iOS 设备。当我尝试启动非越狱专用游戏 Tapsonic TOP 时,它会以某种方式读取我的应用程序列表并显示“检测到非法程序”并自行退出。我在有越狱和没有越狱的情况下都试过了,我确实做了一些调整来隐藏越狱检测,所以这不太可能是越狱问题。

我在 StackOverflow 上进行了搜索,以了解这是如何实现的。一种方法是读取应用程序文件夹以检索文件列表,另一种方法是保留应用程序白名单并使用canOpenUrl检查每个应用程序是否存在。

Is it possible to get installed apps in ios

是否可以修改系统,使其在没有SU权限的情况下读取应用程序文件夹时只返回系统应用程序目录的列表,而检查canOpenUrl时总是返回false?

【问题讨论】:

  • 你怎么知道它通过canOpenUrl检测到jb?也许将/Applications/Cydia.app 重命名为其他就足够了。无论如何查找DYLD_INSERT_LIBRARIES

标签: ios objective-c swift jailbreak


【解决方案1】:

经过一段时间的研究,我已经弄清楚了幕后发生的事情。

真相:

游戏通过越狱检测来检测“非法”用户,而不是通过检索已安装应用的列表。

详情:

我将游戏的可执行文件从iPhone拉到IDA,在功能窗口中搜索关键字“jail”,结果显示有一个方法叫+[PmangPlus deviceJailbroken]。该方法基本上检查了几个文件(包括/Applications/Cydia.app、/Applications/RockApp.app、/Applications/Icy.app等),如果这些文件中的任何一个存在,则该方法将返回@“Y”,否则@"N"。

然后我写了一个基板调整来绕过这个检测,它起作用了。这通过钩子方法工作并返回@“N”。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-21
    • 2011-01-16
    • 1970-01-01
    • 2023-01-07
    • 1970-01-01
    • 2014-03-22
    相关资源
    最近更新 更多