APKTool簽名的乙個問題

2021-09-01 20:09:09 字數 1236 閱讀 2266

0x01 昨天寫了反編譯,今天就寫下簽名的問題

0x02 apktool的重打包功能大家都知道,堪稱神器,各類破解人事必備之良器,

用法不多說,只說簽名容易遇到的問題

0x03 建立私鑰倉庫這個事情就不多說,方法很多,eclipse和keytool       都有類似功能

需要注意的是,這個私鑰倉庫一共有兩個密碼,乙個是私鑰倉庫的密碼(storepass),另乙個則是倉庫裡面每乙個私鑰對應乙個密碼(keypass),都是需要記住的。乙個私鑰倉庫可以有多個私鑰。

換句話說每個私鑰倉庫建立的時候,這幾個引數是要記錄的

-storepass 123456789 私鑰倉庫的密碼

-keypass    1987***x   私鑰的密碼

-keystore  f:\\webattack\android\androidmasterkey_icefish.key  私鑰倉庫檔案在哪

icefish              私鑰的名稱

0x04   下來就是簽名的東西了,jarsigner

用法 jarsigner -help可以看到。

這裡面比較關鍵的幾個引數

-storepass   -keypass

-keystore  上面的都說了,

-verbose  輸出詳細資訊

特別注意的是  -signedjar 這個引數,他一共有三個選項,第乙個是簽名後的apk檔名,第二個選項是需要簽名的apk路徑,第三個很關鍵,就是前面提到的私鑰的名稱了。

乙個常見的如下所示

jarsigner -verbose -keystore f:\\webattack\android\androidmaster

key_icefish.key -storepass 123456789 -keypass 1987***x -signedjar modify_signed.

apk f:\\webattack\android\result\modifycompile\modify.apk icefish

甚至沒有改動任何**的直接簽名都報這個錯。

原因如下:

實質就是jdk7改變了jarsigner的預設選項,不再是sha 128了,而是變成了sha256,

這樣android 模擬器就驗證不對了

解決辦法就是再jarsigner的呼叫中在強制設定摘要演算法

-digestalg sha1 -sigalg md5withrsa

這樣就可以了。

乙個APK反編譯利器Apktool

乙個apk反編譯利器apktool coffeebeer apktool d c livewall spicker.apk c livewall spicker 複製 命令列解釋 apktool d 要反編譯的檔案 輸出資料夾 這樣,livewall spicker.apk就被反編譯了,輸出內容在c...

使用類封裝乙個簽名規則

這節主要是使用類封裝乙個簽名規則的練習,有乙個簽名規則的需求是 a 輸入資料 1 請求資料 vendorid 1697 poscode pos006 ip 127.0.0.1 posversion 2.1.1.1.1 mac d4 81 d7 ca 20 29 7c 67 a2 9a 06 05 7...

mysql delete的乙個問題

mysql select from a id name 1 test1 2 test2 3 test3 4 test3 5 test3 5 rows in set 0.00 sec 對這樣的乙個表,需要刪除 name相同的記錄。id沒有要求,但我這裡只留下最小的id。mysql delete fro...