实际上我试图提取一个名为cloudfilz.apk的.apk文件的代码,并想在其源代码中操作,所以我按照下面给出的步骤: -
创建一个新的文件夹并放入.apk文件(你要解码)现在重命名这个扩展名为.zip的.apk文件(例如:从filename.apk重命名为filename.apk.zip)并保存它..现在你得到了类.dex文件等...在这个阶段你可以看到drawable而不是xml和java文件......所以继续......
第2步:
现在解压缩此zip文件在同一个文件夹中(在这个例子或case NEW FOLDER).现在从这个链接http://code.google.com/p/dex2jar/下载dex2jar 并将其解压缩到同一个文件夹(在本例中为NEW FOLDER).....现在打开命令提示符并到达该文件夹(在这个案例NEW FOLDER)....在达到写"dex2jar classes.dex"并按下回车.....现在你得到同一文件夹中的classes.dex.dex2jar文件......
=>问题: - 我成功实现了第1步,但是在第2步,当我执行dex2jar classes.dex时java.lang.UnsupportedClassVersionError,我在命令提示符上出现错误,我知道这是由于我安装的jdk版本和classes.dex jdk版本号之间的不兼容所以卡在这里,dnt出路......
Kir*_*ran 92
注意:除非另有说明,否则以下所有说明均适用(也适用于所有操作系统).
你会需要:
通过向文件名.apk添加.zip扩展名或更改.apk为更改文件的文件扩展名.zip.
例如,com.example.apk变成com.example.zip,或com.example.apk.zip.请注意,在Windows和macOS上,它可能会提示您是否确定要更改文件扩展名.单击OK或Add如果您使用的是macOS:
解压缩特定文件夹中的重命名的APK文件.例如,让该文件夹成为demofolder.
如果它不起作用,请尝试在另一个应用程序(如WinZip或7-Zip)中打开该文件.
对于macOS,您可以尝试unzip在终端(可用/Applications/Terminal.app)中运行,它需要一个或多个参数:要解压缩的文件+可选参数.有关man unzip文档和参数,请参阅.
下载(查看GitHub上的所有版本)并将该zip文件解压缩到上一点所述的同一文件夹中.dex2jar
打开命令提示符(或终端)并将当前目录更改为上一点中创建的文件夹,然后键入命令d2j-dex2jar.bat classes.dex并按Enter键.这将classes-dex2jar.jar在同一文件夹中生成文件.
d2j-dex2jar.bat为d2j-dex2jar.sh.换句话说,d2j-jar2dex.sh classes.dex在终端中运行并按Enter键.下载Java Decompiler (查看Github上的所有版本)并解压缩并启动(也就是双击)可执行文件/应用程序.
在JD-GUI窗口中,将生成的classes-dex2jar.jar文件拖放到其中,或者转到File > Open File...并浏览jar.
接下来,在菜单中,转到File > Save All Sources(Windows:Ctrl+ Alt+ S,macOS:⌘+ ⌥+ S).这应该打开一个对话框,询问你在哪里保存一个名为`classes-dex2jar.jar.src.zip的zip文件",包含所有包和java文件.(你可以重命名要保存的zip文件)
解压缩该zip文件(classes-dex2jar.jar.src.zip),您应该获取该应用程序的所有java文件.
xml从APK 获取文件apktool网站以获取安装说明等视窗:
myxmlfolder).myxmlfolder文件夹,并将apktool jar文件重命名为apktool.jar..apk文件放在同一个文件夹中(即myxmlfolder).打开命令提示符(或终端)并将当前目录更改apktool为存储的文件夹(在本例中为myxmlfolder).接下来,键入命令apktool if framework-res.apk.
我们在这里做的是我们正在安装一个框架.有关详细信息,请参阅文档.
在命令提示符下,键入命令apktool d filename.apk(其中filename是apk文件的名称).这应该解码文件.有关详细信息,请参阅文档.
这应该导致filename.out输出文件夹,其中filename是没有.apk文件扩展名的apk文件的原始名称.在这个文件夹中是所有XML文件,如布局,drawables等.
来源:如何从APK文件获取源代码 - Comptech Blogspot
Gau*_*wla 29
来自市场或未签名的任何.apk文件
如果你从市场上下载apk,那么从市场上签署安装Astro文件管理器.打开Astro>工具>应用程序管理器/备份,然后选择要备份到SD卡的应用程序.将手机挂载为USB驱动器并访问"backupsapps"文件夹以找到目标应用的apk(让我们称之为app.apk).将其复制到本地驱动器就像未签名的.apk一样.
从此链接下载Dex2Jar zip:SourceForge
解压缩下载的zip文件.
打开命令提示符并在到达dex2jar exe所在的目录时编写以下命令,并将apk复制到同一目录中.
dex2jar targetapp.apk file(终端上的./dex2jar app.apk)
http://jd.benow.ca/从此链接下载反编译器.
用jd-gui File> Save All Sources打开'targetapp.apk.dex2jar.jar',将jar文件中的类文件保存到java文件中.
| 归档时间: |
|
| 查看次数: |
214238 次 |
| 最近记录: |