博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android反编译与防止反编译
阅读量:4981 次
发布时间:2019-06-12

本文共 970 字,大约阅读时间需要 3 分钟。

【eoe首届Android达人训练营】开营啦!
Android中Menu的界面显示
android 365手机秘书源代码
 
1、Android反编译
1)下载两个工具 dex2jar,jar2java
2)修改apk后缀为.zip,解压得classes.dex
3)用dex2jar.bat打开classes.dex得到classes.dex.dex2jar.jar
4)用jar2java打开上面得到的jar包即得Java文件

 

2、Android防止反编译
这里介绍的Android反编译工具是ProGuard。
ProGuard是一个SourceForge上非常知名的开源项目。官网网址是:http://proguard.sourceforge.net/
Java的字节码一般是非常容易反编译的。为了很好的保护Java源代码,我们往往会对编译好的class文件进行混淆处理。
ProGuard的主要作用就是混淆。当然它还能对字节码进行缩减体积、优化等。
Android Eclipse开发环境与ProGuard在Android 2.3以前,混淆Android代码只能手动添加proguard来实现代码混淆,非常不方便。而2.3以后,Google已经将这个工具加入到了SDK的工具集里。具体路径:SDK oolsproguard。
当创建一个新的Android工程时,在工程目录的根路径下,会出现一个proguard的配置文件proguard-project.txt。我们可以通过简单的配置,在elipse工程中直接使用ProGuard混淆Android工程。
使用方法:
1)打开project.properties
2)找到这句话
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
把前面的"#"去掉
3)Android tools --> Export Application Package

 

3、对比

未使用Proguard,反编译的结果

 

 
使用Proguard后,反编译的结果
 

 

转载于:https://www.cnblogs.com/vus520/archive/2012/09/21/2696748.html

你可能感兴趣的文章
SQL Server 大数据量插入和索引关系
查看>>
无旋Treap - BZOJ1014火星人 & 可持久化版文艺平衡树
查看>>
【微信小游戏实战】零基础制作《欢乐停车场》一、游戏设计
查看>>
【uoj#315/bzoj4943】[NOI2017]蚯蚓排队 Hash
查看>>
Docker容器部署tomcat出现中文乱码
查看>>
vue项目安装
查看>>
Validtion
查看>>
C++的发展方向是对的嘛?
查看>>
一个程序员的爱情宣言--程序员的情书
查看>>
yui问题
查看>>
c++ STL stack容器成员函数
查看>>
idea maven install 卡住,无报错排查。
查看>>
AFNetworking 3.0迁移指南
查看>>
mysql 内置功能 存储过程 创建有参存储过程
查看>>
bash变量常用技巧
查看>>
Git reflog
查看>>
BZOJ5340: [Ctsc2018]假面【概率+期望】【思维】
查看>>
leetcode341 - Flatten Nested List Iterator - medium
查看>>
php-session的使用(学习笔记,仅供参考)
查看>>
深入理解JavaScript系列(19):求值策略(Evaluation strategy)
查看>>