最近一直在弄apk,还买了一本书,感觉学习起来很吃力,还是想通过修改反编译一些apk来的快,来的省事。希望本文能对各位美化新手有所帮助。

一、单纯修改apk中未加密资源

什么资源没有加密?非res文件夹下的资源,以及res中的图片。

1、直接用WinRAR/7-Zip解压缩apk包。

需要了解:META-INF就是签名;res就是文件类资源(图片及xml),classes.dex就是代码部分,resources.arsc就是字符串之类的资源。

2、修改/assets/operate_type.xml 文件。

3、删除META-INF 签名文件夹。

4、打包apk。

5、进行签名:

目前网络上提供的工具签名方法都是这个:

java -jar SignApk.jar platform.x509.pem platform.pk8 aa.apk aa_signed.apk

其中:

┌─ SignApk.jar 是签名工具

├─ platform.pk8 是私钥

├─ platform.x509.pem 是相对应的证书/公钥

└─ 使用SignApk.jar进行签名,其会自动删除META-INF 签名文件夹,并生成新签名。

6、签名后的apk即可进行安装使用。

二、签名的方法

除上文的签名外,还有一种方法,目前签名是成功,验证成功,但是apk无法安装,报apk签名错误。

(1)生成keystore文件

keytool -genkey -keystore test.keystore -alias CERT -keyalg RSA -validity 2000

keytool 在Java/jdk/bin 目录下

(2)使用keystore进行签名

jarsigner -verbose -keystore test.keystore -signedjar aa_sig.apk aa.apk CERT

jarsigner 在Java/jdk/bin 目录下

(3)验证签名

jarsigner -verify aa_sig.apk

jarsigner 在Java/jdk/bin 目录下

三、解包工具的使用,修改apk中加密资

1、对apk进行解包:(包为aa.apk,解包后文件夹为aa)

java -jar apktool.jar d aa.apk aa

2、修改aa文件夹中资源

3、对文件夹aa进行打包成New-aa.apk

java -jar apktool.jar b aa New-aa.apk

4、签名apk

java -jar SignApk.jar platform.x509.pem platform.pk8 New-aa.apk New-aa_signed.apk

5、安装apk测试

四、其他相关工具

1、有一个Arsc修改器,可以在直接从apk解压出arsc资源而不解包情况下修改string等。(此方法完全可以被apktool方法替代,一是部分资源不能进行修改,工具封锁了吧…二是字符串可能直接写在代码中,在classes.dex中,这个工具也不管用。)

2、有一个dex2jar工具,直接将apk包中的dex变成jar,从而使用jd-gui进行查看java源码代码。(个人感觉效果不好。还不如直接用apktool弄出smali文件,直接修改方便。)

五、修改xml的一些心得

凡是看着文章的大部分人都是要美化去广告什么的。这就要面临修改xml,修改了几次,有点小经验,算作结尾:

1、仅仅用作展示的图片、文字,一般可以在xml中进行注释掉。而一些不需要的按钮图片,注释掉可能出问题,比如调用,此时可以修改为不显示,或者直接把他的宽度高度修改为0

注释方法是<!– 注释的内容 –>

修改不显示的方法是加入android:visibility=”invisible”

修改宽度高度方法是android:layout_width=”0.0dip” 和 android:layout_height=”0.0dip”

2、所有的资源都可以任意修改。比如一个logo图片是120*60的,你可以修改为120*120,由长方形修改为正方形。我一般是把资源导入到eclipse中边看着边修改。同时,也可以加入新的资源图片等,然后对应着修改xml布局。有了res图片资源和xml布局权限,界面完全可控。除非程序代码中强写的或者还有初始化布局。

差点忘记附件了…apk相关工具

搜狐U盘(本地下载):http://u.sohu.com/download/10/13235966019767617664750

金山1Tpan:  上传速度好慢…还不知道能否分享

新浪vdisk文件一般我不外传~~嘿嘿

最后感叹一句:传了这么多年附件,唯独搜狐U盘比较快而且分享方便。最近开始弄弄1tpan和vdisk了。看看效果。

比较讨厌限制时间之类的网盘,比如115,我有我也不传。

 

附上我修改的一点点效果:(模拟器和魅族M9真机)

imageimage

imageimage

作者 xingzhou

发表回复