- 浏览: 204751 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (54)
- java (17)
- hibernate (3)
- javascript (6)
- Ajax (1)
- 插件 (2)
- 数据库 (3)
- html+css+div (5)
- 其他程序 (3)
- 应用技术 (18)
- office (0)
- 小工具 (1)
- 加密解密 (3)
- mac (3)
- 翻译 (1)
- iphone objectc (5)
- iphone (4)
- android (12)
- 圆角 (1)
- layout (2)
- 加密 (1)
- proguard (2)
- Mac 应用技术 系统 工具 (2)
- Mac 应用技术 系统 工具,xcode4 (1)
- 安卓 (6)
- maven (3)
- 高德 (1)
- 地图 (1)
- lrzsz (1)
- rz (1)
- sz (1)
- 脚本 (1)
- linux (1)
- Android Gradle (1)
- Spark (1)
- mongodb (1)
最新评论
-
Jumper_Wu:
想请教个问题:so文件从maven库中拉到AndroidStu ...
在maven android 工程中使用高德地图 -
cuiqi4016:
可不可以把把html模版作为一个单独的文件引入进来,handl ...
Handlebars 的使用 -
lywangbadan:
Handlebars 的使用 -
lituo20:
不错的,以前接触过一点,看了一下,恍然大悟,好像一下子懂了
Handlebars 的使用 -
zhangyaochun:
其实就是模板化,这是以前就开始推崇的面向数据编程的一个方式。比 ...
Handlebars 的使用
大家都知道,java 代码很容易被反编译,同样android 也是如此,android中引入了proguard 代码混淆。下面就说下怎么样在android中加入代码混淆。
Note:开发环境是Mac 系统。采用maven 开发
在pom 中加入:
注意红色部分,代码混淆要用到rt.jar 和jsse.jar 这两个jar包。但在mac 中没有这个rt.jar . 运行时候回报错,说没有这个jar。原来rt.jar 已经被包含在了classes.jar 里面了, 所以 我们就 做一个连接连过去。
Note: 也许路径会有所不同。
再次运行,刷新工程,就可以在target 文件夹下多了几个文件,progard_map.txt proguard_seeds.txt ... ok ,代码已经被混淆了,这样被反编译的可能性就降低了。
开始时最好不要把混淆打开,因为混淆会,如果代码报错,是定位不到代码行的,显示的事混淆以后的代码,都是小字母了
如果有更好的方式,或者不对的地方,请多指正!
Note:开发环境是Mac 系统。采用maven 开发
在pom 中加入:
<pluginManagement> <plugins> <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. --> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <version>1.0.0</version> <configuration> <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> <pluginExecutionFilter> <groupId> com.jayway.maven.plugins.android.generation2 </groupId> <artifactId> android-maven-plugin </artifactId> <versionRange> [3.1.1,) </versionRange> <goals> <goal>package</goal> <goal>proguard</goal> <goal>update-version</goal> </goals> </pluginExecutionFilter> <action> <ignore></ignore> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <configuration> <artifacts> <artifact> <file>${project.build.directory}/${project.artifactId}-signed-aligned.apk</file> <type>apk</type> <classifier>signed-aligned</classifier> </artifact> <artifact> <file>${project.build.directory}/proguard/mapping.txt</file> <type>map</type> <classifier>release</classifier> </artifact> </artifacts> </configuration> <executions> <execution> <id>attach-signed-aligned</id> <phase>package</phase> <goals> <goal>attach-artifact</goal> </goals> </execution> <execution> <id>parse-version</id> <goals> <goal>parse-version</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>com.pyx4me</groupId> <artifactId>proguard-maven-plugin</artifactId> <version>2.0.4</version> <executions> <execution> <phase>package</phase> <goals> <goal>proguard</goal> </goals> </execution> </executions> <configuration> <obfuscate>true</obfuscate> <options> <option>@proguard.cfg</option> </options> <injar>${project.build.finalName}.jar</injar> <outjar>${project.build.finalName}-small.jar</outjar> <outputDirectory>${project.build.directory}</outputDirectory> <libs> <lib>${java.home}/lib/rt.jar</lib> <lib>${java.home}/lib/jsse.jar</lib> </libs> <addMavenDescriptor>false</addMavenDescriptor> </configuration> </plugin> </plugins> </pluginManagement> <plugins> ... <plugin> <groupId>com.pyx4me</groupId> <artifactId>proguard-maven-plugin</artifactId> </plugin> .... </plugins>
注意红色部分,代码混淆要用到rt.jar 和jsse.jar 这两个jar包。但在mac 中没有这个rt.jar . 运行时候回报错,说没有这个jar。原来rt.jar 已经被包含在了classes.jar 里面了, 所以 我们就 做一个连接连过去。
Note: 也许路径会有所不同。
sudo ln -s /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsse.jar /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/home/lib/jsse.jar sudo ln -s /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/rt.jar /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/home/lib/rt.jar
再次运行,刷新工程,就可以在target 文件夹下多了几个文件,progard_map.txt proguard_seeds.txt ... ok ,代码已经被混淆了,这样被反编译的可能性就降低了。
开始时最好不要把混淆打开,因为混淆会,如果代码报错,是定位不到代码行的,显示的事混淆以后的代码,都是小字母了
如果有更好的方式,或者不对的地方,请多指正!
发表评论
-
Spark 连接 MongoDB
2018-03-07 09:55 3307Spark 连接 Mongodb 官方地址:https://w ... -
解决android4.0系统中菜单(Menu)添加Icon无效问题
2016-02-16 16:23 965android actionbar menu 显示icon默认 ... -
ListView 中嵌套GridView listview item 不能点击问题
2015-03-12 23:28 2065在ListView的item中有GridView,抢占焦点的情 ... -
android 手机传感器
2014-02-18 14:31 1446List<Sensor> sensors = th ... -
android regex utils
2013-12-31 22:43 0public class RegexUtils { pub ... -
Proguard on MacOSX
2013-10-26 23:33 1180[proguard] Error: Can't read [/ ... -
仿iphone actionsheet
2013-09-11 18:03 2471public class ActionSheet implem ... -
android 自定义progressbar style
2013-09-05 11:22 2681<layer-list xmlns:android=&q ... -
android ADT 17 can not find aapt when build with maven
2013-05-20 23:37 2235更新android adt 版本17之后,程序不能build了 ... -
在maven android 工程中使用高德地图
2013-04-11 21:35 4443由于程序中使用地图,最终选择了高德地图。但是高德地图中需要使用 ... -
Struts 标签实现时间下来选择
2012-09-13 11:58 1310<select id="min" ... -
MapMarkerExample
2012-04-21 01:21 1303This example show you how to dr ... -
Web browser hacks, Css hacks - ie, firefox, chrome, safri, Opera
2013-04-11 21:35 1092CSS hacks take advantage of bro ... -
Handlebars 的使用
2012-03-31 01:12 33635web 开发中,js 解析JSON 是经常的事情。非常繁琐。h ... -
使用CSS实现间隔线|(竖线)
2012-04-13 16:40 2079是不是考虑用这个? <a href="#&qu ... -
android 程序 发布加密
2011-12-01 13:37 3223大家都知道,现在java程序很容易就让别人反编译,andori ... -
<转>android 圆角效果
2011-11-30 13:31 1625最近做一个效果,要一个上边两个角为圆角,下面两个角为直角的四边 ... -
Java 文本文件和二进制文件的读取(转)
2010-07-20 11:58 12781一,文本文件的读取 1,FileInputStream:按字 ... -
加密解密整理
2010-04-23 23:10 2146最近要做一个软件注册的功能,所以就研究了下加密解密。整理里一下 ... -
java(Web)中相对路径,绝对路径问题总结
2010-04-08 18:35 10641.基本概念的理解 绝对路径:绝对路径就是你的主页上的文 ...
相关推荐
如何混淆Android项目代码(ProGuard)防止反编译.rar
新写的proguard代码混淆的文档 大家可以看看
Android Java代码混淆工具:ProGuard简介及使用.docx
其中包括第三方jar混淆报错及解决办法,以及普通的代码混淆办法,相信能给你帮助
它可以混淆Android项目里面的java代码,对的,你没看错,仅仅是java代码。它是无法混淆Native代码,资源文件drawable、xml等。 ProGuard作用 压缩: 移除无效的类、属性、方法等 优化: 优化字节码,并删除未使用的...
Android 2_3 代码混淆proguard技术介绍 - Zy的技术心
拆分Proguard 简书 blog
Android proguard4.5.1 代码混淆
为了保护我们的JAVA/Android代码,我们常使用proguard对代码进行混淆(http://proguard.sourceforge.net/)。 默认情况下,proguard混淆时将类/变量/方法重命名为a,b,c,...的格式。 我们可以通过配置-...
为了很好的保护Java源代码,我们往往会对编译好的class文件进行混淆处理。ProGuard的主要作用就是混淆。当然它还能对字节码进行缩减体积、优化等,但那些对于我们来说都算是次要的功能。 引用ProGuard官方的一段话...
解决android中混淆代码签名导出报错的proguard.cfg 第三方jar包,可类似 -libraryjars libs/android-support-v4.jar 添加在文件中
android proGuard,防止你辛苦写出来的代码被轻易的反编译,你,值得拥有
看了好多博客论坛对proguard混淆android/java代码的介绍,自己用起来总出错。现总结具体用法步骤,并亲测无误,其中不乏参考之处还请见谅!
proguard最新版本7.3.0,避免从github下载过慢问题。 持续更新的java代码混淆工具,java代码加密工具; 开源android代码混淆工具
本应用是基于开源项目SwiFTP的一款轻量级FTP服务器,如果想了解更多,欢迎访问我的博客主页:http://blog.csdn.net/way_ping_li ,由于时间仓促,错误与疏忽之处在所难免,希望各位朋友们以邮件的形式反馈问题给我,再次...
android java代码混淆器·点击bin目录下的proguardgui.bat进行使用·
2,如果您有使用proguard来混淆Java代码,需要添加以下规则: -dontwarn com.unity3d.** -keep class com.android.client.** { ; } -keep class android.support.** { *; } -keep class com.android.async.** { ...
Java字节码的开源优化器 ProGuard是最受欢迎的Java字节码优化...ProGuard代码本身受版权保护,并根据GNU通用公共许可证(GPL)第2版的条款进行分发。用户手册也受版权保护,只能以原始形式与未修改的代码一起重新分发。
因为Java代码是非常容易反编码的,况且Android开发的应用程序是用Java代码写的,为了很好的保护Java源代码,我们需要对编译好后的class文件进行混淆。 ProGuard是一个混淆代码的开源项目,它的主要作用是混淆代码,...
AndResGuard是用于减少apk大小的工具,它的作用类似于ProGuard for Java源代码,但仅针对资源文件。 它将res/drawable/wechat为r/d/a ,并将资源文件wechat.png重命名为a.png 。 最后,它用7zip重新打包了apk,这...