APK包的一些修改心得apk反編譯?

Tags: 心得, 反編譯,

最近一直在弄apk,還買了一本書,感覺學習起來很吃力,還是想通過修改反編譯一些apk來的快,來的省事。希望本文能對各位美化新手有所幫助。

工具/原料

安卓手機一部

一、單純修改apk中未加密資源

什麼資源沒有加密?非res文件夾下的資源,以及res中的圖片。

1、直接用WinRAR/7-Zip解壓縮apk包。

需要了解:META-INF就是簽名;res就是文件類資源(圖片及xml),classes.dex就是代碼部分,resources.arsc就是字符串之類的資源。

2、修改/assets/operate_type.xml 文件。

3、刪除META-INF 簽名文件夾。

4、打包apk。

5、進行簽名:

目前網絡上提供的工具簽名方法都是這個:

java -jar SignApk.jar platform.x509.pem platform.pk8 aa.apk aa_signed.apk

其中:

┌─ SignApk.jar 是簽名工具

├─ platform.pk8 是私鑰

├─ platform.x509.pem 是相對應的證書/公鑰

└─ 使用SignApk.jar進行簽名,其會自動刪除META-INF 簽名文件夾,並生成新簽名。

6、簽名後的apk即可進行安裝使用。

APK包的一些修改心得apk反編譯

二、簽名的方法

除上文的簽名外,還有一種方法,目前簽名是成功,驗證成功,但是apk無法安裝,報apk簽名錯誤。

(1)生成keystore文件

keytool -genkey -keystore test.keystore -alias CERT -keyalg RSA -validity 2000

keytool 在Java/jdk/bin 目錄下

(2)使用keystore進行簽名

jarsigner -verbose -keystore test.keystore -signedjar aa_sig.apk aa.apk CERT

jarsigner 在Java/jdk/bin 目錄下

(3)驗證簽名

jarsigner -verify aa_sig.apk

jarsigner 在Java/jdk/bin 目錄下

APK包的一些修改心得apk反編譯

三、解包工具的使用,修改apk中加密資源

1、對apk進行解包:(包為aa.apk,解包後文件夾為aa)

java -jar apktool.jar d aa.apk aa

2、修改aa文件夾中資源

3、對文件夾aa進行打包成New-aa.apk

java -jar apktool.jar b aa New-aa.apk

4、簽名apk

java -jar SignApk.jar platform.x509.pem platform.pk8 New-aa.apk New-aa_signed.apk

5、安裝apk測試

APK包的一些修改心得apk反編譯

四、其他相關工具

1、有一個Arsc修改器,可以在直接從apk解壓出arsc資源而不解包情況下修改string等。(此方法完全可以被apktool方法替代,一是部分資源不能進行修改,工具封鎖了吧…二是字符串可能直接寫在代碼中,在classes.dex中,這個工具也不管用。)

2、有一個dex2jar工具,直接將apk包中的dex變成jar,從而使用jd-gui進行查看java源碼代碼。(個人感覺效果不好。還不如直接用apktool弄出smali文件,直接修改方便。)

APK包的一些修改心得apk反編譯

五、修改xml的一些心得

凡是看著文章的大部分人都是要美化去廣告什麼的。這就要面臨修改xml,修改了幾次,有點小經驗,算作結尾:

1、僅僅用作展示的圖片、文字,一般可以在xml中進行註釋掉。而一些不需要的按鈕圖片,註釋掉可能出問題,比如調用,此時可以修改為不顯示,或者直接把他的寬度高度修改為0

註釋方法是

修改不顯示的方法是加入android:visibility=”invisible”

修改寬度高度方法是android:layout_width=”0.0dip” 和 android:layout_height=”0.0dip”

2、所有的資源都可以任意修改。比如一個logo圖片是120*60的,你可以修改為120*120,由長方形修改為正方形。我一般是把資源導入到eclipse中邊看著邊修改。同時,也可以加入新的資源圖片等,然後對應著修改xml佈局。有了res圖片資源和xml佈局權限,界面完全可控。除非程序代碼中強寫的或者還有初始化佈局。

差點忘記附件了…apk相關工具.傳了這麼多年附件。

附上我修改的一點點效果:(模擬器和魅族M9真機)

APK包的一些修改心得apk反編譯

注意事項

親,如果你覺得此方法贊,那就動動小手指點個贊吧!這是作者最大的鼓勵哦!

相關問題答案