oracle数据库做的网站,景点与网站合作方案怎么做,中山网站建设文化服务,拍宣传片找什么公司目录 为什么要检测APK是否混淆混淆的优点混淆的缺点APK的混淆的分类检测工具检测人工检测自动化检测为什么要检测APK是否混淆 apk代码混淆就是为了保护代码安全#xff0c;防止被反编译拿到源码做审计找出危险漏洞#xff0c;现在大部分的APK都会做混淆。 下面分析混淆APK后的… 目录 为什么要检测APK是否混淆混淆的优点混淆的缺点APK的混淆的分类检测工具检测人工检测自动化检测 为什么要检测APK是否混淆 apk代码混淆就是为了保护代码安全防止被反编译拿到源码做审计找出危险漏洞现在大部分的APK都会做混淆。 下面分析混淆APK后的优缺点。 混淆的优点 防止被恶意破解逆向分析代码可阅读性降低减少apk体积也是瘦身的方法混淆的缺点 调试不方便可以配置mapping变得方便测试不充分,可能导致部分功能不能使用比如注解相关等APK的混淆的分类 代码混淆资源混淆检测工具 反编译的工具众多编译出的源码效果也不太相同使用自己熟悉的就好 Jadx-gui-0.8.0.exe下载地址https://github.com/skylot/jadxsmali2java下载地址http://www.hensence.com/cn/smali2java/#OverviewAndroid逆向助手2.2 下载地址http://www.funytao.com/?p430dex2jarapktool如果你有有更好的工具推荐 请在评论里分享一下 检测 人工检测 检测代码是否混淆 使用工具打开APK查看反编译后的代码如果类名、方法名大部分都为A、B、C字母那就说明混淆了反之就说明未混淆。代码混淆前 代码混淆后 检测资源是否混淆 资源混淆是可以解决apk瘦身主要就是压缩了资源文件及修改了文件名字及映射关系。资源混淆前 资源混淆后 有开发源码可以看是否加混淆proguard 有如上两个步骤基本上不需要代码审计了不过你有代码的话可以看看 在build.gradle文件中是否配置混淆规则 buildTypes {debug {//加载默认混淆配置文件proguardFiles getDefaultProguardFile(proguard-Android.txt), proguard-rules.pro...}release {// 如果没有提供混淆规则文件则设置默认的混淆规则文件SDK/tools/proguard/proguard-android.txtpseudoLocalesEnabled true...}} 自动化检测 使用程序检测的话应该检测什么特征呢 1.下载apktool工具 2.运行apktool.bat d xxx.apk把apk反编译成smali 3.如果想要进一步查看源码可下载smali2java 4.使用smali文件的文件名进行分析如果存在1个或1个以上的资源类的smali文件就可以证明该apk没有被混淆过。如下图所示 程序遍历 smali文件夹只有存在1个或1个以上R$~就判定为未混淆。 备注是apk的核心代码下的资源文件在混淆后不应该出现上述文件反之则说明该apk没有进行混淆使用方案一也是要进入核心代码转载于:https://www.cnblogs.com/mysticbinary/articles/10446019.html