本文所述的环境需要有java的支持,建议您下载安装JRE或者jDK .反编译APK,侵犯了原作者的版权,不过有些软件需要修改后才能在中国使用,比如twitter,facebook,foursquare,在生存和道德面前,我只能选前者,也希望能有更多的作者能将软件以BSD License的方式发布或者是GPL。不多说,切入正题吧。
反编译工具出现的时候我才真正的开始试手.新的编译方法更加简单快速,请丢弃以前老的方法,看看下面这种新方法.(*注:旧的反编方法可以参考 <<apk 破解之dexdump反编译Android程序>>
新的反编方法,是使用 Apktool ,这是一个开源的程序,在google code上就有,传送门在此---- apktool说明及下载 ;由于我使用的环境与大家不太一样,我是用Ubuntu的, 将包解压,直接丢进 /usr/local/bin ,这里要注意,要下载两个包才能工作,具体的操作细节上面的官方有说明档. 接着,随便找一个你电脑上的 test.apk ,然后在命令行里输入:
apktool d test.apk ,你就会发现居然反编成功了,如此神速.在这里你可能也看到了 apktool 需要带有参数才能运行,具体的参数如下
apktool <命令字符> apk文件
命令字符常用如下:
d 意即decode ,解码,反解,用这个参数来将官方的apk解压成源代码,这样大大方便我们修改
b 意即build , 构建,用这个参数可以把源代码再重新做成一个apk 文件,默认时文件名称就是这个软件代码的目录名.
这是最常用的命令,我们以修改twitter.apk为例,注意,这个apk是指 twitter for android 。我的操作环境是Ubuntu,而非windows,但是命令行格式是相同,没有任何区别,除非我特别说明
1 确保你已经按照官方的说明档安装好了环境,然后才能开始执行下面的操作
wbs@wbs-laptop:~/Dropbox/android$ apktool d twitter4android.apk
I: Baksmaling...
I: Loading resource table...
I: Decoding resources...
I: Loading resource table from file: /home/wbs/apktool/framework/1.apk
I: Copying assets and libs...
wbs@wbs-laptop:~/Dropbox/android
如此一来,我们就将twitter解包了,下一步就是修改,这个你就自己发挥编辑器的作用吧。
2 打包,我们把一个APK软件修改完了以后,就要封装起来做成一个APK,方便安装
进入到刚刚我们解压的APK包的文件夹里,比如我的是twitter4android,然后执行:
wbs@wbs-laptop:~/Dropbox/android
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...
wbs@wbs-laptop:~/Dropbox/android
OK,这样包就重新打好了,可能你并没有直接看到什么东西产生,不过这个时候你看一下 twitter4android文件夹的smali/dist里,已经产生了一个我们修改后的APK,就是它了,但是这个文件目前还不能安装,需要一个签名!下一步就是关于软件签名的,早在09年就已经有老外研究过了,我们现在用的只是人家当年的技术了,没办法,国内很少有人研究这种出力不赚钱的事, ^@^ 劳骚一下。
签名程序名为 Autosign ,你可以自己去google搜索,如果不愿意,就从我这个 AutoSign 传送门过去吧.这个的安装很简单吧,原作者都写了,其实你要做的就是解压,然后使用就OK,当然如果你跟我一样使用 Ubuntu/FreeBSD等系统,就执行下面的命令
java -jar signapk.jar testkey.x509.pem testkey.pk8 twitter4android.apk(这里写上你前面生成的那个文件名) twitter4android-1.apk(这里写上你需要生成的文件名,即签名后的)
Windows用户只要双击exe执行即可,操作已经很简单,不必多说了。Ubuntu/FreeBSD用户可以自己写一个小脚本,很简单也不用多说了。
3 好了,经过了以上的操作,你的作品可以公示出来给论坛所有人看了,我只在机锋网混。。。刚入手android没几天。
评论
发表评论
读过之后是不是文思泉涌了?,快快让大家拜读一下你的高见吧~~~