Android 反编译的使用
大家一说到反编译可能脑海中会首先想到不好的一面,破解别人的 APK 之类的。其实大可不必这么想。商业级别的 APK 也没有那么容易被你钻漏洞。一些核心的业务处理会在后台进行操作。本地的 APK 也会进行混淆加密等。所以我们进行反编译主要还是进行学习,看看别人怎么实现的,自己有个思路而已。
文章最早发布于我的微信公众号 Android开发者家园
本文为sydMobile原创文章,可以随意转载,但请务必注明出处!
关于这方面的资料,网上也有很多,这里就简单说一下过程,达到能够使用的目的!
这里介绍两种方式:
1.在线反编译
这种方式很简单,我们只需要打开网址,把我们的 AKP 放进去就可以进行在线反编译了。不过过程会有点慢。网址:http://www.javadecompilers.com/apk
操作很简单,就不再一步一步的进行演示了。
2.利用编译工具反编译
利用工具,自己进行反编译(其实就是工具的使用)
需要的工具:
- APK TOOL :谷歌提供的 APK 编译工具,可以反编译和回编译。我们都知道,其实 APK 就是一个压缩包,我们完全可以把 .apk 修改为 .zip。通过这种方式来获取资源文件,但是 xml 会乱码。如果你使用 apk tool 来进行反编译 apk 就不会出现这种问题了。 下载地址:https://ibotpeaches.github.io/Apktool/install/ (需要科学网)
- dex2jar:将 dex 文件转换成 jar 包 下载地址:http://sourceforge.net/projects/dex2jar/files/
- jd-gui:用来查看 jar 包里面的代码的一种工具。官网下载地址:http://jd.benow.ca/
如果你不方便科学上网的话,我已经打包了,可以在这里下载:https://download.csdn.net/download/sydmobile/10846283
APK TOOL 的使用
使用很简单,把要反编译的 apk 放到 apktool.jar 所在的目录,然后在命令行中定位到当前文件夹。然后输入命令: apktool d xxx.apk
这样就成功了。会在当前目录下生成一个以 apk 命名的目录,这个目录就是解压出来的目录。
dex2jar 使用
把 apk 解压后的 classes.dex 文件放到 dex2jar 所在的文件夹中。然后在当前目录下在命令行中输入: d2j-dex2jar classes.dex
就会生成一个 classes.jar 包。然后用 jd-gui 打开就可以了。
以上内容很简单,就不再演示了。有什么问题可以交流
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
CPS渠道统计难?你可能没用过这个统计工具
CPS广告是一种按销售计费的新型广告模式,即按广告被点击之后实际销售产品的数量来收费的一种方式。用户每完成一次交易,网站主就会获得相应的佣金,它与CPA都是在一定程度上避免了广告主的风险,为广告主带来较大的利益。 但每个推广渠道所产生的效益,广告主往往难以精准把握,尤其在投放了大量渠道之后,整体统计每个渠道付费效果更加难以实现。这里就要使用openinstall,它能为海量小渠道提供精准的统计分析,支持 Android 和 iOS 平台,实现免分包、免填码、实时展示、防刷量、渠道效果分析等功能,实现多种统计需求。 下面详细介绍一下openinstall的具体功能: 一、渠道数据 首先登录openinstall官网https://www.openinstall.io/cpsChannel.html, 登录应用后台,可以查看渠道报表,报表能实时统计各种CPS付费效果,渠道编号、渠道名、CPS渠道效果点都由管理者自定义生成。此外,报表兼具独立渠道链接、生成独立报表、分享数据等操作,同时数据能实时更新、实时排重,精准度和防作弊方面也能得到保障。 二、免渠道分包 在openinstall的应用管...
- 下一篇
微信 Android 终端内存优化实践
前言 内存问题是软件领域的经典问题,平时藏得很深,在出现问题之前没太多征兆。而一旦爆发问题,问题来源的多样、不易重现、现场信息少、难以定位等困难,就会让人头疼不已。 微信在过去 N 多的版本迭代中,经历了各式各样的内存问题,这些问题包括但不限于 Activity 的泄漏、Cursor 未关闭、线程的过度使用、无节制的创建缓存、以及某个 so 库悄无声息一点点的泄漏内存,等等。有些问题甚至曾倒逼着我们改变了微信的架构(2.x 时代 webview 内核泄露催生了微信多进程架构的改变)。时至今日微信依然偶尔会受到内存问题的挑战,在持续不断的版本迭代中,总会有新的问题被引入并潜藏着。 在解决各种问题的过程中,我们积累了一些相对有效和多面的优化手段及工具,从监控上报到开发阶段的测试检查,为预防和解决问题提供帮助,并还在不断的持续改进。本文打算介绍一下这些工程上的优化实践经验,希望对大家有一些参考价值。 Activity 泄露检测 Activity 泄漏,即因为各种原因导致 Activity 被生命周期远比该 Activity 长的对象直接或间接以强引用持有,导致在此期间 Activity...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果