【问题标题】:Can I rebuild the Dalvik VM for my Android device?我可以为我的 Android 设备重建 Dalvik VM 吗?
【发布时间】:2021-05-11 12:13:11
【问题描述】:

我希望在我的 android 设备上重建 Dalvik VM 以进行应用程序分析工作。具体来说,我希望当我在我的 android 设备上运行一个 apk 文件时,如果它与某个地址建立 HTTP 连接,它会自动打印 logcat。

另外,如果可能的话,我该如何使用我重建的 Dalvik VM 在 android 设备上更改 Dalvik VM。

谢谢

【问题讨论】:

  • 为什么要在 Dalvik VM 中做,而不是在 Android SDK 中更合适的地方,比如网络堆栈? DalvikVM 不知道它在做什么,它只是运行字节码。
  • 感谢您的建议。但是我有一个问题,当我重建 sdk 时,它将帮助我从源代码构建应用程序,而不是改变应用程序在 Android 设备上的执行方式。
  • 当我说“Android SDK”时,我指的是整个 android 堆栈。整个 android 坐在 zygote 之上,坐在 linux 内核之上。面向“android sdk”部分的 android studio 很可能保持不变。
  • 您需要使用自己的映像 (rom / nand) 刷新设备,以更改应用在设备上的运行方式。您无法在 vanilla android 上运行您的更改(但假的 VPN 可能会获得您正在寻找的相同效果)
  • 据我所知,sdk会将源代码构建成dex文件供Dalvik或ART执行。所以我认为要在应用程序执行时改变应用程序的行为,只有一种方法可以改变运行应用程序的 VM(ART 或 Dalvik)。如果有更简单或者更可行的方法,能说清楚吗?

标签: android dalvik


【解决方案1】:

不是真正的答案,而是对您的一些问题的部分回答...

首先,您的设备现在很可能使用 ART,但如果它正在运行 DalvikVM,您将需要构建一个映像(ROM 或 NAND),然后将其刻录到设备上。

但是,不同的设备来自不同的供应商,不同的供应商以不同的方式更改了 Android SDK - 他们觉得或需要 - 甚至可能是 Dalvik VM - 这意味着您无法获得他们的代码。但是你可以得到他们的图片。

但是,修改该映像中的 Dalvik VM 是一项艰巨的逆向工程任务,因此请准备好在您的设备上运行 AOSP Android(如果需要,您可以实际更改 Dalvik VM 代码或网络堆栈)本身),如果它甚至在所述设备上启动或正常工作(因为供应商对他们正在运送的硬件使用不同的驱动程序和/或黑客)

【讨论】:

  • 感谢您的回答,我想我将不得不为我的主题找到另一个解决方案。
猜你喜欢
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 2011-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多