Categories
Android

强悍的Android反编apk译软件 apktool

apktool 下载地址: http://code.google.com/p/android-apktool/
使用说明上面的链接也写非常清楚,需要注意的就是java是1.6版本的。

前段时间整理了一个 wiki文档 http://lytsing.org/wiki/android/decompile.html ,简要列出了三个反编译工具:

  • smali
  • dedexer
  • dexdump

今天下午与absurd老大聊了一下,他说apktool很强大,于是G它一把,看到youtubu有两个视频:

Apktool Demo 1 – Editing HTC_IME resources

Apktool Demo 2 – Smali improvements

视频请自行翻墙观看。视频还有人留言:”Fantastic! Simply Awesome. Thanks so much, I will be looking for your dontate button” . Laugh!人家弄个软件也不容易啊。

AndroidManifest.xml 一般用 AXMLPrinter2.jar 反编译后,勉强看懂,但还有一些字符串没翻译,apktool做的更彻底,一步到位。不过用AXMLPrinter2.jar反编译xml文件输出的结果很整齐美观。用Eclipse格式化layout的xml文件,结果不那么令人满意。在Jeff Sharkey的一篇博文中,他说Roman Guy会把xml格式化很漂亮,为此,曾经给Roman Guy发过邮件,至今没得到回复:(

用dedexer反编译出来的ddx文件,参数名没显示出来,

.method public static getSearchQueryForPublisher(Ljava/lang/String;)Ljava/lang/String;
.limit registers 3
; parameter[0] : v2 (Ljava/lang/String;)

apktool 反编译出来的smali文件,参数名都列出来了:

.method public static getSearchQueryForPublisher(Ljava/lang/String;)Ljava/lang/String;
    .locals 2
    .parameter "publisher"

用dedexer反编译出来的ddx格式文件,可读性会好一些。

youtube的视频演示了如何修改代码,然后重新打包,签名发布。至于用来汉化,更是小case。同时,从另一个方面来讲,Android程序的安全问题也很是忧虑。

apktool令人感到震撼,我那wiki页面信息全out了。

If you enjoyed this post, make sure you subscribe to my RSS feed!

Leave a Reply

Your email address will not be published. Required fields are marked *