Chinaunix首页 | 论坛 | 博客
  • 博客访问: 586122
  • 博文数量: 192
  • 博客积分: 3780
  • 博客等级: 中校
  • 技术积分: 1487
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-26 10:11
文章存档

2012年(6)

2011年(160)

2010年(26)

分类: Java

2012-02-13 16:03:01

本人也不是专门从事Android开发工作的,只是兴趣爱好罢了,这里浅谈一下APK反编译。
  众所周知,Android的程序是APK文件,那么生成APK如何生成以及从哪里来咱们这里就不说了。
  现在有很多很多第三方市场,什么安智市场啊,机锋市场啊等等,有时候我们有没有发现当你在第三方市场装了某一APP应用的时候,再去其他市场更新会报签名错误,那么这个签名其实就是做你唯一标识用的,指明这个APP是你本人或者公司出品,这些第三方的市场通常会把你上传的APP重新做一个签名,签名一致的时候可以更新,而签名不同了,当然就没法更新,迫使用户必须在某一个市场下载并更新,或者只能卸载再重新安装最新版,现在似乎好一点了,因为这样的用户体验会导致大家都很抵制这些“下流”的市场。

  好了,为了维护自己的权益,咱们肯定要签名,这个就像作家要有署名一样的道理。

  方法1:

  首先在Eclipse的项目中右键AndroidTools -> Export Signed Application Package...

浅谈Android签名和反编译

  接下来,会弹出一个界面,只需要对照着填写你项目的信息即可,第一次会要求输入密码,创建一个文件,然后都填写完毕之后选择好路径会创建一个新的签过名的APK文件,用这个去google market上提交或者去其他市场提交就可以了,以后只要你电脑有那个文件就可以直接选中,不用再次输入项目信息,创建密码等琐碎事情。

  方法2:

  网上去下载一个Apktool工具,有人已经把他做成一个图形化界面的工具,使用更方便了。下载后解压缩如下:

浅谈Android签名和反编译

  打开APKSign.exe,界面如下:

浅谈Android签名和反编译

  界面是中文的,大家应该都知道该怎么使用了,不解释了哦!

  OK,这样签名过的APK就创建好了。我们下面来看看如何反编译APK

  首先需要到谷歌上下载dex2jar-0.0.9.7,这个版本是目前最新版,然后解压缩,到CMD里执行命令,具体如下

浅谈Android签名和反编译

  在dex2jar-0.0.9.7这个目录下面会新建一个classes_dex2jar.jar文件,然后我们通过jd-gui.exe工具就可以查看

  打开jd-gui,然后选择刚才反编译的jar文件,打开后的界面如下

浅谈Android签名和反编译

  右边就是我们熟悉的源代码,如果这个apk被混淆过了,那么我们就不太容易阅读了。

  顺便这里提到了混淆,其实很简单,混淆只需要在project.properties文件里面加上这句即可:proguard.config=proguard.cfg

  好了这里先写到这里,很水,很水。高手们请无视!

本文中所提到的工具都在以下的工具包里。
附件下载:

 

阅读(1033) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~