Skip to main content

移动应用保护常见问题

Android应用#

1.Android应用勾选反调试后,为啥还可以使用frida-trace追踪到关键函数?

答:frida 不是通过调试的方式 hook 的,所以无法防止反调试。

2.为什么勾选签名校验功能后还可以直接读取系统类?

答:签名校验不是通过直接读取系统类的,是自己检测apk包中的签名文件,可以勾选文件校验,这个可以单独校验包中每个文件。

3.为什么勾选了内存校验后,使用ce进行修改文件,程序还能正常运行?

答:内存校验的校验过程,在程序启动过程,运行起来就不管了;CE是运行起来再改,这样就不再校验了,除非用SDK标签自己定时校验(virbox.h里的接口VBProtectVerifyImage)

4.对android apk里的so库加壳,是否能防止动态注入和C层代码动态调试?

答:加壳工具无法防止so库动态注入,动态注入这个功能,是涉及到对java层的一个保护,这不是so库的功能;

可以防止C层代码动态调试,加壳会对so库代码逻辑进行保护,加壳时勾选反调试功能,可以防止调试工具对程序的调试。

5.Android应用的资源加密暂不支持的两种方式?

1)使用了系统 自带的media player服务播放的音频2)自己解析apk读取的资源

6.加壳工具解析Android 应用后资源列表的资源文件展示情况:

普通apk:资源加密能识别assets和res/layout目录下的资源Unity apk:资源加密能识别到assets目录下的资源普通aab和Unity aab:资源加密能识别到base/assets目录下的资源

iOS应用#

1.OC名称混淆为什么有些方法名没有保护上呢?

答:oc名称混淆目前只保护类名,不保护方法名,调用到其他资源的类名不会进行保护。