jvm-Java怎么防止反编译?求教

问题描述

Java怎么防止反编译?求教

众所周知,Java反编译十分容易,但如何防止反编译呢?如果反编译了,还有什么安全可言呢?

解决方案

代码混淆,核心代码放服务器

解决方案二:

代码混淆是对生成的class目标文件混淆,混淆可以加大反编译和阅读反编译后代码的难度。你的原始源代码不受影响。

解决方案三:

代码混淆+加固。混淆时将map保留,后续分析异常需要

解决方案四:

1.proguard,已经下载好,与该文件同目录下。版本为4.7。其原理就是将jar中的包名、类名、属性名、方法名还有代码重新命名、编写一遍,
2.尽量下载最新的proguard,否则混淆代码时可能会报与你的jdk版本不兼容的错误(我使用的是1.7)
3.解压proguard,执行 bin目录下的proguardgui.bat。
? ? 4.运行,点击左边“input/output” 菜单,......
答案就在这里:java防止反编译

时间: 2024-11-03 09:13:44

jvm-Java怎么防止反编译?求教的相关文章

谈谈JAVA程序的反编译

编译|程序   谈谈JAVA程序的反编译  如今JAVA语言在全世界范围正如火如荼般的流行,它广范地应用在INTERNET的数据库.多媒体.CGI.及动态网页的制作方面.1999年在美国对JAVA程序员的需求量首次超过C++! 最近分析一些JAVA程序,对JAVA的反编译进行了一番了解,下面将我所了解的情况作以下介绍,希望对JAVA爱好者有所帮助. JAVA是采用一种称做"字节编码"的程序结构,分为小程序(嵌入到HTML文件中)和应用程序(直接在命令状态下执行)两种类型.无论哪种结构,

java代码-利用反编译工具出现的问题

问题描述 利用反编译工具出现的问题 我用反编译工具将.class文件编译成.java文件后,用cmd再次编译.java文件总是会出现找不到符号的问题,不知道如何解决,请教各位大神帮我解决一下.

如何保护Java程序 防止Java反编译

Java是一种跨平台的.解释型语言.Java 源代码编译中间"字节码"存储于class文件中.Class文件是一种字节码形式的中间代码,该字节码中包括了很多源代码的信息,例如变量名.方法名等.因此,Java中间代码的反编译就变得非常容易.目前市场上有许多免费的.商用的反编译软件,都能够生成高质量的反编译后的源代码.所以,对开发人员来说,如何保护Java程序就变成了一个非常重要的挑战.本文首先讨论了保护Java程序的基本方法,然后对代码混淆问题进行深入研究,最后结合一个实际的应用程序,分

android ndk-android反编译怎么获得java文件?

问题描述 android反编译怎么获得java文件? 反编译之后出现的src文件为空,有个smali文件,怎么从这个获得java文件呢?反编译的是flappy bird,有人有工程文件吗? 解决方案 找到Android软件安装包中的class.dex:把apk文件改名为.zip,然后解压缩其中的class.dex文件,它就是java文件编译再通过dx工具打包成的. 工具准备:1.把dex文件反编译为jar文件的工具.(dex2jar)http://code.google.com/p/dex2ja

java 反编译软件 推荐

(1)jd-gui (2)小颖java 反编译 本人试过jd-gui ,反编译还不错,但是碰到匿名内部类会出错. 小颖反编译 同事使用过,说还不错. 下面是收集于网上 今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其是像.NET.Java这样的运行在虚拟机上的编程语言,更容易进行反编译得到源代码.当然,也有一些商业软件,对其程序进行了混淆加密,这样我们就很难用工具反编译了. 1.

7 款开源 Java 反编译工具

今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其是像.NET.Java这样的运行在虚拟机上的编程语言,更容易进行反编译得到源代码.当然,也有一些商业软件,对其程序进行了混淆加密,这样我们就很难用工具反编译了. 1.Java反编译插件 -- Jadclipse JadClipse是Jad的Eclipse插件,是一款非常实用而且方便地Java反编译插件,我们只需将下载的插件包复制到e

7款开源Java反编译工具

本文是码农网原创整理,转载请看清文末的转载要求,谢谢合作! 今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其是像.NET.Java这样的运行在虚拟机上的编程语言,更容易进行反编译得到源代码.当然,也有一些商业软件,对其程序进行了混淆加密,这样我们就很难用工具反编译了. 1.Java反编译插件 -- Jadclipse JadClipse是Jad的Eclipse插件,是一款非常实用

分享7款开源Java反编译工具_java

今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其是像.NET.Java这样的运行在虚拟机上的编程语言,更容易进行反编译得到源代码.当然,也有一些商业软件,对其程序进行了混淆加密,这样我们就很难用工具反编译了. 1.Java反编译插件 -- Jadclipse JadClipse是Jad的Eclipse插件,是一款非常实用而且方便地Java反编译插件,我们只需将下载的插件包复制到e

Java程序的反加密

首先我们来看看Java程序的反加密,也就是通常所说的Crack过程,只有明白了这个过程,我们才能有效的对我们的程序进行加密. 通常我们得到的Java程序的Crack包有两种,一种属于KeyGen(注册码生成器).一种属于替换修改: 我们先看第一种,当我们找到一个应用程序的KeyGen的时候我们总是很佩服那个做出KeyGen的人,觉得他很厉害,但是你仔细分析一下,为什么他能做出KeyGen呢?只有 他对这个Java程序的加密算法了解的非常清楚:这种人有哪些呢?一个是那个公司里面的人,那不可能,除非