apk反编译步骤

上传人:xy****7 文档编号:45159314 上传时间:2018-06-15 格式:DOC 页数:11 大小:545.50KB
返回 下载 相关 举报
apk反编译步骤_第1页
第1页 / 共11页
apk反编译步骤_第2页
第2页 / 共11页
apk反编译步骤_第3页
第3页 / 共11页
apk反编译步骤_第4页
第4页 / 共11页
apk反编译步骤_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《apk反编译步骤》由会员分享,可在线阅读,更多相关《apk反编译步骤(11页珍藏版)》请在金锄头文库上搜索。

1、apk 反编译步骤 2011-02-24 21:17:25 标签:apk 反编译 休闲 Android 职场 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者 信息和本声明。否则将追究法律责任。 http:/ 说 Google Android 平台选择了 Java Dalvik VM 的方式使其程序很容易破解和 被修改,首先 APK 文件其实就是一个 MIME 为 ZIP 的压缩包,我们修改 ZIP 后缀 名方式,然后解压缩可以看到内部的文件结构,类似 Sun JavaMe 的 Jar 压缩格 式一样,不过不同的是 Android 上的二进制代码被编译成为 Dex 的字节

2、码,所 有的 Java 文件最终会编译进该文件中去,作为托管代码既然虚拟机可以识别, 那么我们就可以很轻松的反编译。所有的类调用、涉及到的方法都在里面体现 到,至于逻辑的执行可以通过实时调试的方法来查看,当然这需要借助一些我 们自己编写的跟踪程序。Google 最然在 Android Market 上设置了权限保护 app-private 文件夹的安全,但是最终我们使用修改定值的系统仍然可以获取 到需要的文件。当然了,我们反编译的目的是为了学习。1. Apk 文件:自己准备 apk 文件。2. 将 xxx.apk 扩展名修改为 xxx.rar 或者 xxx.zip,用 WinRar 解压缩,你

3、可 以看到内部文件的结构,类似下图所示:3. 直接打开 AndroidManifest.xml 会发现是乱码,这里面是二进制字符,需要 用 AXMLPrinter2.jar(http:/ ),下载 AXMLPrinter2.jar 文件,为了方便,这里我把它放到了 Android SDK 文件夹下面的 tools 文件夹中)4. 逆向 xml 文件:把相应的 AndroidManifest.xml 放到 AXMLPrinter2.jar 同 一目录,进入命令行模式,输入以下命令(注意空格):java -jar AXMLPrinter2.jar AndroidManifest.xml -Andr

4、oidManifest.txt5. 然后,打开 AndroidManifest.txt,你就可以看到相应内容了,但是对资源 的引用:android:label=“7F080000“ android:icon=“7F02002A“(这个是编 译后对应资源 R.java 中的值),对一些属性值的设置: android:configChanges=“0x000000A0“,还有: android:textColor=“?android:01010036“ android:textColor=“?android:01010212“,这个还需要查 SDK,看到有 android 字样,就知道是系统定义的

5、常量,在 android sdk Reference android.R.xxx 页面搜索 01010036,找到“?android:01010036“ 对应 “?android:attr/textColorSecondary“,“?android:01010212“对应 “?android:attr/textColorTertiary“6. 在解压缩后的文件夹中,你会发现还有一个 classes.dex 文件,这是编译 后最终生成的 dalvik 字节码,还需要另外一个工具 dex2jar(下载地址: http:/ Androids .dex format 转换成 Javas .class

6、format,下载后解压后有一个 dex2jar.bat 文 件,把你的 classes.dex 文件拷贝到该目录中,命令行切换到该目录,运行命 令 dex2jar.bat classes.dex,将会在目录中生成 classes.dex.dex2jar.jar 文件。7. 最后,还需要用工具去查看反编译的类,下载 JD-GUI 工具(绿色无须安装, 下载地址:http:/java.decompiler.free.fr/?q=jdgui),将 jar 文件拷贝到 GUI 文件夹下,运行 JD-GUI,打开这个 Jar 文件,就能看到相应的类了,同样 里面有许多很长的数字。然而,我们发现上述方法

7、对资源文件(drawable、xml 等),反编译的不够完 美,在一些汉化工具中,用到了apktool,可以从 http:/ 下需要 apktool1.x.x.tar.bz2 和 apktool-install-windows-r04-brut1.tar.bz2 两个 文件),下载后解压,为了以后方便使用,可以把得到的 3 个文件都复制到某 个文件夹(比如 D:workspaceapktool)下,使用步骤如下:打开命令行窗口,切换到你复制到的目录,或者直接把目录路径添加到环境变量 中;1)apktool d X.apk Y反编译 X.apk 到文件夹 Y例如在命令行窗口输入“apktool

