我想逆向工程并最终修补我的 Amazon Firestick 上的应用程序。为此,我想分析应用程序可执行文件。
我相信第三方 apk 存储在该/data
目录中,但在无根设备上无法读取该目录。我还考虑在应用程序运行时转储进程内存,但我相信这也需要植根设备。如果可能的话,我宁愿不root 设备,但我知道这可能是必要的。
有谁知道我可以在不植根设备的情况下获取应用程序二进制文件的方法吗?
我想逆向工程并最终修补我的 Amazon Firestick 上的应用程序。为此,我想分析应用程序可执行文件。
我相信第三方 apk 存储在该/data
目录中,但在无根设备上无法读取该目录。我还考虑在应用程序运行时转储进程内存,但我相信这也需要植根设备。如果可能的话,我宁愿不root 设备,但我知道这可能是必要的。
有谁知道我可以在不植根设备的情况下获取应用程序二进制文件的方法吗?
adb shell pm list packages -f
应该列出所有已安装的软件包,以及它们的 apk 的路径。找到您感兴趣的 apk,然后使用adb pull <path>
.
例如
> adb shell pm list packages -f
....
package:/data/app/com.google.android.dialer-nt9PJ8MFE293dEV61etgIA==/base.apk=com.google.android.dialer
....
> adb pull /data/app/com.google.android.dialer-nt9PJ8MFE293dEV61etgIA==/base.apk
我遇到了这个具有正确解决方案的论坛帖子:https : //forum.xda-developers.com/fire-tv/help/extract-apk-t3674633。解决方案是下载 ESFile Explorer 并备份我正在为其寻找 APK 的应用程序。然后我就可以跑了adb pull /storage/emulated/0/backups/app/<my app>
。