1,安装JAVA 环境
2.到http://code.google.com/p/android-apktool/downloads/list 下载apktool,
有两个apktool.jar和apktool-install-windows-r04-brut1.tar.bz2
3.下载Auto-sign.jar签名用
4.先反编译apk
apktool d xx.apk
修改代码:
要修改string.xml和AndroidManifest.xml这样的资源文件,可以直接替换.
修改代码,要直接修改.smali代码,这里代码看的比较痛苦,要增加几行语句,可以自己先写一个简单的apk,反编译下,把想要的部分拷过来,
我试着反编译pixlr-o-matic.apk,在里面插入几句来保存Bitmap,但是生成后总是报VerifyError.
但是要简单的改生成图片的格式,比如SaveService.smali里Bitmap$CompressFormat;->JPEG改成Bitmap$CompressFormat;->PNG,
这样保存的图片都是png格式的.
或者比如在OnCreate里加个toast,可以直接在OnCreate里return-void前加上
const-string v0, "I\'m Cracked!"
const/4 v1, 0x1
invoke-static {p0, v0, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object v0
invoke-virtual {v0}, Landroid/widget/Toast;->show()V
这样重新生成后,启动activity,就会弹出一个toast.
5.重新生成apk
apktool b xx
生成的是未签名的,必须签名后才能安装到手机上。生成的apk在 xx/dist/xx.apk
使用Auto-sign.jar进行签名:
java -jar signapk.jar testkey.x509.pem testkey.pk8 matic.apk matic-sign.apk
matic.apk matic-sign.apk 换成自己的apk名称。