簡體   English   中英

修改Android設備上已安裝的APK

[英]Modifying installed APKs on an android device

我正在嘗試使用Android,我想知道以下是否可行:我可以使用其他APP修改/修補已安裝的APP嗎?

我知道root訪問是可能的,但我想知道非root用戶的手機。 想到的唯一解決方案是:

- 從數據/應用程序/文件夾創建原始APK的副本 - 修補/重建它 - 修補安裝的修補APK

用戶需要確認安裝,但從理論上講,它可以正常工作嗎? 我還沒有想到的任何其他技術?

如果您想知道,我有興趣在現有應用中注入不同的字符串和其他資源,以提供翻譯或其他修改(例如:游戲中的作弊),而無需更改原始應用的來源。

你是對的,你可以在設備上做到這一點。 可以在Android上使用Smali / Baksmali ,也可以調用apktool(我只試過smali)。

一年前左右,我嘗試在設備上使用smali並自動修補源輸出。 網上有一些信息(我目前無法找到,對不起),但它非常有限,至少有人展示了如何正確使用smali / baksmali。 我放棄了這種方法,因為我不太擅長Java,並且電話上的資源非常有限。

我想到的另一種方法是將實際工作轉移到網絡中某個服務器上。 但是這有其自身的問題,因為您需要傳輸文件,您可能需要framework.apks,等等。

這很有趣但很難,你需要解碼/解析/補丁/重建apks,這必須是可靠的。 當你失敗時,最糟糕的是用戶手機壞了(我想修改關鍵系統apks,壞主意;))。

如果重新安裝是無縫的,並且您需要這樣做,則更好:INSTALL_PACKAGES權限。

現在,INSTALL_PACKAGES android:protectionLevel是“ signatureOrSystem”,這意味着應用程序需要使用與用於簽名系統映像相同的證書進行簽名。

現在,使用與用於簽署系統映像的證書相同的證書來簽署一個應用程序似乎是一項困難的(如果不是不可能的)任務,因為供應商可能不願意讓其他人使用他們的證書。 然后,有些人可能希望您的應用程序包含在他們的系統映像中。 無論如何,這都不重要,因為它是Android且Android具有ROM市場。

Android ROMS與Android的一般“功能”或“功能”越來越多。 這是Android用戶所期望的。 Android市場上有ROM管理器應用程序可以列出和安裝ROM等。

因此,為了獲得INSTALL_PACKAGES權限的應用程序,可以制作自己的ROM,或者與制作ROMS的人一起工作,或者將應用程序包含在ROM中,或者使用用於簽署ROM的系統映像的證書來簽署應用程序。

同樣,供應商完全有可能在其“固件”(系統映像)中包含該應用程序。 您將不得不接近他們。

:)

如果兩者都被您的應用程序使用。 內容提供商在apps.and之間共享數據,如果其他應用程序來自其他開發人員,那么您根本無法修改應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM