必威体育Betway必威体育官网
当前位置:首页 > IT技术

apkTool---一个简单好用的apk反编译工具

时间:2019-09-11 20:41:06来源:IT技术作者:seo实验室小编阅读:76次「手机版」
 

apktool

前言

一直听说过反编译,感觉很高大上,一直没自己用过,今天因缘巧合之下,终于要开始逐渐认识,了解和学习一下反编译了~先给自己说下加油,鼓励一下下

apktool的下载和安装

apktool 下载地址:

Apktool [![Join the chat athttps://gitter.im/iBotPeaches/Apktool]

apktool 安装教程:

这个是上面网站上给出的安装使用文档:

Apktool - How to Install

注:以上都需科学上网.

首先,先反编译一下

当完成以上步骤之后,我们 window +R->打开 cmd 窗口

1.运行 apktool 命令 出现了 apktool 的版本号和指导的命令

这里写图片描述

2.随便找来一个 apk ,尝试反编译一下,运行 apktool d -f c:\test.apk -o c:\test 命令,把 test.apk 反编译,反编译后的文件放入 c 盘下的 test 文件中

这里写图片描述

3.反编译的文件结构如下:

这里写图片描述

这里写图片描述

造成这个现象的原因是:

Androidassets 和 res 文件都不会编译为二进制文件,所以反编译后,基本都是能看到它的全貌.

Android 中 .java 文件,在 JVM 编译之后变成 .class 文件,然后再经过Android 的虚拟机 Dalvik,代码编译为 .smali 文件

smali 是另外一种语言,和汇编是有点像的,涉及寄存器操作等,下面是一个截图,对于我来说,只能是大概能看懂:

这里写图片描述

若是对 smali 语法有兴趣,可以去下面网址看一下,StackOverFlow 上面万能网友们给出了很多学习的网址.

What’s the best way to learn Smali (and how/when to use Dalvik VM opcodes)?

然后,想想反编存在的意义在哪里?

Every coin have two sides.这是我高中英文作文基本都会写的一句话.每个工具都是一把双刃剑,就像一枚硬币有正反两面一样.那么 强大的 apktool 肯定也是一样.以下属于,我个人的见解,如有不对,还望指正.

带来便利一面:

提供一个方式,去反编译优秀的软件,学习知识

smali 是 Dalvik 的执行语言,你完全可以通过反编译去查看 Java 代码的 smali 语言,去更深入的了解程序的运行原理和流程

带来威胁一面:

发布的 APK 被二次打包,作为盗版产品使用,甚至恶意插入广告,病毒等,对软件公司带来损失

发布的 APK 被反编译,获取的有关服务器的信息,给服务器带来威胁.

通过反编译修改 smali 文件,减去客户端的限制,去获取不正当的利益,一般发生在游戏软件上

对于开发者来说,前者你可以不用,但是后者不得不防,于是,我们必须给自己的 APK 加上保护.

至于怎么加,表示最近正在了解和学习这方面的知识^_^,也许下篇博客会讲,我会回来补上链接的.

链接来了:Android-安全-签名验证让二次打包变的更难(https://blog.csdn.net/qq_32452623/article/details/54351364)

相关阅读

安卓apk 反编译为 Java源码图文教程

前言: 近来在模仿写一个app,可惜只有apk,没找到源码,只好进行反编译,特记录于此,供人参考。 测试环境:win10  64位 工具: apktool(链接

Android APK反编译就这么简单 详解(附图)

在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,

【apk破解尝试之旅】-——apk文件的反编译与回编译

前段时间玩了个手游,中途碰到一个副本迟迟无法攻破,又不没钱氪金,想着弄个破解版的,搜了半天没找到,于是决定自己动手干! 首先要对apk有

你的APK安全吗?来WeTest免费测!

作者:We Test小编商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。原文链接:https://wetest.qq.com/lab/view/423.html腾讯

Device supports x86,but APK only supports armeabi-

简介:做项目的时候经常会使用到so文件。例如使用高德地图,其SDK中就包含了armeabi、armeabi-v7a、arm64-v8a、x86等其他文件夹,里面

分享到:

栏目导航

推荐阅读

热门阅读