本篇文章给大家谈谈反编译工具,以及apk反编译工具对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
工具/原料
eclipse、ADT、android的SDK
反编译类文件用dex2jar、jdgui
1.
打开apk2j *** a目录下的dex2jar-0.0.9.9文件夹,内含apk反编译成j *** a源码工具dex2jar,以及源码查看工具jdgui。
apk反编译工具dex2jar,是将apk中的classes.dex转化成jar文件源码。查看工具jdgui,是一个反编译工具,可以直接查看反编译后的jar包源代码
2.首先将需要反编译的apk文件后缀改为zip并解压,得到其中的classes.dex,它就是j *** a文件编译再通过dx工具打包而成的,将classes.dex复制到dex2jar.bat所在目录dex2jar-0.0.9.9文件夹。在命令行下 *** 到dex2jar.bat所在目录,运行
dex2jar.bat classes.dex
目录文件夹就会生成
classes_dex2jar.jar
3.然后,进入jdgui文件夹双击jd-gui.exe,打开上面生成的jar包classes_dex2jar.jar,即可看到源代码了。
简单来说,就是把一个已有的程序转化为编程的命令行。至于使用反编译的原因么……有的是为了研究一个程序以达到吸取别人的编程思路和经验。当然也有的是为了盗版。或者是为了窃取别人的软件。
反编译apk工具使用最广泛的就是apktool,这里先说一下整个流程用到的工具有:
1.apktool,下载后拿到apktool.bat和apktool.jar,然后把这两个工具放到C:\Windows底下。这个工具的作用主要是得到apk的资源文件和配置文件
2.dex2jar 下载这个工具解压后放到任意盘都可以,后面主要用这个根据apk的classes.dev文件生成供jd-gui工具解析的jar。
3.jd-gui上一步提到其作用,和2一样,也是下载后放到任意盘即可,到时候只要运行jd-gui.exe打开上一步生成的jar即可查看源码,下面对这个工具不再赘述
下面详细说一下前面两个工具类的详细用法:
先说apktool的用法:
1.下载后拿到apktool.bat和apktool.jar,然后把这两个工具放到C:\Windows底下
2.cmd打开后默认是你的计算机,默认的不用改,直接输入apktool,如果出现如下图的效果,即表示准备已就绪
接下来,apktool d f:\ *** -debug.apk f:\ *** 像这样输入,这里的f:\ *** -debug.apk是你的将要被反编译的apk的绝对路径,后面的f:\ *** 是apk反编译后资源文件将要放入的文件夹,不需要事先新建好,在这里写好就行了,输入完回车,如果成功的话,即可在文件夹中看到资源文件,这里apktool的流程算完了。
接下来说一下第二个工具,dex2jar的使用流程:
1.把你将要反编译的apk的扩展名改成压缩包的扩展名(rar\zip等),然后对其解压,找到classes.dev文件,将之复制后贴到dex2jar底下,效果如如下:
接下来又要写命令了,同样cmd,然后转换到你的dex2jar目录,然后输入dex2jar.bat classes.dev,然后回车即可在dex2jar.目录中看到一个classes_dex2jar.jar。好了,完了,贴图
得到classes_dex2jar.jar了,前面说了jd-gui的作用了,直接打开这个就行了,得到的就是源代码了
上图
J *** a Decompiler项目”旨在开发工具,以便反编译和分析J *** a 5“字节代码”及更高版本。JD-Core是从一个或多个“.class”文件重建J *** a源代码的库。JD-Core可用于恢复丢失的源代码并探索J *** a运行时库的源。支持J *** a 5的新功能,例如注释,泛型或类型“枚举”。JD-GUI和JD-Eclipse包括JD-Core库。JD-GUI是一个独立的图形实用程序,显示“.class”文件的J *** a源代码。您可以使用JD-GUI浏览重建的源代码,以便立即访问方法和字段。JD-Eclipse是Eclipse平台的插件。它允许您在调试过程中显示所有J *** a源代码,即使您没有全部J *** a源代码。JD-IntelliJ是一个用于...的IntilliJ IDE的插件。JD-Core,JD-GUI和JD-Eclipse是根据GPLv3许可证发布的开源项目。
反编译工具jad简单用法
以下假设jad.exe在c:\j *** a目录下
一、基本用法
Usage:jad [option(s)]
直接输入类文件名,且支持通配符,如下所示。
c:\j *** a\jad example1.class
c:\j *** a\jad *.class
结果是将example1.class反编译为example1.jad。将example1.jad改为example1.j *** a即得源文件。
二、Option -o
不提示,覆盖源文件
三、Option -s
c:\j *** a\jad -sj *** a example1.class
反编译结果以.j *** a为扩展名。
四、Option -p
将反编译结果输出到屏幕
c:\j *** a\jad -p example1.class
将反编译结果重定向到文件
c:\j *** a\jad -p example1.classexample1.j *** a
五、Option -d
指定反编译的输出文件目录
c:\j *** a\jad -o -dtest -sj *** a *.class
下载安装Reflector,安装好后,如下图所示。这个也有免安装版的。
运行软件,会出现如下界面,如下图:
选择file中的open Assembly,这个表示打开选择你需要反编译的程序,如下图红色框标示:
选择你需要反编译的exe程序,如下图所示,选择好后点击,确定。
选择好后,在左侧会出现选择的文件,如下图红色框标示。
邮件exe程序,选择export source code,这个过程表示开始反编译了。如下图所示:
选择存储源码的路径,如下图所示:
点击start,即得到反编译源码,如下图所示:
反编译工具的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于apk反编译工具、反编译工具的信息别忘了在本站进行查找喔。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
扫码二维码
获取最新动态