详解Android的反编译和代码混淆-创新互联

前言

创新互联建站于2013年成立,是专业互联网技术服务公司,拥有项目成都网站设计、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元赫山做网站,已为上家服务,为赫山各地企业和个人服务,联系电话:13518219792

包括以下内容

  1. 要反编译apk需要下面3个工具
  2. 反编译资源文件
  3. 反编译类文件
  4. 代码混淆

要反编译apk需要下面3个工具

1、apktool(资源文件获取)
作用:资源文件获取,可以提取图片文件和布局文件进行使用查看


2、dex2jar(源文件获取)
作用:将APK反编译成java源码(classes.dex转化成jar文件)


3、jd-gui
作用:查看APK中classes.dex转化成的jar文件,即源码文件


下面进行反编译资源文件和类文件:

反编译资源文件

资源文件:包括图片资源、布局资源、动画、样式等其他资源

 


这样资源文件都可以看得到了。

反编译类文件

方式一:反编译得到Java类


1.下载并解压dex2jar-2.0,得到dex2jar-2.0文件夹,里面包含dex2jar.bat及其文件


2.将apk文件改为xx.zip文件,并解压得到classes.dex文件,并将其复制到dex2jar-2.0文件夹中


3

 


生成一个classes-dex2jar.jar文件,使用jd-gui.exe打开生成的classes-dex2jar.jar文件

方式二:直接使用smali2java工具


什么是smali?smali是将Android字节码用可阅读的字符串形式表现出来的一种语言,可以称之为Android字节码的反汇编语言。

代码混淆

只能混淆java类,不能混淆资源文件。系统定义的组件不能混淆。必须是导出的apk。


如何实现代码混淆


混淆类文件

修改module:app下的build.gradle


  buildTypes {
    release {
      //是否需要混淆,默认false代表不混淆,true代表混淆
      minifyEnabled true
      //混淆需要用到的一个工具:proguard,对应的一个文件是:proguard-android.txt(这个文件在android-sdk \tools\proguard目录下)
      //proguard是一个压缩、优化和混淆Java字节码文件的免费工具
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }

分享题目:详解Android的反编译和代码混淆-创新互联
本文网址:http://bzwzjz.com/article/cdcjcs.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 响应式网站设计方案 营销型网站建设 成都网站建设 成都网站建设 成都企业网站制作 成都网站设计 成都网站建设 成都网站建设 成都网站设计 定制网站建设多少钱 手机网站建设 定制级高端网站建设 成都网站制作 重庆网站建设 成都网站制作 重庆企业网站建设 成都模版网站建设 H5网站制作 成都网站建设公司 企业网站设计 成都网站设计 成都网站建设公司