返回顶部
首页 > 资讯 > 精选 >Android应用中apk反编译的示例分析
  • 857
分享到

Android应用中apk反编译的示例分析

2023-06-15 10:06:46 857人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关Android应用中apk反编译的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。概述这里是Mac环境,如果是window环境的同学,在环境搭建和工具上可以选择Windo

这篇文章将为大家详细讲解有关Android应用中apk反编译的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

概述

这里是Mac环境,如果是window环境的同学,在环境搭建和工具上可以选择Window环境的。先看看需要到的工具;

apktool:https://ibotpeaches.GitHub.io/Apktool/install/

dex2jarHttps://github.com/pxb1988/dex2jar

jd-gui:http://jd.benow.ca

注意:工具一定要是当前最新版本的,否则很容易出现一些莫名其妙的错误。

先看一下项目的包结构

Android应用中apk反编译的示例分析

然后在简单看MainActivity中的内容。(这里给出该类的内容,只是为了后期和反编译出来的内容做个对比)

Android应用中apk反编译的示例分析

好了,下面开始我们的反编译之路了 。我们一个一个工具来说。

安装apktool

当我们下载好apktool.jar以后,可能有的人会有后缀名,都改为apktool.jar,然后终端输入命令open /usr/local/bin,然后将apktool和apktool.jar移到/usr/local/bin文件夹下,就OK了,判断apktool是否安装成功,可以通过命令:apktool 来判断

Android应用中apk反编译的示例分析

如果出现红色圈的这一大片,则说明安装成功。

注意:dex2jar和jd-gui不需要安装,直接解压即可。

使用apktool反编译

首先使用命令:cd xxx/xxx/xxx (xxx/xxx/xxx代表apk的存放路径)

使用命令:apktool d app-debug.apk (app-debug.apk是你的apk名称)

Android应用中apk反编译的示例分析

到这一步以后,会在你存放apk包的路径下生成一个文件夹

Android应用中apk反编译的示例分析

进入文件夹,你会发现,有我们项目的资源文件和xml文件。那么代码呢???没有看到,别急

在执行一个命令:apktool b xxx (xxx代表刚刚我们生成的文件夹的名称)

执行完上面的命令以后,可以看到文件夹中多了一个build文件夹,而这个build文件夹下的classes.dex文件就是我们最终需要的。

Android应用中apk反编译的示例分析

好了,apktool的工作到这里就结束了,下面我们需要另外两个工具dex2jar,jd-gui。

dex2jar

使用命令:cd xxx/xxx/xxx  (xxx/xxx/xxx代表dex2jar的路径)

使用命令:sh d2j-dex2jar.sh -f xxx/xxx/xxx  (xxx/xxx/xxx代表classes.dex的路径)

Android应用中apk反编译的示例分析

然后在dex2jar文件夹下会生成classes-dex2jar.jar的架包,这个包,就是我们的Java文件代码。

那么怎么看代码呢?jd-gui上场了。打开jd-gui,直接将classes-dex2jar.jar拖进来,就可以可以看到了。

Android应用中apk反编译的示例分析

对比一下最前面的MainActivity代码全部被反编译出来了。

很多人就会说,你这个项目是demo,并没有做混淆,所以可以反编译出来??但是,需要知道的是,如果做了混淆,一样可以反编译出来,只不过说里面的很多类名,方法名,变量名等等都是以a,b,c这样的形式存在,但是这种并不影响能过看出你的代码逻辑,只是给阅读增加了一丝的难度而已。所以,项目做混淆,只是最基础的一种方式,还有很多很多我们需要考虑的。

关于“Android应用中apk反编译的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Android应用中apk反编译的示例分析

