欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

android编程开发 反编译过程解析

程序员文章站 2022-03-23 20:34:14
1)如何解决自己的劳动成果不被别人窃取那? 有的时候我们写的java程序很容易被人反编译破解,只要获取apk安装包,就能通过反编译工具将你写的app代码全部窃取走,真是令人气愤又...

1)如何解决自己的劳动成果不被别人窃取那?

有的时候我们写的java程序很容易被人反编译破解,只要获取apk安装包,就能通过反编译工具将你写的app代码全部窃取走,真是令人气愤又头疼。下面我将反编译的过程为大家过一下,对此为你们敲响警钟:

2)android 应用开发完成之后,最终都会将应用打包成一个apk文件,正常情况下,

android打包完成一个apk后,就无法再看到应用时使用的资源文件以及代码,但是通过网上提供的

一些工具,还是可以将apk进行反编译的,apk反编译之后,可以看到这个应用使用的资源文件,

我们可以通过这种技术手段将别人打好包的apk进行反编译,

 

3)需要使用的工具:

apktool :获取资源文件

作用: 资源文件获取,可以提取出图片文件和布局文件进行使用查看

dex2jar :获取源码文件

作用:将apk反编译成java源码(classes.dex 转化为har文件)

jd-gui : 源码查看

作用: 查看apk中classes.dex转化成的jar文件

 

4)apk反编译的过程:

1)使用apktool反编译apk的xml文件等:

进入到反编译工具所在目录进入cmd命令行:接下来运行apktool_2.0.1这个jar文件将apk进行反编译;

java -jar apktool_2.0.1.jar

 

2)使用如下命令行反编译你的apk

java -jar apktool_2.0.1.jar d -f 123.apk -o MMTS

编译成功后生成的文件会在当前文件,

 

3)使用dex2jar反编译apk得到java源码:

将要反编译的apk后缀修改为.rar或者.zip, 并解压得到classes.dex文件

在命令行下定位到dex2jar.bat所在目录,执行:

d2j-dex2jar classes.dex

然后生成classes-dex2jar.jar文件之后,使用jd-jui工具将class文件反编译成java源代码