移动应用保护常见问题
#
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名称混淆目前只保护类名,不保护方法名,调用到其他资源的类名不会进行保护。