
正文
逆向java混淆代码,java反混淆工具
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
为什么这么多商业Android开发者不混淆代码
1、不混淆Activity 的类是因为这个在manifest中声明了,如果混淆了就找不到了。
2、常见的不能混淆的AndroidCodeAndroid 程序 ,下面这样代码混淆的时候要注意保留。Android系统组件,系统组件有固定的方法被系统调用。被Android Resource 文件引用到的。名字已经固定,也不能混淆,比如自定义的View 。
3、缺省情况下,proguard会混淆所有代码,但是下面几种情况是不能改变java元素的名称,否则就会导致程序出错。
4、特定类的public函数不做实际的事情,只做简单处理后调用private函数。proguard对会对一些特定类的public函数不做混淆,以便被AndroidManifest.xml和各种layout引用。
5、代码混淆有两种重要功能。其一,混淆代码。其二,优化代码。进行代码混淆的程序被称为代码混淆器(混淆工具)。进行代码混淆的意义主要在于对代码进行一定程度的加密。
6、代码混淆并不是所有的东西都会混淆,activity这种会被外部调用的就不会被混淆。具体的可以看下android代码混淆的规则。
相关问答
Q1: proguard怎么混淆springmvc框架的java类
1、(1)、从网上download proguard工具,proguard工具主要包含是几个jar文件和一些example,下载地址http://proguard.sourceforge.net/ (2)、将里面的几个jar文件添加到类路径下面。
2、java web项目混淆 proguard8工具,说是支持war的,可混淆过后少了classes目录了,自然成功不了。
3、SpringMVC应用 springmvc是一个表现层的框架 经典三层架构:表现层, service层, dao层。Spring MVC和Struts2一样,都是 为了解决表现层问题 的web框架,它们都是基于 MVC 设计模 式的。
4、此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。
Q2: 如何防止代码被反编译
将程序转换成本地代码也是一种防止反编译的有效方法。因为本地代码往往难以被反编译。开发人员可以选择将整个应用程序转换成本地代码,也可以选择关键模块转换。
关键代码使用jni调用本地代码,用c或者c++编写,因此相对比较难于反编译 2 混淆java代码。混淆是不改变代码逻辑的情况下,增加无用代码,或者重命名,使反编译后的源代码难于看懂。
针对代码反编译,推荐使用CBS赛博锁,通过把安全容器内嵌到操作系统中,对容器内的应用和数据进行加锁,程序和数据在容器内运行,实现最后一米数据安全,防止核心数据被泄露,防止服务器终端中病毒,防止反编译,反破解。
我使用的方法是利用加壳工具:virbox Protector Standalone。直接进行加壳。高级混淆、虚拟化代码、智能压缩等加密策略。如果要授权控制,可使用许可版本的virbox Protector。
为防止这类反向工程的威胁,最有效的办法是模糊。模糊工具运用各种手段达到这一目标,但主要的途径是让变量名字不再具有指示其作用的能力、加密字符串和文字、插入各种欺骗指令使反编译得到的代码不可再编译。
Q3: 如何混淆Java编译后的类或jar,或将jar编译成exe,使人无法反编译获得源代...
1、还有种方法就是混淆代码,加密class和高级加密class,方式比较复杂,可以自行百度。
2、RetroGuard 是针对 jar 文件做混淆的。使用之前需要先配置一下。可以手工编辑配置文件,更好的方法是使用 RetroGuard 提供的 GUI 工具来生成配置文件。
3、代码编译成class文件代码打成jar包混淆jar包用jar包生成classes.dexresources.ap_生成apk以及签名只不过工具帮我们一次性全做了,如果你要写批处理来做,就要按上面的步骤来做了。
4、无法防止。.class文件的标准是公开的,无法防止别人反编译你的代码。你顶多可以用代码扰乱工具扰乱你的代码,这样反编译的代码就难以阅读。比如可以试试用proguard来扰乱(“加密”)和反扰乱(“解密”)你的代码。
5、很久前做过一个项目,用很复杂的算法加密 class文件,然后在虚拟机载入前调用解密程序。用的是 jvmti。这样可以防止class loader被反编译导致加解密算法泄漏,应该算比较好的一种解决方案了。
关于逆向java混淆代码和java反混淆工具的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








