【移动安全】—apk反编译基础及静态分析

news2024/12/26 0:05:20

作者名:Demo不是emo 

主页面链接:主页传送门
创作初心:
舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷
座右铭:不要让时代的悲哀成为你的悲哀
专研方向:网络安全,数据结构

每日emo:ctf被大佬吊打的一天,裂开

 

目录

一、常见术语

1、APK文件 

2、APK文件目录

[1]、META-INF文件夹 

[2]、res文件夹

二、Apk打包流程

三、adb介绍与使用


一、常见术语

1、APK文件 

        它是Android Package的缩写,也就是Android安装包。其实,APK文件是压缩包形式呈现的。通过将打包好的APK文件直接传到Android模拟器或Android手机中执行、安装,就形成我们使用的各种APP程序啦。

2、APK文件目录

assets:此目录下存放的是不经过appt编译的资源文件。

lib:此文件夹下存放的都是so文件。

META-INF:此文件夹里面存放的是apk的签名文件

res:这个文件夹里面存放的是资源文件.

AndroidManifest.xml 文件:是一个配置文件,里面包含组件的声明和配置。

classes.dex文件:是一个可执行文件,可以直接在Android系统上运行。

resources.arsc文件:是经过 aapt 打包res目录下的资源文件后生成的文件。

 例如:

[1]、META-INF文件夹 

 在META-INF文件夹中:此文件夹里面存放的是apk的签名文件,打开它,我们可以看到,它包含三种文件:

        CERT.RSA文件:签名证书文件,里面存放的是公钥和加密算法描述

        CERT.SF文件:摘要加密,里面存放的是加密文件,它是使用私钥对摘要明文加密后得到的密文信息,只有使用私钥配对的公钥才能解密该文件

        MANIFEST.MF文件:即文件摘要,里面存放的是程序清单文件,它包含包中所有文件的摘要明文。 

[2]、res文件夹

res文件夹中:这个文件夹里面存放的是资源文件,是经过appt编译后的文件:     

        drawable开头的文件夹:里面存放的是图片和xml文件。   

        layout文件夹:里面存放的都是布局文件。     

        有的APK中还会出现一个menu文件夹:里面存放的是菜单文件。     

                anim文件夹:存放的是动画文件,     

                color文件夹:存放的是颜色文件,     

                mipmap文件夹:存放的也是图片资源。 

 

 

二、Apk打包流程

三、adb介绍与使用

ADB(Android Debug Bridge),ADB是Android SDK里的一个工具,用这个工具可以直接操作管理Android模拟器或者真实的Android设备。Android的初衷是用ADB这样的一个工具来协助开发人员在开发Android应用的过程中更快更好的调试APK,因此ADB具有一下等功能:          

安装卸载apk       

   

拷贝推送文件

查看设备硬件信息        

查看应用程序占用资源

在设备执行shell命令 

至于adb工具的安装就不在这里多讲了,后面会出一篇博客来详细介绍adb,相关的工具包也可以找我拿,安装好了之后就是下面这个界面,在终端输入adb后就会有回显

这里只简单演示一下,先给大家看看它常用的指令

adb常用命令

adb devices:显示当前连接的设备

adb install:安装包路径

adb shell dumpsys activity top 获取当前活动界面信息

adb shell dumpsys package [packagename] 获取包信息

adb shell dumpsys meminfo [pname/pid]  获取内存数据

adb shell dumpsys dbinfo [packagename] 获取数据库文件

adb shell pm list packages 列出当前所有已安装的程序包名

adb shell pm path  [packagename] 获取指定程序所在路径

这里我开启一个雷电模拟器来给大家演示一下,如下,输入下面这个指令就可以查看adb连接了哪些设备

adb devices

 你也可以进入他的shell终端直接输入

adb shell

就可以了,效果如下

也能看到现在是root用户,这里的shell命令直接用Linux指令‘’就行了,差不多的,还比如查ip地址

