0
在apk中哪裏存儲標誌信息? apk文件是zip文件,擴展名爲.apk。我可以改變一些資源,否則會影響簽名?Android apk安卓apk截圖
在apk中哪裏存儲標誌信息? apk文件是zip文件,擴展名爲.apk。我可以改變一些資源,否則會影響簽名?Android apk安卓apk截圖
使用下面的這個方法,你可以編輯資源,但是你必須重新安裝APK,但是下面也顯示了這個。這個例子編輯的圖像資源,但是這可以通過任何資源
首先被用於使用來自Android的SDK工具「AAPT」列出資源:
$ANDROID/tools/aapt list file.apk
一旦我們找到我們所需要的資源,變化,我們使用「刪除」和「添加」來替換它們:
$ANDROID/tools/aapt remove file.apk res/drawable/file.png
$ANDROID/tools/aapt add file.apk res/drawable/file.png
接着我們來刪除舊的APK簽名,並用新的替換它。 我們將生成一個假的自簽名密鑰來簽署的APK:
$ openssl genrsa -out key.pem 1024
$ openssl req -new -key key.pem -out request.pem
$ openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem
$ openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt
取下APK舊的簽名:
for f in `$ANDROID/tools/aapt list file.apk |grep "META-INF"` ; do
$ANDROID/tools/aapt remove file.apk $f
done
現在我們簽署APK,我用signapk.jar做這個:
$ java -jar signapk.jar certificate.pem key.pk8 file.apk file-signed.apk
很明顯,謝謝。但我仍然不明白存儲的物理簽名信息在哪裏。 – anber
如果您查看apk內部,您會發現一個META-INF/CERT.SF文件,其中列出了apk中的所有文件及其哈希值。此文件已簽名,簽名位於META-INF/CERT.RSA文件中。 – pcans