我尝试在 Android 模拟器上打开万豪应用程序,但它打不开。 我认为它正在检测根或检测模拟器。 我还尝试使用 frida 绕过 root 和模拟器检测,但仍然不起作用。 我还尝试使用 frida 使用反对,但反对也不起作用,因为应用程序甚至无法打开反对工作。 我正在使用 Android 12 的 Nox Player。以下是安装此应用程序的 Play 商店链接:-
https://play.google.com/store/apps/details?id=com.marriott.mrt
如果有人有解决方案吗?
在 APKiD (https://github.com/rednaga/APKiD) 上检查目标样本 ( com.marriott.mrt ) 后,我们得到:-
~ $ apkid Marriott.apks
[+] APKiD 2.1.5 :: from RedNaga :: rednaga.io
[*] Marriott.apks!base.apk!classes.dex
|-> anti_vm : possible Build.SERIAL check
|-> compiler : unknown (please file detection issue!)
|-> yara_issue : yara issue - dex file recognized by apkid but not yara module
.....
[*] Marriott.apks!base.apk!classes3.dex
|-> compiler : unknown (please file detection issue!)
|-> protector : Appdome (dex)
|-> yara_issue : yara issue - dex file recognized by apkid but not yara module
......
[*] Marriott.apks!base.apk!classes8.dex
|-> anti_vm : network operator name check
|-> compiler : unknown (please file detection issue!)
|-> yara_issue : yara issue - dex file recognized by apkid but not yara module
[*] Marriott.apks!base.apk!classes9.dex
|-> compiler : unknown (please file detection issue!)
|-> protector : Appdome (dex)
|-> yara_issue : yara issue - dex file recognized by apkid but not yara module
[*] Marriott.apks!split_config.arm64_v8a.apk!lib/arm64-v8a/libac36.so
|-> obfuscator : DexGuard 9.x
~ $
我们发现:- 该应用程序受 AppDome Security 保护 (https://www.appdome.com/)
并且,他们提供了阻止模拟器、root、frida、篡改等的解决方案。
因此,您尝试通过 frida 绕过模拟器和根检测根本行不通。因为他们也检测到弗里达。
据我所知,反对者用 frida-gadgets 修补了该应用程序。
不幸的是,即使您之后在没有root的真实设备上使用该应用程序,该应用程序仍然无法运行。这是因为,一旦异议使用 frida 小工具修补了应用程序,签名完整性就会被破坏。
问。你来这里的动机是什么?
A.我认为,您的动机是以下一项或多项:-
要在已root的设备上运行它,我只是建议您使用更好的root解决方案。上次我听说 Kitsune Mask(Magisk's Fork)、Magisk Alpha、KernelSU 是一些可以很好地隐藏 root 检查的 root 解决方案,包括 appdome。但是,您需要进行适当的设置。
在模拟器中运行它会非常困难。因为,您必须绕过模拟器检测。
要么,您的模拟器足够好,应用程序将其或多或少视为真实设备。 我不认为《Nox Player》属于这一类。甚至,很难找到足够好的模拟器来绕过这些检查。而且,即使确实存在,也不能保证它们甚至可以通过 Appdome 的检查。
上次我听说,模拟器在 x86/x86_64 arch 上运行,也许在翻译模式下运行在 arm/arm64 上,但它仍然不稳定。而且,从我在 ApkPure 上看到的情况来看,这个应用程序仅附带 arm/arm64 库,没有模拟器的编译版本。 因此,该应用程序在模拟器上可能不会那么稳定和可用,因为它不受支持。
建议:在真实设备上使用它是最好的选择。因为,模拟器仍然不够先进,无法支持几乎所有应用程序。
绕过 frida 检测本身就是一场猫捉老鼠的游戏。我不是这方面的专家,所以无法回答这部分。
篡改应用程序代码。这就是很多案件的动机。
篡改的动机可能是为了流量拦截、破解、绕过模拟器检查等而解除 SSL 锁定。
我们必须以某种方式篡改应用程序代码在执行之前,这就是重点。 Frida 和其他挂钩方法的工作原理相同。
这些保护分别为每种篡改方法提供保护,例如“Frida检测”、“Xposed检测”、“签名完整性检测”、“Root检测”等
这是因为,攻击应用程序的方法有很多。
并且,由于成本限制,应用程序开发人员倾向于仅启用“frida 检测”、“签名检测”、“root 检测”、“ssl 取消固定检测”,并且由于成本限制,可能决定不使用“xposed 检测”。
现在,你有办法真正篡改该应用程序,但只能使用 xposed 框架。
因此,您现在可以编写用于篡改应用程序的模块。 您可以以某种方式进行篡改,它将帮助您找出代码中存在特定检查的位置(例如模拟器检查),以便您现在也可以篡改它来绕过检查。但是,它不会像使用 frida 时那样无缝,因为 xpose 不是为此设计的。
据我所知,appdome 几乎没有检查过什么,因此篡改 appdome 受保护应用程序的方法很少。我不知道它们是否仍然有效,或者 appdome 是否已经修补了它们。
问。最短且最好的解决方案是什么?
A. 好吧,检查应用程序开发人员是否为该应用程序启用了 xpose 或其他检测。我包括了“其他”,因为 Xpose 并不是唯一的篡改方式。 如果您没有时间、精力或兴趣来调查此问题,我建议您聘请一位技术更熟练的安全研究人员。
我希望您知道,搞乱公司的应用程序本质上会违反他们的 TOS,并且您将陷入 DMCA。这是一个非法领域,我希望您出于教育目的而练习。