Android apk反编译 重打包 重签名 对齐

来源:互联网 发布:滁州淘宝服饰 编辑:程序博客网 时间:2024/06/05 19:43

      关于反编译,首先,请阅读http://blog.csdn.net/jltxgcy/article/details/17141127

      第一种方式:只使用apktool

       apktool,xxx.apk放在了同一个目录下

      反编译:./apktool d -f xxx.apk,生成了xxx文件夹

      重新打包:./apktool b -f xxx(文件夹),生成了xxx/dist,里面存放着重新生成的apk,但是没有签名

       cd xxx/dist

      生成签名:keytool -genkey -keystore ks2.keystore -keyalg RSA -validity 10000 -alias ks2.keystore 

      重签名:jarsigner -verbose -digestalg SHA1 -sigalg MD5withRSA -keystore ks2.keystore(key在硬盘上的位置) -signedjar xxx_signed.apk xxx.apk ks2.keystore(别名) 

      对齐:zipalign -v 4 xxx_signed.apk xxx_align.apk


      第二种方式:使用apktool和bakmail,smail工具

       baksmail和smail工具下载地址:https://bitbucket.org/JesusFreke/smali/downloads,baksmali源码地址为https://github.com/JesusFreke/smali。

       apktool ,smali-2.0.3.jar,baksmail-2.0.3.jar,xxx.apk放在同一目录下

       反编译:

       (1)./apktool d -f -s xxx.apk,生成了xxx文件夹,但是文件夹classes.dex没有解析成smali

       apktool的命令参数详解:可以在Ubuntu下敲这个命令,会出来帮助文档

       (2)java -jar baksmali-2.0.3.jar -o baksmailout  xxx/classes.dex

      重新打包:

       (1)java -jar smali-2.0.3.jar baksmailout/ -o xxx/classes.dex

       (2)./apktool b -f xxx(文件夹)

       重签名和对齐和上面类似。

0 0
原创粉丝点击