当前位置:首页 » 编程软件 » 手机怎么弄反编译

手机怎么弄反编译

发布时间: 2024-12-28 14:53:42

‘壹’ 手机原生apk文件反编译源码文件是哪个

相信很多开发者都知道反编译APK,正常情况下,如果我们想要看看xml,看看java源代码,是看不了的。用压缩工具解压apk得到的文件也都是二进制文件,打开后全是乱码。
    开发者能够用的也仅仅是图片资源,这往往也满足不了开发者的需求。
    下面我就给大家详细讲解一下Android-apk的反编译步骤:
    注意:反编译的前提是:开发者没有使用proguard(java代码混淆的工具)。
   1.下载反编译工具
    需要下载四个工具:dex2jar、JD-GUI、apktool、apktool-install-windows-r05-ibot
    dex2jar:将apk中的classes.dex转化成Jar文件。
    JD-GUI:反编译工具,可以直接查看Jar包的源代码。
    apktool:反编译工具,通过反编译APK中XML文件,直接可以查看。
    apktool-install-windows-r05-ibot:辅助windows批处理工具。
    下载地址:
    dex2jar:http://code.google.com/p/dex2jar/downloads/list
    JD-GUI:http://code.google.com/p/innlab/downloads/lis
    apktool:http://code.google.com/p/android-apktool/downloads/list
    工具截图:

    2.解压缩APK包
    apk文件也是一种常见的zip,常用的压缩软件就可轻松地解压apk文件。用压缩软件将apk文件中的文件解压到一个文件夹中,得到APK中的资源包括XML文件和classes.dex文件,classes.dex就是java文件编译再通过dx工具打包而成的。
    解压截图:

    3.反编译dex文件
    解压apk文件后,你会发现res目录的图片没有加密,但java源码编译成了一个classes.dex文件,无法用普通的反编译class文件的方法来处理,dex2jar可以将dex文件转换成普通的jar包。
    解压下载的dex2jar,把解压后的文件夹放到系统盘跟目录中并把这个目录加到系统path变量中,就可以直接用:dex2jar.bat或dex2jar.sh转换dex文件了。
    DOS行命令如下:dex2jar.bat  xx\classes.dex(xx是classes.dex文件所在的路径)。
    将在同目录得到普通jar包:classes_dex2jar.jar,就可以用处理普通jar包的方法来反编译这个jar包得到原文件。
    编译截图:

   生成jar文件的截图如下:

    4.反编译jar包
    得到jar包后,下载自已喜欢的反编译工具,推荐使用JD-GUI,有比较简单的图形界面,可以反编译单个class文件,也可以反编译jar包,比较方便。
    打开压缩文件JD-GUI,运行jd-gui.exe,打开上面生成的jar包,即可看到源代码了。
    截图如下:

    5.反编译xml文件
    打开解压的res\layout目录,有很多xml文件,如果你想看下作者是如何设计界面的,你会很失望,因为你看到的是一大堆乱码!这个时候我们需要用到的是apktool。
    具体操作方法:将下载的apktool和apktool-install-windows-r05-ibot两个包解压到同一个文件夹下,这个文件夹有三个文件:aapt.exe,apktool.bat,apktool.jar。把这个文件夹也放到系统盘的根目录中并把这个目录加到path变量中。以HelloWord.apk为例:
    在DOS命令行中输入:apktool d xx\HelloWord.apk HelloWord得到HelloWord文件夹,此文件夹中的xml文件就是编译好的可以正常查看的文件。
    截图如下:

   生成的文件:

 这样就得到了可以得到编译的源码和XML资源。
 注意:文件的路径中最好不要出现中文!

‘贰’ 如何将手机apk 安装包反编译和重新打包签名

android应用安装到手机的是一个apk文件。apk是可以用工具进行反编译并重新打包的。本文将介绍下如何用apktool对apk进行反编译并重新打包。
工具/原料
apktool
auto sign
方法/步骤
首先我们新建一个android项目,里面只有一个MainActivity,而且主界面只会显示一个字符串:你好。

下面,我们切换到这个项目生成的apk文件所在的目录,可以看到有一个hellodemo.apk。

在命令行输入:apktool d -r hellodemo.apk。可以看到在当前目录下生成了一个hellodemo文件夹。

进入到hellodemo\smali\com\example\hello,打开MainActivity.smali。找到:
const-string v1, "\u4f60\u597d",
修改为:
const-string v1, "hello",

然后在命令行输入:apktool b hellodemo hellodemo1.apk。这回重新打包成hellodemo1.apk。

然后给新生成的apk进行签名。把这个apk拷贝到autosign的目录下面,然后切换过去,在命令行输入:java -jar signapk.jar testkey.x509.pem testkey.pk8 hellodemo1.apk hellodemo.apk。
步骤阅读
把生成的hellodemo.apk安装到手机,可以看到主界面上已经显示的是hello,而不再是你好。说明反编译重新打包成功!

‘叁’ 手机怎么将字节码反编译为源码

1、JD-GUI:一款免费的Java反编译工具,可以将.class文件反编译为Java源代码文件,能在手机上使用。
2、jadx:一款开源的AndroidAPK反编译工具,可以将APK包中的.dex文件反编译成Java源代码文件,能在手机上使用。

热点内容
c语言中的case 发布:2024-12-29 06:23:32 浏览:397
我的世界服务器申请专属ip 发布:2024-12-29 06:21:14 浏览:920
扫雷c语言代码 发布:2024-12-29 06:10:51 浏览:139
python判断对象属性 发布:2024-12-29 06:10:09 浏览:413
备份隐形云加密云盘 发布:2024-12-29 06:10:06 浏览:898
精神病院药房需要配置些什么药 发布:2024-12-29 05:48:12 浏览:365
和平精英安卓戴耳机枪声大怎么办 发布:2024-12-29 05:46:01 浏览:500
javachar数组 发布:2024-12-29 05:43:46 浏览:615
香港服务器如何备案 发布:2024-12-29 05:43:41 浏览:711
参数服务器如何更新参数分块 发布:2024-12-29 05:42:19 浏览:323