本文链接: https://lsjlt.com/news/279614.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android应用中apk反编译的示例分析
    这篇文章将为大家详细讲解有关Android应用中apk反编译的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。概述这里是Mac环境,如果是window环境的同学,在环境搭建和工具上可以选择Windo...
    99+
    2023-06-15
  • 浅谈Android应用安全防护和逆向分析之apk反编译
    目录概述安装apktool使用apktool反编译dex2jar概述 这里是Mac环境,如果是window环境的同学,在环境搭建和工具上可以选择Window环境的。先看看需要到的工具...
    99+
    2024-04-02
  • Android中Apk反编译及加密的方法
    本篇内容主要讲解“Android中Apk反编译及加密的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android中Apk反编译及加密的方法”吧!一、Apk文件组成Android的应用程序A...
    99+
    2023-06-29
  • android studio反编译apk的方法是什么
    要反编译一个APK文件,可以使用以下方法:1. 使用apktool:apktool是一种开源工具,可以用于反编译和重新打包APK文件...
    99+
    2023-09-28
    android apk
  • JavaScript中预编译的示例分析
    小编给大家分享一下JavaScript中预编译的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!JavaScript 预编...
    99+
    2024-04-02
  • 【移动安全】—apk反编译基础及静态分析
    作者名:Demo不是emo  主页面链接:主页传送门 创作初心:一切为了她座右铭:不要让时代的悲哀成为你的悲哀专研方向:网络安全,数据结构 每日emo:ctf被大佬吊打的一天,裂开   目录 一、常见术语 1、APK文件  2...
    99+
    2023-08-31
    android linux 网络安全
  • Android应用程序(APK)的编译打包过程
    流程图:   我们重点关心的是(1)这个过程的输入是什么?(2)这个过程的输出是什么?(3)这个过程使用了什么工具?至于使用什么参数,可以自己去看对应命令的帮助文件,...
    99+
    2022-06-06
    程序 apk Android
  • android apk反编译到java源码的实现方法
    Android由于其代码是放在dalvik虚拟机上的托管代码,所以能够很容易的将其反编译为我们可以识别的代码。 之前我写过一篇文章反编译Android的apk包到smali文件...
    99+
    2022-06-06
    apk反编译 JAVA 方法 apk Android
  • 为Android的apk应用程序文件加壳以防止反编译的教程
    一、什么是加壳? 加壳是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作。大多数病毒就是基于此原理。 二、加壳作用 加壳的程序可以有效阻止对程序...
    99+
    2022-06-06
    程序 apk 教程 Android
  • Linux内核编译的示例分析
    小编给大家分享一下Linux内核编译的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   下载源代码Linux内核总是不断发展的,***的内核K...
    99+
    2023-06-16
  • 批处理版chm文件反编译器 v1.3的示例分析
    这篇文章主要介绍批处理版chm文件反编译器 v1.3的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!你手头是否有几本chm格式的电子书?你是否有过满世界搜索反编译chm软件的痛苦经历?你是否抱怨过这些软件有这...
    99+
    2023-06-08
  • 使用android-apktool来逆向(反编译)APK包方法介绍
    谷歌官方提供了apktool可以逆向已经发布出去的APK应用,即反编译已经打包成功的APK文件,使用它可以将其反编译成非常接近打包前的原始格式,对于APK来说,可以具体的逆向A...
    99+
    2022-06-06
    方法 apktool Android
  • Ivy编译器中增量DOM的示例分析
    这篇文章主要为大家展示了“Ivy编译器中增量DOM的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ivy编译器中增量DOM的示例分析”这篇文章吧。作为“...
    99+
    2024-04-02
  • Android中ContentProvider基础应用的示例分析
    小编给大家分享一下Android中ContentProvider基础应用的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、适用场景ContentProv...
    99+
    2023-06-22
  • 编译.NET Core 源码的示例分析
    小编给大家分享一下编译.NET Core 源码的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一:Windows 编译VS 2019 16.6(不要安装预览版)Win 10 专业版,最新版本 (1903/2004)...
    99+
    2023-06-14
  • 怎么在python中使用反编译apk签名出包
    本篇文章为大家展示了怎么在python中使用反编译apk签名出包,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。安装工具需要python3,apktool.jar,apktool用apktool进行反...
    99+
    2023-06-14
  • 基于编译虚拟机jvm之openjdk编译的示例分析
    这篇文章给大家分享的是有关基于编译虚拟机jvm之openjdk编译的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。java只所以被推广,实际上很大原因是因为本身是跨平台的,很大作用是因为虚拟机的关系。一般...
    99+
    2023-05-30
    jvm 虚拟机 openjdk
  • Scss编译输出风格的示例分析
    这篇文章主要介绍Scss编译输出风格的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!很多人从使用Scss的那一刻起,就被别人告诉了如何编译。所以,基本上也就只会一种命令编译方...
    99+
    2024-04-02
  • Vue3模板编译优化的示例分析
    小编给大家分享一下Vue3模板编译优化的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!编译入口了解过 Vue3 的同学肯...
    99+
    2024-04-02
  • Linux程序编译过程的示例分析
    小编给大家分享一下Linux程序编译过程的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!本文将介绍如何将高层的C/C++语言编写的程序转换成为处理器能够执...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作