教你如何正确反编译apk
本篇博文简单得以图文形式,描述下反编译apk。
一听反编译,有木有高大上的赶脚,哈哈,其实真的不是很难嘻嘻
简单的说下反编译apk的流程:
我们一般想要反编译一个apk,无非就是想获得三样东西
图片资源 ,XML资源,和代码资源
一.图片资源获取、
这个最简单啦,
首先准备一个apk,嘿嘿就是你啦
这里是一个.apk后缀的文件,我们先把后缀改成,zip,
然后就成了这样
化身压缩文件啦撒,然后打开后你就能看到如下图
从压缩文件里解析出来的有很多目录撒,有大家熟悉的res目录,还有一个待会着重介绍的
classes.dex文件
在res目录下,我们就可以获取到我们需要的图片了撒,是不是非常esay
二.XML资源获取
我们可以在刚刚的目录下看到很多.xml的文件,但是你以为这个也可以直接打开,你就太年轻了,当你尝试着打开的时候都是乱码或者是空白,那么我们要如何获取到这个xml资源呢,这时候就需要借助一个jar包,就是它,axmlprinter2.jar
这个东西你只要百度下,就能搜到。
然后 你把他放跟你解压出来的xml放在同级目录下,用cmd命令找到这个目录,
我这边的示例是将xml放在了E盘,大家根据情况,cd到自己解压出来的目录下,然后执行
java -jar AXMLPrinter2.jar xxxxx.xml>xxxxx.txt
如下所示
这个时候你就能获取到xml里的东西啦
是不是很easy嘻嘻
三.代码资源的获取
这个重中之重了,这也是我们主要想要获取到的东西。但是存在一点,这里能够正确反编译出来的只有未加密或者没有混淆的代码,如果想要反编译一些加密或者混淆后代码,俺们就需要其他途径解决了
首先要准备两样东西
dex2jar主要是用来把之前zip解压出来的classed.dex转成jar包的
jd-gui主要是用来打开Jar包的
这两个工具图中有下载链接哟,嘻嘻
具体讲下dex2jar怎么用
把dex2jar 解压后,然后将之前zip的classes.dex放到 dex2jar目录下,
注意,必须要跟dex2jar.bat是同级目录,如下图所示
然后又要用到cmd,cd 到dex2jar目录下,打命令行
dex2jar.bat classes.dex
然后你的目录里会多一个jar包
多了一个 classes-dex2jar.jar的文件
然后在用jd-gui把jar包打开,最终apk的代码就这样被剥离出来了
是不是很有成就感啊,但是值得注意的是,如果你反编译的apk是已经被加密的,就会出现下面情况。下图是题主试图反编译支付宝apk得到的代码
所以,代码混淆很重要撒嘻嘻,下篇博客主要讲如何混淆自己的代码,不让别人那么轻易地把你的代码剥离出来
教你如何正确反编译apk相关推荐
- Android Cocos2dx引擎 prv.ccz/plist/so等优化缓存文件,手把手ida教你逆向project反编译apk库等文件...
前段时间在 Android play 上看到一个非常牛逼的 3D 动态天气预报,效果真的非常炫.二话不说动手 dex2jar.bat/apktool 发现这并没 有什么卵用,在核心的地方看见 nati ...
- 如何反编译apk文件并解析.class文件查看Java源代码
如何反编译apk文件并解析.class文件查看Java源代码 前期工作:先准备好反编译需要用到的工具:下载链接. 1.把下载好的工具解压,得到下面这三个文件 2.配置环境变量到path(apktool ...
- 反编译APK分析APP的加密算法
最近在研究微爱这款应用的请求时,发现每一条请求都携带了sig这个参数,并且sig随着每一次登录都会变化,不同的行为触发的HTTP请求所携带的sig也都不相同. 图片中的sig是经过URLEecode的 ...
- app加固apk文件防止反编译apk打包流程
文章目录 [1]加固 一.为什么要加固 二.加固方案 ①免费的第三方加固方案 ②付费的第三方加固方案SDK ③Java IO 流实现AES加密dex [2]加固方案的实现方式 [3]apk文件构造 [ ...
- 用apktool批量反编译apk文件
写在前面的话 这个是一个十分简单的脚本,非常简单.为什么要写,因为我是来骗分数的. 应用场景 主机上有一堆APK文件,是按照类别分好的,现在用apktool 反编译它们,然后在按照类别和apk的名字来 ...
- mac平台反编译apk,获取源码,androidmanifest和资源文件
"提供一个反编译apk的工具" 在window上反编译apk是比较容易的事情,但是在mac上就需要稍微费力一些,这里为了方便大家,特意提供了一个python脚本,实现快速反编译ap ...
- [Android]反编译apk + eclipse中调试smali
从来没有想过反编译apk是来的如此方便,并且还可以修改后重新编译运行,这比在win下修改pe容易多了,感谢apktool和smali工具的作者提供这么好的工具. 跟踪apk一般的做法是在反编译的sma ...
- 1ke android逆向助手_android: 使用android逆向助手反编译APK
第一步:下载逆向助手:(链接: https://pan.baidu.com/s/15jtoFDg9LWV80HREeyx5HA 提取码: k527 ) 第二步:将apk文件拷贝到逆向助手的apktoo ...
- Android(三)——将程序打包成APK文件,进行APK签名以及反编译APK
文章目录 1. 签名的作用 2. Android Studio 如何打包签名 3. 反编译 APK 3.1 获取图片资源 3.2 获取 .XML 资源 3.3 获取代码资源 1. 签名的作用 Andr ...
最新文章
- 陌陌一面,为什么SpringBoot的 jar 可以独立运行?
- Maven导入或新建项目时更改项目jdk版本
- 每天一点点之vue框架开发 - vue组件之间传值(父向子传值)
- opencv:灰色和彩色图像的像素直方图及直方图均值化的实现与展示
- STC51-1602、12232、12864液晶
- [Node] 基础知识
- 66. 编写高效的 JavaScript
- en结尾的单词_en后缀形容词——动词
- 串口调试助手fx2n_PLC串口调试助手详细讲解(结合实操)
- [转载]关于雷电防御_-刘艳红-_新浪博客
- B-spline Surfaces
- Python pyecharts地理数据可视化 绘制地理图表
- xp网络发现不了自己的计算机,xp系统“网络发现”功能启用不了的方案介绍
- imgui中在指定位置(非固定window方式)绘制text
- 北京java研发平均工资_各地java开发工程师平均工资 北京高级java开发工程师工资2万多...
- 内部总线、系统总线、外部总线区别
- 西安国微EDA研发中心正式启动运营;2020上半年10大典型工业网络安全事件 | 美通企业日报...
- 关于《佛本是道》的一些看法
- [转] meta标签的使用方法
- 一部手机就能搞定!3分钟教你制作专属片头片尾,简单易懂
热门文章
- strcpy、strncpy、strncpy_s和snprintf
- C、C++数组初始化,数组赋值
- 解析人工智能与人类智慧的求同存异
- FastFDS----分布式文件服务系统服务端搭建
- Mysql数据库基本知识一(表的操作在二中)
- Mybatis错误 Result Maps collection already contains value for xxx
- 执行unzip命令报错Archive: home.zip End-of-central-directory signature not found. Either this file is
- DECODE函数常用语法
- windows下Python安装pymysql
- 计算机3d 游戏制作,揭秘3D电影、游戏角色的制作过程!