8、d E:game.apk E:game_out“(不包含引号), 就会启动 apktool 反编译 E 盘根目录下的 game.apk 文件,反编译得到的文件放 在到 E:game_out文件夹。2)apktool b Y从文件夹 Y 重建为 APK,输出到 Ydistout.apk例如“apktool b E:game_out“,将 E:game_out 文件夹下的文件编译成新的 apk 文件,新文件会放在 E:game_outdist目录下,文件名为 out.apk。其他参数,请输入 apktool -help 查看,经过反编译后,classes.dex 文件被反编译为 smali 文件夹

9、下的文件; resources.arsc 被分解成若干 xml 文件,放在 res 文件夹下; apk 中原有的 xml 文件也变转换为可以直接用文本编辑器查看的形式。 其他的文件会被解压到相应的文件夹。2 楼 匿名learnAndroid 回复 2011-04-28 11:16:08 这句都写错了,java java AXMLPrinter2.jar AndroidManifest.xml- AndroidManifest.txt 不知楼主有没有试过 正确: java -jar AXMLPrinter2.jar AndroidManifest.xml - AndroidManifest.tx

10、t 注意空格XP 和和 WIN7 搭建搭建 Android 开发环境步骤详开发环境步骤详细图解细图解|浏览:2715|更新:2013-08-03 15:16|标签:windows7 android 开始 Android 开发之前,首先要搭建开发环境,XP 和 WIN7 搭建 Android 开发环境步骤比较复杂,大家可以按照下面的步骤一步一步按部就班的进行安装。1.JDK 安装:安装:(1)先下载 JDK;(2)设置环境变量步骤如下:我的电脑-属性-高级-环境变量-系统变量中添加以下环境变量:JAVA_HOME 值为: D:Program FilesJavajdk1.6.0_18(你安装 JD

11、K 的目录)CLASSPATH 值:.;%JAVA_HOME%libtools.jar;%JAVA_HOME%libdt.jar;%JAVA_HOME%bin;Path: 在开始追加 %JAVA_HOME%bin;NOTE:前面四步设置环境变量对搭建 Android 开发环境不是必须的,可以跳过。安装完成之后,可以在检查 JDK 是否安装成功。打开 cmd 窗口,输入 java version 查看 JDK 的版本信息。出现类似下面的画面表示安装成功了:2.Eclipse 安装:安装:如果你还么有 Eclipse 的话,可以去这里下载,下载如下图所示的 Eclipse IDE for Java

12、 Developers(92M)的 win 32bit 版:解压之后即可使用。3.Android SDK 安装:安装: 在 Android Developers 下载 android-sdk_r05-windows.zip,下载完成后解压到任意路径。运行 SDK Setup.exe,点击 Available Packages。如果没有出现可安装的包,请点击 Settings,选中 Misc 中的“Force https:/.“这项,再点击 Available Packages 。选择希望安装的 SDK 及其文档或者其它包,点击 Installation Selected、Accept All、

13、Install Accepted,开始下载安装所选包在用户变量中新建 PATH 值为:Android SDK 中的 tools 绝对路径(本机为 D:AndroidDevelopandroid-sdk-windowstools) 。“确定”后,重新启动计算机。重启计算机以后,进入 cmd 命令窗口,检查 SDK 是不是安装成功。 运行 android h 如果有类似以下的输出,表明安装成功:4.ADT 安装:安装:打开 Eclipse IDE,进入菜单中的 “Help“ - “Install New Software“点击 Add.按钮,弹出对话框要求输入 Name 和 Location:Na

14、me 自己随便取,Location 输入 dl- work with 后的下拉列表中选择我们刚才添加的 ADT,我们会看到下面出有 Developer Tools,展开它会有 Android DDMS 和 Android Development Tool,勾选他们。 如下图所示:然后就是按提示一步一步 next。完成之后:选择 Window Preferences.在左边的面板选择 Android,然后在右侧点击 Browse.并选中 SDK 路径,本机为: D:AndroidDevelopandroid-sdk-windows 点击 Apply、OK。配置完成。5.创建创建 AVD为使 An

15、droid 应用程序可以在模拟器上运行,必须创建 AVD。1、在 Eclipse 中。选择 Windows Android SDK and AVD Manager2、点击左侧面板的 Virtual Devices,再右侧点击 New3、填入 Name,选择 Target 的 API,SD Card 大小任意,Skin 随便选,Hardware目前保持默认值 4、点击 Create AVD 即可完成创建 AVD 注意:如果你点击左侧面板的 Virtual Devices,再右侧点击 New ,而 target 下拉列表没有可选项时,这时候你:点击左侧面板的 Available Packages,在右侧勾选,如下图所示:然后点击 Install Selected 按钮,接下来就是按提示做就行了要做这两步,原因是在 1.3、Android SDK 安装中没有安装一些必要的可用包(Available Packages)Android SDK 安装:安装: Eclipse JDK 安装安装

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号