需要替换系统组件apk壳加固的classloader才可以加固厂商必然饶不过去 两种解决方案1替换系统组件类加载器为apk壳加固我们的DexClassLoaderapk壳加固,同时设置DexClassLoader的parent为系统组件类加载器2打破原有的双亲关系apk壳加固,在系统组件类加载器和BootClassLoader的中间插入我们自己的DexClassLoader即可壳与脱壳之二代壳函数抽取。
防内存窃取防止通过gdbgcore,从内存中截取dex文件,获取代码片段,从而反编译APK防逆向分析防止通过APKToolIDA Pro等反编译工具破解DEX文件,从而获取APK源代码防动态跟踪防止通过ptrace调试进程,跟踪拦截修改正在运行的应用,保护程序运行安全防恶意篡改校验APK完整性,自动终止运行被。
2使用app加固对安卓软件进行加固,可以保护我们的隐私,而且腾讯云的应用加固使用也非常的简单,能够有效的对存储数据进行加密保护拥有防调试恶意代码植入保护反编译和环境监测保护等功能3准备好app应用后,选择“申请加固”,在弹出的窗口中上传自己需要加固的apk应用程序,这里注意下apk应用程序。
加固的过程中需要三个对象1需要加密的Apk源Apk2壳程序Apk负责解密Apk工作3加密工具将源Apk进行加密和壳Dex合并成新的Dex主要步骤我们拿到需要加密的Apk和自己的壳程序Apk,然后用加密算法对源Apk进行加密在将壳Apk进行合并得到新的Dex文件,最后替换壳程序中的dex文件即可,得到新的Apk。
最后,使用dex2jar对脱壳的dex文件进行反编译,结果显示脱壳成功然而,对于未root设备,虽然过程相似,但需要额外设置文件管理权限以访问脱壳文件FDex2的核心代码和相关参考链接提供apk壳加固了进一步的深入学习和实践指导通过这些工具和步骤,即使面对加固的APK,也有可能实现源码的反编译。
具体步骤如下修改android_server调试程序名称,避免被反调试检测在关键函数如openstrtolmmapmemcmp处下断点,动态调试加固apk程序利用strtol函数修改返回值过掉TracePid反调试修改远程调试端口过掉文件procnettcp的本地套接字反调试修改strstr函数返回值,绕过本地连接套接字的检测修改。
发表评论