android代码混淆

转自:http://www.cnblogs.com/classic/archive/2011/04/27/2030234.html

一、apk文件反编译

1、得到 classes.dex文件;直接用你机器上的  解压软件 打开 .apk 文件

  解压出 classes.dex 文件,(这个就是 .jar 的前生--- 其实应该说 后世)

  win rar

2、还原.jar文件;这一步需要用到一个工具 dex2jar (谷歌的代码库里有 http://code.google.com/p/dex2jar/

  看名字也不难知道他是干嘛的了吧?(没错,就是 把 dex 还原 成  jar包 )

  下载完了,解压,然后把第一步的 产物(即那个classes.dex文件)放到 dex2jar的解压目录里

  (解压目录里 有 dex2jar.bat 文件,检查一下,没有的话 说明目录不对、再 找找)

  dex2jar

  cmd 命令行 ,目录切换到 dex2jar的目录下(linux 系统的话 执行那个 .sh文件)

  “ dex2jar.bat classes.dex”

  看到命令行  的 “Done” 之后, dex2jar 文件夹里 就会有“classes.dex.dex2jar.jar” 文件了,

  这个就是 传说中的 jar包了

  done

3、查看.jar文件;这一步就是传统的 反编译 了,需要工具辅助,我这里用到的工具是jd-gui(http://java.decompiler.free.fr/?q=jdgui

  下载你的系统对应的版本,解压,(我xp系统)你会看到一个 .exe文件,没错就是 单文件绿色版

  双击,选择 第二步 生成的 .jar。


二、防止以上方法暴露代码,代码混淆

android sdk \ tools 目录下 看到 proguard 了没?

androidtools

新建一个 2.3.3的项目,你会看到 项目 文件里 有一个 proguard.cfg 文件。

好吧,伟大的 google 已经帮我们做了这么多事儿了,可惜是从2.3开始的。

基于2.1的sdk(即使项目属性设置为 2.3,google 也不会为你把 proguard.cfg文件补上的)

只要 把 proguard.cfg 文件 拷贝到旧项目里就好了,

当然这样还不够,因为 google是默认不混淆项目的

To enable ProGuard so that it runs as part of an Ant or Eclipse build, 

set the proguard.config property in the <project_root>/default.properties file. 

The path can be an absolute path or a path relative to the project's root.  

google 告诉我们 还要 配置 default.properties 

把 proguard.config=proguard.cfg 加上

好了,再次生成 新的  .apk文件,




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值