修改包名實現分身

往期推薦、

篡改Apk名稱、圖標

AndroidKiller介紹與使用

什麼是虛擬機?虛擬機有那幾種

APK安裝流程及詳細步驟

APK打包流程

所謂分身,就是在同一設備上可以同時打開兩個或多個相同的APP。那麼如何修改APK包名,就是本次要分享的內容,這裏以土豆視頻爲例。

1.1 修改APK包名

1.首先,找到包名:在工程管理器中找到「AndroidManifest.xml」文件,雙擊打開,找到「manifest」標籤裏面的「package」屬性的值,這個值是應用程序的包名,如下圖所示。

在這裏插入圖片描述

2.把「package」屬性的值「com.tudou.android」改爲「com.tudou.
android.qianyu」,或修改爲「com.tudou.andr」,或者修改爲「com.tudou.
android.123」。這個值可以通過刪減幾個字母或者任意添加字母、數字來進行修改,但是不能使用漢字,只能使用數字和字母,修改後,保存,如下圖所示。

在這裏插入圖片描述

3.點擊「編譯」按鈕,進行回編譯。回編譯成功後,打開雷電模擬器,安裝修改後的APP程序,會出現安裝失敗,提示爲「存在同名的內容提供者」,錯誤的原因是由於我們只修改了包名,沒有修改內容提供者,如下圖所示。

在這裏插入圖片描述

1.2 修改APK內容提供者

1.打開「AndroidManifest.xml」文件搜索內容提供者標籤「<provider」如下圖所示。

在這裏插入圖片描述

需要修改的是內容提供者標籤「<provider」裏「android:authorities」屬性的值,修改的方法同修改「package」屬性的值相同。可以添加或刪減字母、數字,但絕不能是漢字。將搜索的結果進行逐一、全部修改,修改完成後保存,如下圖所示。

在這裏插入圖片描述

2.點擊編譯按鈕進行回編譯,啓動雷電模擬器進行安裝,成功實現應用分身,如下圖所示。

在這裏插入圖片描述

3.導致程序崩潰的幾種原因及其解決辦法:

★第一種:只修改APK包名會引發內容提供者衝突。

解決方案是修改配置文件中所有內容提供者標籤「<provider」裏面的「android:authorities」屬性的值。

★第二種:應用分身的簽名信息不同導致無法運行。

解決方案是使用相同的簽名工具對所有分身APP進行統一簽名。

★第三種:有些APK在內部使用了包名,只修改包名會導致程序崩潰。

解決方案是全局搜索應用程序包名,查看搜索結果,如果是字符串就進行替換,將原有的字符串改爲修改後的包名,否則不進行替換。

小結

(1)修改包名:
工程管理器→「AndroidManifest.xml」→「manifest」標籤→「package」屬性的值→修改→「編譯」→回編譯→雷電模擬器→安裝運行

(2)修改內容提供者:
「AndroidManifest.xml」→搜索「<provider」→修改
「android:authorities」屬性的值 → 編譯 → 回編譯→ 雷電模擬器 → 安裝運行

如果你也對安卓逆向感興趣。可以加下方的羣,大家一起討論問題,或者掃描下方二維碼,關注回覆 「安卓逆向」 獲取免費教程

安卓逆向交流學習:342647370
vx:Yjxiaox

在這裏插入圖片描述