APK文件反编译: 在进行反编译操作前,先简单介绍下smali文件: smali是一种文件格式,语法和Jasmine的语言类似,这些smali文件包含开发应用程序时编写的java类的代码. 工具:jadx,jeb,apktool jadx和jeb使用方法是相同的,都是直接将apk文件拖入工具中,然后对反编译后的文件进行分析. apktool:apktool的主要优点是它是双向的,也就是说,你用它反编译一个apk文件,然后修改它,然后你也可以将修改后的文件重新打包成一个apk文件 具体使用方法:…
一.反编译工具: 1.APKTool: APKTool是由GOOGLE提供的APK编译工具,能够完成反编译及回编译apk的工作.同时,它也有着安装反编译系统apk所需要的framework-res框架,以及清理以前反编译文件夹等功能. APKTool的使用需要java支持. 2.dex2jar: dex2jar 是将android的.dex文件转换成Java的.class文件的转换工具,如果在转换过程中有问题的话,可以试用下其他的版本. 3.jd-gui: JD分为JD-GUI.JD-Eclip…
Dex 文件是Android上运行于delvik的java二进制文件,如果你对其中的内容感兴趣而开发人员没有公布源代码,你可以用如下方法反编译dex文件: 1 解压system.img 用xyaffs2解压system.img 等你所需要解压的img文件: xyaffs2 img_file output_dir xyaffs2可以从如下地址下载: http://limodev.cn/download/xyaffs.tar.gz 2 从输出目录找到你感兴趣的apk包,用unzip解压apk文件包:…
最近,自己坑逼的把一个android 项目修改版本的代码删除了.这个项目居然还没上传到源代码管理器.幸好还有apk文件,修改的代码也不多可以反编译一下. 1.下载 dex2jar  获取源码工具  地址:https://sourceforge.net/projects/dex2jar/   下载 jd-gui     查看源码工具     地址:http://jd.benow.ca/ 2.解压 dex2jar  . 3.修改 apk 文件后缀为 .rar 或 .zip ,然后解压文件,找到解压文…
工具: 压缩软件:用于解压apk包 dex2jar:*.dex反编译为Jar包 jd-gui:查看Jar文件 (PS:不知道博客园如何上传附件,只能把工具挂到百度网盘了:http://pan.baidu.com/s/1jIwb3MY) 0x01:用压缩软件解压apk 0x02:dex2jar把*.dex编译jar包 (1)把需要反编译的*.dex文件拷贝到dex2jar根目录 (2)通过命令行cd进入dex2jar根目录 (3)执行命令 d2j-dex2jar.bat *.dex 编译成功后会发…
背景: 最近在使用Robotium进行Android自动化测试.遇到了一个问题:我需要获得一个View的id(int型数值).此前我在http://maider.blog.sohu.com/255448342.html和http://maider.blog.sohu.com/255485243.html两篇文章中讲述了如何打开手机上的View Server来使用HierarchyViewer.HierarchyViewer对查看UI组件固然有帮助,但要想获取一个元素的id还是不行的.请看下图:…
apk文件的反编译,需要的工具apktool(反编译资源文件)和dex2jar-0.0.7.9-SNAPSHOT(反编译源码) 1.  下载相关软件 1)Apktool,下载地址:http://code.google.com/p/android-apktool/. 将其放入/home/ww/apktool/apktool目录 2)dex2jar-0.0.7.9-SNAPSHOT ,下载地址: http://laichao.googlecode.com/files/dex2jar-0.0.7-SN…
安卓程序是通过java语言进行编写的,可以很容易进行反编译.很多apk文件被反编译后再二次打包,就成了自己的产品,很是流氓.下面我们来看看如何进行apk的反编译,以及常用的防反编译手段. 一.反编译APK文件 1.第一步  将apk文件在pc上进行解压,解压后拷贝classes.dex文件. 2.第二步  下载并解压dex2jar工具,打开命令行并进入所在目录,执行命令:d2j-dex2jar.bat classes.dex D:\jarpath,会在D:\jarpath目录下生成classed…
上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372.接下来我们将介绍另一种防止apk反编译的技术-运行时修改字节码.这种方法是在工作中在实现app wrapping时,看到国外的一篇关于android 安全的介绍实现的并且独创.下面我们来介绍一下这种方法. 我们知道apk生成后所有的java生成的class文件都被dx命令整合成了一个classes.dex文件,当apk运行时d…
又到周末一个人侘在家里无事可干,这就是程序员的悲哀啊.好了我们利用周末的时间继续介绍android apk防止反编译技术的另一种方法.前三篇我们讲了加壳技术(http://my.oschina.net/u/2323218/blog/393372).运行时修改字节码(http://my.oschina.net/u/2323218/blog/396203)和伪加密(http://my.oschina.net/u/2323218/blog/399326),如果有不明白的可以查看我的博客的前三篇中关于这…