风也温柔

计算机科学知识库

java反编译中文乱码-Android中Apk反编译及加密的方法

  中Apk反编译及加密的方法
  本文主要介绍"中Apk反编译及加密的方法" 有关的知识,希望能够解决您遇到有关问题,下面我们一起来看看这篇 "中Apk反编译及加密的方法" 文章。
  一、Apk文件组成
  的应用程序APK文件说到底也是一个压缩文件,那么可以通过解压缩得打里面的文件内容,不过很显然,当你去解压完去查看的时候,发现里面的很多东西和你想象中的不太一样。资源文件等xml文件基本打不开,即使打开了也都是乱码(而这正是进行加密过),有些应用会将图片资源等的也加密(如qq音乐)。
  Android中Apk反编译及加密的方法
  Android中Apk反编译及加密的方法
  而既然直接解压无法看到正常的应用程序,那么就需要借助反编译软件来实现APK的反编译。
  二、反编译必备工具及使用
  工程文件主要有资源文件和源代码组成。而为了查看资源文件需要借助一个工具,本文使用的是工具进行反编译,经过编译后能够正确查看XML文件和其他的非XML的资源文件,这对于汉化而言有着巨大的意义。而为了查看源码java反编译中文乱码-Android中Apk反编译及加密的方法,则需要借助于和jd-gui这两个工具,其中工具负责将dex文件转化为jar文件,而jd-gui则用于查看jar文件。
  1)
  一次失败的经历-----使用时报错
  Android中Apk反编译及加密的方法
  原因:的版本过低,无法解析当前版本的apk
  修正:
  更新最新的版本后正常,本文使用的最新版本为2.2.2.
  然后就可以发现资源文件等xml文件可以正常打开。
  Android中Apk反编译及加密的方法
  Android中Apk反编译及加密的方法
  2)
  接下来就需要对 code进行反编译。
  需要借助工具和jd-gui。其中,顾名思义就是将dex文件反编译为jar文件。而jd-gui则用于直接查看jar包中的源代码。
  具体步骤就是将apk文件解压,得到其中的.dex,它就是java文件经过编译而后通过dx工具打包而成的,而后解压下载的,将.dex复制到根目录下,在命令行下定位到该目录下,运行d2j-.bat .dex .dex
  可以发现得到一个-.jar文件。这个文件就是我们需要得到的 code。
  Android中Apk反编译及加密的方法
  3)jd-gui
  接下来需要在jd-gui中浏览该文件,这个就是最终的结果
  Android中Apk反编译及加密的方法
  当然,你也发现了这些源码都是被混淆了的,即用无意义的字母来重命名类、成员变量、方法和属性以及删除没用的注释。
  三、Apk的加密过程
  既然都提到了这里了,我们也顺便了解一下 Apk的加密过程。
  由于Java字节码的特殊性,使得它非常容易被反编译,(正如刚才我们进行的那些操作,借助一下工具就反编译了一个QQ音乐的Apk),因此,显然我们会有一些保护措施,对编译好的Class文件进行一些保护。通常我们都会使用来对Apk进行混淆处理,用无意义的字母俩重命名类、成员变量、方法和属性。(当然它能删除一些无用的类、成员变量、方法和属性以及删除没用的注释,最大程度优化字节码文件)
  而现在我们一般都采用 作为开发平台,在该平台下可以很方便的使用java反编译中文乱码,在 文件夹下,打开build.(:app)文件,显示如下:
  Android中Apk反编译及加密的方法
  这里的即为控制是否启动的开关,设置为true则开启进行混淆和优化。
  而分为两部分,前半部分是一个系统默认的混淆文件,位于SDK目录下的tools//-.txt,一般情况下使用这个默认的文件即可,另一部分是项目中自定义的混淆文件,可以在项目中的App文件夹中找到这个文件,在这个文件夹中可以定义引入的第三方依赖包的混淆规则。配置好后,只要使用AS导出Apk,即可生成混淆后的字节码文件。
  关于 "中Apk反编译及加密的方法" 就介绍到这。希望大家多多支持编程宝库。
  下一节:Vue框架中怎么调用模拟数据编程技术 和 程序设计
  本文主要介绍"Vue框架中怎么调用模拟数据" 有关的知识java反编译中文乱码,希望能够解决您遇到有关问题,下面我们一起来看看这篇 "Vue框架中怎么调用模拟数据" 文章。...

  java中文乱码解决总结_java反编译中文乱码_maven 编译后中文乱码

  文章来源:http://www.codebaoku.com/tech/tech-yisu-692383.html