android app反编译
最新在反编译别人的apk,有时候看到别人的app有很炫的效果,就想知道别人是怎么样实现的,顺便自己参考,借鉴一下,下一次如果工作中碰到这个问题就知道怎么实现了.最近恰好放假三天,就研究了一下,一般别人的app都对代码进行了混淆,但是我们还是可以反编译看到代码,只是方法.变量.类名用字母替代了.
我这边用到了两套反编译工具,你们可以结合使用.最后我会提供这些工具的下载地址,以下这些反编译工具的必要条件电脑必须要装jdk.
一:apktool+dex2jar+jd-gui-windows-1.4.0
1).apktool:APKTool是GOOGLE提供的APK编译工具,能够反编译及回编译apk,,我们一般都是用来反编译资源文件.代码反编译之后都是smali文件
2).dex2jar dex2jar 是一款很不错的将android的,dex文件转换成Java的class文件的转换工具,把apk里面的dex反编译成jar文件
3).jd-gui-windows-1.4.0 可以反编译jar文件,导出java源码,所以这个工具根据必须跟第二个工具结合使用
二:jadx-0.6.0
对比之前 apktool(解包apk) + dex2jar(将.dex转换成.jar) + jd-gui (查看.jar文件)反编译三件套, jadx的优点在于:可以一行命令直接反编译恢复出.java文件
下面我来说说这写工具如何使用,并且带上图片.让大家一看就懂.
一.apktool使用步骤讲解
1).解压apktool压缩包 随便解压到哪里.
2).把你要反编译的apk复制到apktool文件夹里面.
3).打开cmd窗口 cd进入apktool文件夹
4).输入命令 apktool d "apk包名" -o "反编译出来源码存放的文件夹名字"
5).cmd操作,以及反编译之后的截图如下:
二.dex2jar 使用步骤讲解
1).解压dex2jar-2.0.zip
2).把你要反编译的apk后缀名改成.zip
3).把里面的.dex文件解压出来
4).把.dex文件复制到dex2jar文件夹下
5).cmd进入dex2jar文件夹下
6).输入命令:d2j-dex2jar classes.dex 反编译之后可以看到一个classes-dex2jar.jar文件
7).附上效果图:
三.jd-gui-windows-1.4.0 使用步骤讲解
1).解压zip文件,打开里面的exe文件 把dex2jar反编译出来的jar包文件拖进去就可以,这里我就不贴出效果图了,如果这个不会我也没办法了
四.jadx-0.6.0
1).需要先把apk拷贝到jadx目录的bin目录下
2).打开cmd窗口 cd进入jadx的bin目录
3).在bin目录新建out文件夹
4).cmd窗口执行命令 jadx -d "源码输出文件夹" "要反编译的apk文件"
5).这个反编译工具时间会长一些,一定要等它log日志全部打印完毕.
6).效果图如下:
写到这里,本篇教程就结束了,最后提醒大家一句,电脑一定要装jdk.
今天看了反法西斯的阅兵,感觉中国的实力也越来越强,在这个全面信息时代,作为一名码农,我们也要加油学习,跟上祖国的脚步.不要拖祖国后腿哈哈...感觉自己废话越来越多了。
android app反编译的更多相关文章
- Android apk反编译基础(apktoos)图文教程
本文主要介绍了Android apk反编译基础,使用的工具是apktoos,我们将用图文的方式说明apktoos工具的使用方式,你可以参考这个方法反编译其它APK试试看了 很久有写过一个广工图书馆主页 ...
- APP反编译第一课《如何找到核心代码》
相信很多人都应该会去接触APP反编译,本小七给大家带来入门级别套路,自己也在慢慢摸索学习,一起成长吧.第一步,反编译需要的工具有:一.java环境,其实这里你只要安装了burp就不用管这个的二.apk ...
- Xamarin android如何反编译apk文件
Xamarin android 如何反编译 apk文件 这里推荐一款XamarinAndroid开发的小游戏,撸棍英雄,游戏很简单,的确的是有点大.等一下我们来翻翻译这个Xamarin Android ...
- App反编译二次打包常见问题处理
1.二次打包时报错:Error retrieving parent for item: No resource found that matches the given name 如: D:\用户文件 ...
- 《Android逆向反编译代码注入》 - 逆向安全入门必看视频教程
适合人群: Android开发人员.逆向反编译开发人员.以及对Android逆向安全感兴趣的朋友. 视频地址: 51CTO学院:https://edu.51cto.com/course/24485 ...
- uniapp解决测评有组件导出风险,解决APP反编译,回编译后app无法打开的问题
1.APP反编译 使用hbx云打包,打包出apk 拿到apk后,先下载反编译工具 https://pan.baidu.com/s/1A5D8x_pdSELlHYl-Wl6Xnw 提取码 6vzd 使用 ...
- android apk 反编译
Apk文件结构 apk文件实际是一个zip压缩包,可以通过解压缩工具解开.以下是我们用zip解开helloworld.apk文件后看到的内容.可以看到其结构跟新建立的工程结构有些类似. java代码: ...
- 【Android 应用开发】 Android APK 反编译 混淆 反编译后重编译
反编译工具 : 总结了一下 linux, windows, mac 上的版本, 一起放到 CSDN 上下载; -- CSDN 下载地址 : http://download.csdn.net/detai ...
- android 防止反编译的若干方法
第一种方式:混淆策略 混淆策略是每个应用必须增加的一种防护策略,同时他不仅是为了防护,也是为了减小应用安装包的大小,所以他是每个应用发版之前必须要添加的一项功能,现在混淆策略一般有两种: 对代码的混淆 ...
随机推荐
- Github+Jekyll —— 创建个人免费博客(二)Ruby+Jekyll部署
摘要: 本文中我将介绍一下如何在github上搭建个人Blog(博客),也顺便让我们掌握一下github Pages功能,另外还涉及到Jekyll技术. ======================= ...
- HTML5新特性——HTML 5 Canvas vs. SVG
Canvas 和 SVG 都允许您在浏览器中创建图形,但是它们在根本上是不同的. SVG SVG 是一种使用 XML 描述 2D 图形的语言. SVG 基于 XML,这意味着 SVG DOM 中的每个 ...
- 取消TableViewCell选中状态的外观变化
tabelViewcell 使用Xib创建自定义外观的时候,在tableview选中的时候,cell的外观会发生变化,在定义Xib中如下图将选中的外观状态取消掉 也有其他选项,可以选择控制选中的时候的 ...
- xxxxxxxx
class IndexHandler(BaseRequestHandler): def get(self, page=1): print('iiiiiiiiiiiiiiiii') current_ti ...
- Dexpress 中 grid的使用
grid 中加入checkbox Run desiger Columns ColumnEdit中选择checkbox 此时我们要在后台手动指定一个数据列如下代码: dtRebatesReport.Co ...
- BSBuDeJie_04
一 段子的下拉 建立模型 数字类型的用assign /* 当前页码 */ @property (nonatomic, assign) NSInteger page; 二 下拉上拉细节处理 三 细节处理 ...
- myeclipse为表生成持久化对象
1.连接好数据库之后,右击数据库名,选择open connection, 2.像这样展开: 3.如图选择, 选择之后如下图: 确定即可.
- 《Linux内核设计与实现》读书笔记 第三章 进程管理
第三章进程管理 进程是Unix操作系统抽象概念中最基本的一种.我们拥有操作系统就是为了运行用户程序,因此,进程管理就是所有操作系统的心脏所在. 3.1进程 概念: 进程:处于执行期的程序.但不仅局限于 ...
- Nova PhoneGap框架 第八章 滚动条
你可能会疑惑为什么滚动条这么常见的功能会在这里单独列出,但如果你有过PhoneGap开发经验的话,你就会发现要在Android 2.3 里面实现滚动条那真不是一件容易的事. 8.1 概述 目前主流的P ...
- JavaScript 事件管理
在设计JavaScript xxsdk的时候考虑到能让调用者参与到工作流程中来,开始用了回调函数.如下: this.foo = function(args,callbackFn) { //do som ...