apk反编译及重新生成

来源:互联网 发布:劝人学医天打雷劈知乎 编辑:程序博客网 时间:2024/05/16 05:08
 

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名称。
原创粉丝点击