java - 确定 Android 应用程序中语句的执行顺序?
问题描述
我必须对 Android 应用程序进行逆向工程才能了解其代码的工作原理。我使用 jadx v1.1.0 来查看应用程序组件(源代码等),但这个应用程序只允许我查看源代码。我不知道如何调试代码,或者弄清楚代码的执行顺序。我不知道这个 Android 应用程序的头部和尾部是什么。
我能做些什么来解决这种情况?
解决方案
您需要更多地了解 Android 平台,以便为记录基本事件序列奠定基础,但根据应用程序的复杂性,这可能会变得相当困难。
我建议查看清单文件,这将帮助您确定哪些(如果适用)活动是启动器,以及定义任何权限、服务和接收器。还要寻找一个扩展Application的类。这将是您在启动时的第一个执行点。还请查看 Android 文档和示例以了解典型的应用程序结构。
可以将此源代码迁移到存根的 Android 项目中以对其进行调试,但这需要时间和耐心。
推荐阅读
- javascript - 如何在 React 中更新状态(从之前的值)的“好”方式
- php - Block.json 返回错误的路径
- android - 在 FLUTTER 中应用程序长时间不活动后,firebase_messaging 无法在 android 10 e 中运行
- bash - 在 bash 中处理短选项和长选项的两种方法
- java - 尝试访问作为依赖项添加到项目的库中的文件时出现 FileNotFound 异常
- c# - 如何更改画布中图像的颜色
- bash - WSL2 互操作问题导致 shell 脚本中的读取循环过早退出
- javascript - 选择选项正在更新状态,但不会将当前状态的正确名称呈现为选项
- wordpress - 如何将网站从子域转移到主域
- java - 空白敏感属性密钥需要 Nifi 迁移