首页
论坛
课程
招聘
Android的APK文件反编绎
2011-11-4 22:18 18213

Android的APK文件反编绎

2011-11-4 22:18
18213
最近在写代码的时候,接触到一些反编绎的资料,也用了一些工具,现在记录如下。
需要用到的工具:
1.dex2jar  下载地址:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip
2.JD-GUI    下载地址:http://laichao.googlecode.com/files/jdgui.zip
3.apktool    下载地址:http://code.google.com/p/android-apktool/

首先我们需要从APK得到什么?因为Android程序最重要的是两部分,java代码和资源文件。
一、反编译Apk得到Java源代码
1.首先将apk文件,将后缀改为zip。因为APK文件就是rar文件,可以改后缀名。但是这样解压后是得不到xml文件的,会看到是乱码。后面会讲怎么样得到xml文件。解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的;
2.解压下载的dex2jar,将classes.dex复制到dex2jar.bat所在目录。在命令行下定位到dex2jar.bat所在目录,运行
dex2jar.bat classes.dex
生成classes.dex.dex2jar.jar
3.运行JD-GUI,打开上面生成的jar包,即可看到源代码了。

二、反编绎资源文件
1.将下载的两个包解压到同一个文件夹下,应该会有三个文件:aapt.exe,apktool.bat,apktool.jar;
在命令行下定位到apktool.bat文件夹,输入以下命令:
apktool d C:\***.apk  C:\***文件夹
命令行解释:apktool d [要反编译的apk文件 ] [输出文件夹]

[2022夏季班]《安卓高级研修班(网课)》月薪两万班招生中~

收藏
点赞0
打赏
分享
最新回复 (14)
雪    币: 237
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小公媛 活跃值 2011-11-5 07:09
2
0
谢谢楼主的指导,学习了
雪    币: 241
活跃值: 活跃值 (12)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
arsusanh 活跃值 2012-2-9 20:11
3
0
谢谢楼主  好东西。。
雪    币: 64
活跃值: 活跃值 (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
doking 活跃值 2012-2-13 23:17
4
0
谢谢楼主,呵呵,好东东
雪    币: 38
活跃值: 活跃值 (12)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
jbwang 活跃值 1 2012-2-14 00:46
5
0
谢谢,分享。 android刚刚开始学习。
雪    币: 160
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
upxshell 活跃值 2012-3-2 20:24
6
0
3.运行JD-GUI,打开上面生成的jar包,即可看到源代码了。
这个怎么打不开刚生成的jar包呢
雪    币: 130
活跃值: 活跃值 (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zzcc 活跃值 2012-3-3 11:16
7
0
经测试无法搞定。。。
雪    币: 410
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
幻影火 活跃值 2012-3-3 11:21
8
0
他是可以反編譯,不過大多都是用dex的組合語言去修改0.0。
雪    币: 130
活跃值: 活跃值 (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zzcc 活跃值 2012-3-3 15:11
9
0
可能是版本的问题吧,我反编译出来只有2kb。   作者可能是使用最新版编译的
雪    币: 268
活跃值: 活跃值 (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
永夜极光 活跃值 2012-3-17 16:35
10
0
是不是上面这3个都要下载的啊?
雪    币: 268
活跃值: 活跃值 (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
永夜极光 活跃值 2012-3-17 16:41
11
0
看了不懂啊 刚接触安卓编程方面  看不明白到底要怎样弄
雪    币: 872
活跃值: 活跃值 (1507)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
方向感 活跃值 2012-4-13 03:42
12
0
直接下载一个ApkTool_GUI 2.0来用更方便哦
雪    币: 1269
活跃值: 活跃值 (48)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
AsmDebuger 活跃值 1 2012-5-9 10:23
13
0
谢谢,开始学习安卓。
雪    币: 487
活跃值: 活跃值 (26)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
hacklang 活跃值 1 2012-12-2 01:45
14
0
ApkTool_GUI 2.0在哪下载,我在网上搜不到,能给个下载地址不?
雪    币: 1368
活跃值: 活跃值 (236)
能力值: (RANK:270 )
在线值:
发帖
回帖
粉丝
Claud 活跃值 6 2012-12-2 15:19
15
0
游客
登录 | 注册 方可回帖
返回