本篇博文简单得以图文形式,描述下反编译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相关推荐

  1. Android Cocos2dx引擎 prv.ccz/plist/so等优化缓存文件,手把手ida教你逆向project反编译apk库等文件...

    前段时间在 Android play 上看到一个非常牛逼的 3D 动态天气预报,效果真的非常炫.二话不说动手 dex2jar.bat/apktool 发现这并没 有什么卵用,在核心的地方看见 nati ...

  2. 如何反编译apk文件并解析.class文件查看Java源代码

    如何反编译apk文件并解析.class文件查看Java源代码 前期工作:先准备好反编译需要用到的工具:下载链接. 1.把下载好的工具解压,得到下面这三个文件 2.配置环境变量到path(apktool ...

  3. 反编译APK分析APP的加密算法

    最近在研究微爱这款应用的请求时,发现每一条请求都携带了sig这个参数,并且sig随着每一次登录都会变化,不同的行为触发的HTTP请求所携带的sig也都不相同. 图片中的sig是经过URLEecode的 ...

  4. app加固apk文件防止反编译apk打包流程

    文章目录 [1]加固 一.为什么要加固 二.加固方案 ①免费的第三方加固方案 ②付费的第三方加固方案SDK ③Java IO 流实现AES加密dex [2]加固方案的实现方式 [3]apk文件构造 [ ...

  5. 用apktool批量反编译apk文件

    写在前面的话 这个是一个十分简单的脚本,非常简单.为什么要写,因为我是来骗分数的. 应用场景 主机上有一堆APK文件,是按照类别分好的,现在用apktool 反编译它们,然后在按照类别和apk的名字来 ...

  6. mac平台反编译apk,获取源码,androidmanifest和资源文件

    "提供一个反编译apk的工具" 在window上反编译apk是比较容易的事情,但是在mac上就需要稍微费力一些,这里为了方便大家,特意提供了一个python脚本,实现快速反编译ap ...

  7. [Android]反编译apk + eclipse中调试smali

    从来没有想过反编译apk是来的如此方便,并且还可以修改后重新编译运行,这比在win下修改pe容易多了,感谢apktool和smali工具的作者提供这么好的工具. 跟踪apk一般的做法是在反编译的sma ...

  8. 1ke android逆向助手_android: 使用android逆向助手反编译APK

    第一步:下载逆向助手:(链接: https://pan.baidu.com/s/15jtoFDg9LWV80HREeyx5HA 提取码: k527 ) 第二步:将apk文件拷贝到逆向助手的apktoo ...

  9. Android(三)——将程序打包成APK文件,进行APK签名以及反编译APK

    文章目录 1. 签名的作用 2. Android Studio 如何打包签名 3. 反编译 APK 3.1 获取图片资源 3.2 获取 .XML 资源 3.3 获取代码资源 1. 签名的作用 Andr ...

最新文章

  1. 陌陌一面,为什么SpringBoot的 jar 可以独立运行?
  2. Maven导入或新建项目时更改项目jdk版本
  3. 每天一点点之vue框架开发 - vue组件之间传值(父向子传值)
  4. opencv:灰色和彩色图像的像素直方图及直方图均值化的实现与展示
  5. STC51-1602、12232、12864液晶
  6. [Node] 基础知识
  7. 66. 编写高效的 JavaScript
  8. en结尾的单词_en后缀形容词——动词
  9. 串口调试助手fx2n_PLC串口调试助手详细讲解(结合实操)
  10. [转载]关于雷电防御_-刘艳红-_新浪博客
  11. B-spline Surfaces
  12. Python pyecharts地理数据可视化 绘制地理图表
  13. xp网络发现不了自己的计算机,xp系统“网络发现”功能启用不了的方案介绍
  14. imgui中在指定位置(非固定window方式)绘制text
  15. 北京java研发平均工资_各地java开发工程师平均工资 北京高级java开发工程师工资2万多...
  16. 内部总线、系统总线、外部总线区别
  17. 西安国微EDA研发中心正式启动运营;2020上半年10大典型工业网络安全事件 | 美通企业日报...
  18. 关于《佛本是道》的一些看法
  19. [转] meta标签的使用方法
  20. 一部手机就能搞定!3分钟教你制作专属片头片尾,简单易懂

热门文章

  1. strcpy、strncpy、strncpy_s和snprintf
  2. C、C++数组初始化,数组赋值
  3. 解析人工智能与人类智慧的求同存异
  4. FastFDS----分布式文件服务系统服务端搭建
  5. Mysql数据库基本知识一(表的操作在二中)
  6. Mybatis错误 Result Maps collection already contains value for xxx
  7. 执行unzip命令报错Archive: home.zip End-of-central-directory signature not found. Either this file is
  8. DECODE函数常用语法
  9. windows下Python安装pymysql
  10. 计算机3d 游戏制作,揭秘3D电影、游戏角色的制作过程!