Edit image resources inside an android APK file
Today I had to change some image resources in a APK file, the process is easy once you know it, so I just post it here for future reference:
First use the tool “aapt” from the android SDK to list the resources:
$ANDROID/tools/aapt list file.apk
Once we locate the resources that we need to change, we use “remove” and “add” to replace them:
$ANDROID/tools/aapt remove file.apk res/drawable/file.png
$ANDROID/tools/aapt add file.apk res/drawable/file.png
Then we have to remove the old APK signature and replace it with a new one.
We will generate a fake self signed key to sign the APK:
We will generate a fake self signed key to sign the 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
Remove the old signature from the APK:
for f in `$ANDROID/tools/aapt list file.apk |grep "META-INF"` ; do
$ANDROID/tools/aapt remove file.apk $f
done
And now we sign the APK, I use signapk.jar to do this:
$ java -jar signapk.jar certificate.pem key.pk8 file.apk file-signed.apk
That’s it, our APK is now ready to install… just remember to setup your android phone to allow installing applications from unknown sources 
Tengo una aplicación que está firmada, no me permite usarla, cualquier acción que hago me pone que la aplicación no está registrada.
ReplyDeleteCómo puedo lograr quitarle la firma o burlar la misma?
Qué pudiera hacer?