【Android 逆向】Android 逆向方法 ( 静态逆向解析 | 函数调用分析 | 动态运行跟踪 | 运行日志分析 | 文件格式解析 | 敏感信息分析 | 网络信息监控 | 环境伪装模拟 )

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
密钥管理服务KMS,1000个密钥,100个凭据,1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 【Android 逆向】Android 逆向方法 ( 静态逆向解析 | 函数调用分析 | 动态运行跟踪 | 运行日志分析 | 文件格式解析 | 敏感信息分析 | 网络信息监控 | 环境伪装模拟 )

文章目录

一、Android 逆向方法

1、静态逆向解析

2、函数调用分析

3、动态运行跟踪

4、运行日志分析

5、文件格式解析

6、敏感信息分析

7、网络信息监控

8、软件动态调试

9、环境伪装模拟





一、Android 逆向方法



1、静态逆向解析


静态逆向解析 : 静态解析 APK 安装文件 , 反编译 APK 文件 , 然后反汇编 Dex 字节码文件 , SO 动态库文件 ; 分析这些二进制文件细节 ;



2、函数调用分析


函数调用分析 : 研究应用中调用了哪些函数 , 如 : 资源或目录中某些文件被加密了 , 需要解密操作 , 尝试分析 Java / OpenSSL 等的加密解密 API 方法 , 拦截这些方法 , 获取相应的秘钥 ; 获取到秘钥后 , 可以自己实现一个算法 , 将加密文件还原成原始数据 ;



3、动态运行跟踪


动态运行跟踪 : 将程序运行起来 , 运行中动态分析数据 ; 如 : 做一些函数拦截 , 拦截 Java 的字符串 String 的 构造函数 或 追加函数 , 按照时间顺序 , 记录函数的结果 , 然后找到关键信息的拼接过程 , 如 : 访问网络时 , 必然拼接 URL 地址 , 这些都是字符串 , 比较容易分析 ;



4、运行日志分析


运行日志分析 : 针对一个几百兆的大型的程序 , 一般不会上来就进行静态分析 , 很难接近应用的核心部分 ; 这种情况下 , 优先监控这个应用的运行日志 , 执行应用相关操作 , 查看哪些操作会产生哪些日志 , 之后根据日志信息 , 定位对应的代码位置 , 然后进行 静态 / 动态分析 ;



5、文件格式解析


文件格式解析 : 解析编译后的 SO 等格式的文件 , 提取重要的信息 , 如解析 SO 动态库 , 提取其中的 jni 入口方法 , 然后到 Dex 字节码文件中查询对应的 jni 方法调用 ;

有时候可以获取代码中的以明文形式声明的 密码 , 秘钥 , 字符串 相关信息 ; 解析 SO 动态库中的所有字符串信息 , 通过观察特征 , 位数 , 可以知道哪些字符串可能是秘钥字符串 , IP 地址 , URL 地址 , 域名 等 ;



6、敏感信息分析


敏感信息分析 : 分析 敏感的 函数名 , 类名 , 字符串 , 文件名 ;



7、网络信息监控


网络信息监控 : 针对有网络功能的应用 , 应用需要与服务器进行交互 , 如果网络交互没有进行防护措施 , 如使用 HTTP 链接 , 或 未加密数据 等 , 很容易被截获明文数据 , 这些数据都需要进行二次加密 ;

网络游戏 , 如果被截获了数据 , 后果是灾难性的 , 外挂就做出来了 ;



8、软件动态调试


软件动态调试 : 在调试环境中 , 调试软件 , 可以设置断点 ; 通过修改寄存器跳过调试检测 ;



9、环境伪装模拟


环境伪装模拟 : 使用 PC 电脑机上运行 Android 系统 , 应用为了避免在 PC 上运行 , 删除了 x86 架构的 so 动态库 ;

使用 雷电模拟器 等 模拟器 , 可以在 PC 电脑上运行 ARM 库 , 只是运行速度慢一些 ;


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
16天前
|
机器学习/深度学习 数据采集 人工智能
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
层次化Softmax算法通过引入Huffman树结构,将传统Softmax的计算复杂度从线性降至对数级别,显著提升了大规模词汇表的训练效率。该算法不仅优化了计算效率,还在处理大规模离散分布问题上提供了新的思路。文章详细介绍了Huffman树的构建、节点编码、概率计算及基于Gensim的实现方法,并讨论了工程实现中的优化策略与应用实践。
61 15
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
|
8天前
|
域名解析 缓存 网络协议
优化Lua-cURL:减少网络请求延迟的实用方法
优化Lua-cURL:减少网络请求延迟的实用方法
|
22天前
|
存储 SQL 关系型数据库
【赵渝强老师】PostgreSQL的运行日志文件
PostgreSQL的物理存储结构包括数据文件、日志文件等。运行日志默认未开启,需配置`postgresql.conf`文件中的相关参数如`log_destination`、`log_directory`等,以记录数据库状态、错误信息等。示例配置中启用了CSV格式日志,便于管理和分析。通过创建表操作,可查看生成的日志文件,了解具体日志内容。
|
25天前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
32 5
|
1月前
|
监控 安全 网络安全
云计算环境下的网络安全防护策略
在云计算的浪潮下,企业和个人用户纷纷将数据和服务迁移到云端。这种转变带来了便利和效率的提升,同时也引入了新的安全挑战。本文将探讨云计算环境中网络安全的关键问题,并介绍一些实用的防护策略,帮助读者构建更为安全的云环境。
|
1月前
|
云安全 监控 安全
云计算环境下的网络安全策略与实践
在数字化时代,云计算已成为企业和个人存储、处理数据的重要方式。然而,随着云服务的普及,网络安全问题也日益凸显。本文将探讨如何在云计算环境中实施有效的网络安全措施,包括加密技术、访问控制、安全监控和应急响应计划等方面。我们将通过具体案例分析,展示如何在实际场景中应用这些策略,以保护云中的数据不受威胁。
|
1月前
|
机器学习/深度学习 数据采集 算法
机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用
医疗诊断是医学的核心,其准确性和效率至关重要。本文探讨了机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用。文章还讨论了Python在构建机器学习模型中的作用,面临的挑战及应对策略,并展望了未来的发展趋势。
114 1
|
1月前
|
安全 网络协议 网络安全
【Azure 环境】从网络包中分析出TLS加密套件信息
An TLS 1.2 connection request was received from a remote client application, but non of the cipher suites supported by the client application are supported by the server. The connection request has failed. 从远程客户端应用程序收到 TLS 1.2 连接请求,但服务器不支持客户端应用程序支持的任何密码套件。连接请求失败。
|
1月前
|
安全 算法 网络安全
量子计算与网络安全:保护数据的新方法
量子计算的崛起为网络安全带来了新的挑战和机遇。本文介绍了量子计算的基本原理,重点探讨了量子加密技术,如量子密钥分发(QKD)和量子签名,这些技术利用量子物理的特性,提供更高的安全性和可扩展性。未来,量子加密将在金融、政府通信等领域发挥重要作用,但仍需克服量子硬件不稳定性和算法优化等挑战。
|
1月前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
129 1