又比如给连接的设备安装准备好的apk文件,如下

 后面再来具体演示他的调试效果,也会出一篇博客专门来详细介绍这个工具

基于渗透的一些想法,就是当其他人拿着usb设备在你电脑上充电时,直接把提前准备好的apk木马文件给他安装上去,不就直接拿捏了(无任何不良向导),所以说学渗透要把自己学到的知识点都联系到渗透上,结合知识点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/113589.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

逛逛JVM的“后花园“: 让我来戏弄戏弄字节吧

开篇瞎哔哔 这篇文章不打算放在任何一个系列里面,纯粹是个人对这方面比较感兴趣才写的,在日常的工作中,也不会用到关于这块的知识,但是,我希望如果有小伙伴和我一样,想对字节码杠一杠的,那么这…

Python pandas库|任凭弱水三千,我只取一瓢饮(5)

上一篇链接: Python pandas库|任凭弱水三千,我只取一瓢饮(4)_Hann Yang的博客-CSDN博客 S~W: Function46~56 Types[Function][45:] [set_eng_float_format, show_versions, test, timedelta_range, to_…

BUUCTF Misc [ACTF新生赛2020]NTFS数据流 john-in-the-middle [ACTF新生赛2020]swp 喵喵喵

目录 [ACTF新生赛2020]NTFS数据流 john-in-the-middle [ACTF新生赛2020]swp 喵喵喵 [ACTF新生赛2020]NTFS数据流 下载文件 得到500个txt文件,提示了NTFS流隐写,所以使用NtfsStreamsEditor2查看 得到flag flag{AAAds_nntfs_ffunn?} jo…

mybatis-plus代码生成器AutoGenerator

文章目录前言一、给指定的模块生成代码1.1 创建maven模块1.2 导入依赖1.3 代码生成类1.4 测试二、给指定的项目生成代码2.1 创建maven项目2.2 导入依赖2.3 代码生成类2.4 测试三、步骤区别前言 AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以…

一文弄懂 React 生命周期

1. 类组件生命周期原理 React 中有两个核心阶段: 1.调和 (render) 阶段遍历 Fiber 树,通过 diff 算法找出变化的部分,如果是组件则会执行其 render 函数进行更新2.commit 阶段根据调和的结果去创建或修改真实 DOM 节点生命周期是贯穿在一个…

C++ Primer 课后习题详解 | 2.1.1 算术类型

🎈 作者:Linux猿 🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! &…

Python pandas库|任凭弱水三千,我只取一瓢饮(6)

上一篇链接: Python pandas库|任凭弱水三千,我只取一瓢饮(5)_Hann Yang的博客-CSDN博客 DataFrame 类方法(211个,其中包含18个子类、2个子模块) >>> import pandas as p…

Python pandas库|任凭弱水三千,我只取一瓢饮(1)

对Python的 pandas 库所有的内置元类、函数、子模块等全部浏览一遍,然后挑选一些重点学习一下。我安装的库版本号为1.3.5,如下: >>> import pandas as pd >>> pd.__version__ 1.3.5 >>> print(pd.__doc__)pandas…

Google Earth Engine APP(GEE)——再地图上加载各种选择器

本次我们尝试将GEE UI中的小组件进行加载,让其设定在特定的面板上,并且加载到地图上,先看一下我们最终成型的效果, 文中代码所使用到的函数: ui.Select(items, placeholder, value, onChange, disabled, style) 带有回调的可打印选择菜单。 参数: 项目(列表<对象…

day29【代码随想录】回溯之组合总和、组合总和||

文章目录前言一、组合总和&#xff08;力扣39&#xff09;剪枝优化二、组合总和II&#xff08;力扣40&#xff09;前言 1、组合总和 2、组合总和|| 一、组合总和&#xff08;力扣39&#xff09; 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0…

Smart Table Personalization 功能的一些单步调试

SmartTable 的 _onMetadataInitialised 方法里&#xff1a; 如果标志位 bIsInitialised 已经赋值&#xff0c;说明已经初始化过了&#xff0c;直接返回。 这里说明 SmartTable 有一个自动调整宽度的属性设置&#xff1a;getEnableAutoColumnWidth 拿到 Table view 的metadat…

C++11标准模板(STL)- 算法(std::accumulate)

定义于头文件 <algorithm> 算法库提供大量用途的函数&#xff08;例如查找、排序、计数、操作&#xff09;&#xff0c;它们在元素范围上操作。注意范围定义为 [first, last) &#xff0c;其中 last 指代要查询或修改的最后元素的后一个元素。 对一个范围内的元素求和 …

node.js+uni计算机毕设项目基于微信小程序的大型商场一体化平台(程序+小程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分离等…

我求求你了,GC日志打印别再瞎配置了

​ 编辑切换为居中 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 生产环境上&#xff0c;或者其他要测试 GC 问题的环境上&#xff0c;一定会配置上打印GC日志的参数&#xff0c;便于分析 GC 相关的问题。 但是可能很多人配置得都不够“完美”&#…

excel图文教程:深入了解数据分析函数FREQUENCY

1.FREQUENCY函数的作用及语法 关于这个函数的作用官方的解释是&#xff1a;以一列垂直数组返回一组数据的频率分布。 语法&#xff1a;FREQUENCY&#xff08;DATA_ARRAY&#xff0c;BINS_ARRAY&#xff09; FREQUENCY函数的第二参数可以是单元格区域&#xff0c;也可以是常量…

如何创建你自己的谷歌浏览器扩展

如果你是谷歌浏览器的用户&#xff0c;你可能已经在浏览器中使用了一些扩展。 你是否曾想过如何自己建立一个&#xff1f;在这篇文章中&#xff0c;我将向你展示如何从头开始创建一个Chrome扩展。 目录 什么是Chrome扩展&#xff1f;我们的Chrome扩展会是什么样子的&#xf…

DSP-时域中的离散信号

目录 离散时间信号的表示: 离散信号的时域表示: 序列的长度: ​编辑 信号的能量和功率: 序列的基本运算 : 相乘 (product): 相加(addition): 放大(multiplication): 时移(time-shifting): 时间反转(time-reversal): 线性卷积: 抽样率转换: 有限长序列的运算: 离散…

Wireshark 实用篇2:Wireshark 抓包常用过滤命令

目录 前言 正文 一、根据 IP 地址过滤 二、根据端口过滤 三、根据协议过滤 四、根据 Payload Type 条件过滤 五、根据组合条件过滤 六、实例分析 前言 使用 Wireshark 工具进行网络抓包属于研发人员的基础技能&#xff0c;如果你还不了解&#xff0c;建议从现在开始…

RabbitMQ 第二天 高级 7 RabbitMQ 高级特性 7.7 日志与监控

RabbitMQ 【黑马程序员RabbitMQ全套教程&#xff0c;rabbitmq消息中间件到实战】 文章目录RabbitMQ第二天 高级7 RabbitMQ 高级特性7.7 日志与监控7.7.1 RabbitMQ 日志7.7.2 web 管控台监控7.7.3 rabbitmqctl 管理和监控第二天 高级 7 RabbitMQ 高级特性 7.7 日志与监控 老师…

SpringBoot+Mybatis-Plus+Thymeleaf+Bootstrap分页页查询(前后端完整版开源学习)图书管理系统

目录分页主要逻辑&#xff0c;在3.7和3.81.准备工作1.1 参考博客1.2 项目结构2. 数据库3. 详细代码部分3.1 pom依赖3.2 application.yml3.3 BookMapper.xml3.4 BookMapper3.5 BookService 和 BookServiceImpl3.6 实体类entity book3.7控制层 BookController3.8 前端页面bookLis…