apktool 反汇编apk包

apktool  可反汇编 apk包

1.java的环境要配好

2.首先下载 apktool.jar,apktool.bat ,aapt.exe 。可进官网下载http://code.google.com/p/android-apktool/ 或者下载压缩包

3.命令行进入apktool.bat的文件目录

 apktool d -f TESTNAME.apk dest_folder    反编译TESTNAME apk到文件夹dest_folder     

 apktool b  ABC               从文件夹ABC重建APK,输出到ABC\dist\out.apk 

反汇编了apk可查看apk的一些资源文件吧。有些做了混淆也看不出什么内容。

但是很多apk包未做混淆,反编译就简单很多了

具体步骤:
(1)首先将apk文件后缀改为zip并解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的,将classes.dex复制到dex2jar.bat所在目录dex2jar-0.0.9.9文件夹。
(2)在命令行下定位到dex2jar.bat所在目录,运行
dex2jar.bat classes.dex
生成
classes_dex2jar.jar

(3)进入jdgui文件夹双击jd-gui.exe,打开上面生成的jar包classes_dex2jar.jar,即可看到源代码了

dex2jar 和 jdgui 最新版本下载,分别见google code:

dex2jar(google code)

jdgui(google code),最新版本请见 官方

时间: 2024-12-09 18:36:13

apktool 反汇编apk包的相关文章

apktool逆向apk包

在AndroidStudio创建so一节里创建了so,并且在java里面调用so的HelloWorld方法,编译Android Studio后生成包app-debug.apk. 在逆向apk时如果该apk引用了so的话,直接用Android Killer肯定没法直接得到so里的代码,我们需要先把apk文件解包,再读取so中的代码.下面介绍用apktool解apk包. 一 工具准备 1 下载apktool,apktool下载地址:https://ibotpeaches.github.io/Apkt

centos反编译APK包

centos反编译APK包 实验目的 线上linux上传游戏包,PHP调用反编译命令解包 实验环境 centos6.4 Linux localhost.localdomain 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 2212:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux nginix1.8.0 php5.4 mysql5.5 操作步骤 1.rqm -ql | grep java 2.yum -y install ja

Android 4.4(KitKat)中apk包的安装过程

原文地址:http://blog.csdn.net/jinzhuojun/article/details/25542011 其实对于apk包的安装,4.4和之前版本没大的差别.Android中app安装主要有以下几种情况:系统启动时安装,adb命令安装,Google Play上下载安装和通过PackageInstaller安装.安装的最核心方法是scanPackageLI(),以上几个安装方式最后都是调用这个函数完成主要工作的,区别在于在此之前的处理过程不同.本文以前两种为主,简要介绍这四种安装

安卓应用反编译(二)-APK包反编译

第二章 APK包反编译 被编译器处理过的代码和资源已经打包成了APK,有的甚至被转化成了二进制文件.但是我们也有一些方法,把这些编译过的内容给变回原来的样子,这个过程叫做-反编译. 反编译分为两个部分:一个是资源文件,一个是java文件.so文件是c++编译的结果,可以认为是不可反编译的(反编译成汇编指令,估计大部分人也看不懂). 2.1 反编译资源文件 APK tool是反编译的有力工具,据说是谷歌提供的官方的反编译工具,可以把APK目录解包,资源文件全部还原成编译前的样子,而dex文件反编译

Android获取APK包名的几种方法

Android获取APK包名的几种方法:1.adb shell pm list package -f | findstr 关键字 #只能获取到包名,主Activity名无法获取到 2.使用aapt--aapt是sdk自带的一个工具,在sdk\builds-tools\目录下 运行后的结果中以下两行分别是应用包名package和入口activity名称 package: name=’com.estrongs.android.pop’ launchable-activity: name=’com.e

使用ClassyShark分析Apk包的信息

欢迎Follow我的GitHub, 关注我的CSDN. 应用本质上是一个apk包, 即一个zip包, 可以直接显示其中的内容. 通过apk文件, 我们可以获知apk的版本信息, so库和第三方库, 并了解一些主流公司的应用框架. 分析工具主要是ApkTool和ClassyShark, 本人比较喜欢Shark(鲨鱼). 本着窥探的心理, 我给大家简单分析一下–美团. 恭喜她, 中奖了! 美团. 让我们看看, 有什么好玩且有用的架构信息? 1 框架 噢, 美团的编译版本非常新, 紧跟时代, 23版本

apk去广告工具(利用apktool去除apk文件里的广告)

基本知识 apk安装包的文件结构 以知名桌面软件“LauncherPro”为例,apk安装包文件目录: 文件目录如下: - META-INF - res - anim - color - drawable - drawable-hdpi - drawable-land - drawable-land-hdpi - drawable-mdpi - drawable-port - drawable-port-hdpi - layout - layout-land - layout-port - xm

Linux获取apk包名,版本号

1.将来aapt和apktool拷贝到/usr/bin/下面 2.运行aapt报错:-bash: /usr/bin/aapt: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory解决:反查需要的文件在哪个包中yum whatprovides */ld-linux.so.2在获取的列表中选择安装glibc-2.12-1.132.el6_5.1.i686yum -y install glibc-2.12-1.132.e

如何用同一份代码生成不同包名的APK包

有时候,我们需要用同一份生成几个不同的APK包在手机上测试,如果不修改配置,安装新APK时,会覆盖之前的APK.解决方法: 1.修改AndroidManifest中的包名: package="com.mini.app.abcd",将包名更改,重新clean一下,对应的gen文件下面的包名也会自动更新 2.修改APP名字(便于区分): android:label="@string/mcc_app_name" >,在Strings里找到对应的APP名字,修改为新A