[目录]
1).反编译工具
apktool http://code.google.com/p/android-apktool/downloads/list
命令:
apktool d [目标.apk] [目标文件夹] ---------反编译(decode)apktool b [文件夹] [编译之后的名称.apk]---------编译(buid)apktool if framework-res.apk --------加载资源(install framework)
CMD> apktool d Thinkdirve.apk APK_SRC(意思是将Thinkdirve.apk解包到当前APK_SRC目录下,APK_SRC文件夹不用创建,会自动生成)
CMD>apktool b ThinkDrive_src ThinkDrive_src.apk
(注:重新编译后的APK需要重签名)
步骤1: 将ThinkDrive.apk拷贝至apktool文件夹
步骤 2:CMD进入apktool文件夹,运行反编译命令
结果:
>【例:重新编译ThinkDrive.apk】
步骤1:将修改后资源文件后(APK_SRC)的文件夹重命名ThinkDrive_src
步骤2:CMD进入apktool文件夹, 运行编译命令
结果:
写个批处理,双击运行,自动反编译当前目录下的所有apk,高端大气上档次,低调奢华有内涵啊~~~~
[反编译.bat]
3)、什么时候需要反编译?
程序主要分2种: a).系统应用软件; b).第三方apk应用。我们在美化或者汉化或者去广告之类的时候,主要做的动作有2种:
a).替换图片: 如果只是替换图片,我们不需要反编译,替换相应的图片(注意名称和格式和分辨率一致),就可以了,这个时候只需要使用rar来做就好了。
b).修改xml文件: 除去图片文件,apk应用里我们能折腾的就是xml文件了。如上面所说的,如果用rar打开xml文件,是乱码,所以这个时候我们就需要反编译了。
5)、什么时候需要签名?
a).如果是系统apk应用。如果仅仅是替换图片,不需要反编译,也不需要重新签名,直接用rar替换就可以.如果进行了反编译,修改完xml文件之后,我们需要把他重新编译回去。编译好的应用不能直接放入手机内用,因为系统只认识他给的签名,而我们自己签名是不被认可的。处理方法:我们把之前从系统拿出来的原版apk起名为a.apk,把自己修改完毕,并且编译的好的应用起名为b.apk。用rar打开a.apk和b.apk,然后把b.apk里的resources.arsc文件直接拖到a.apk的压缩包里,然后把更换的图片以及修改过的XML文件也替换进去。 这个时候,我们做的相当于仅仅替换了一些资源,我们还是用a.apk的签名。替换完之后,就可以直接使用了。 如果有的时候修改过smali文件夹,就需要把class.dex文件也copy过去。b).如果是第三方apk应用第三方的apk应用,不管你修改了图片还是反编译了,都需要重新签名。方法是把 META-INF 里面的除了COM文件夹都删掉,就是删掉MF,SF,RSA这三个后缀名的文件然后使用工具签名。安装的时候要把原有的应用删掉再安装。
6)、签名工具
签名生成:keytool
重新签名:jarsigner
优化APK:zipalign
重签名,下篇有时间再写博分享。
转载请注明出处:Findyou