Tag: 混淆

JavaFX:在服务器端放置敏感的代码和计算

我正在尝试保护我的JavaFX代码,而不是ProGuard。 我知道用户拥有的任何代码都是合理的游戏。 这意味着我需要将所有敏感业务逻辑移动到可以自信保护的服务器上。 由于我有限的服务器端经验,我正在寻找如何开发客户端 – 服务器连接的解释/示例,以便它安全且合理地快速。 我的主要困惑是客户端代码中需要什么,例如服务器初始化和get / put请求(?),以及我放在服务器上的文件或代码(以及在哪里)。 我已经从相关答案中链接了以下3个引用,以提供一些背景知识。 这些post分别在这里 , 这里和这里找到 。 第一个说: 我们通过在服务器端进行部分计算来“保护”我们的软件:我们有几个.class,除非它们是从服务器端生成的,然后我们将它们发送到网络上(以及发送的内容),它们将无法工作电线总是不同的:我们在服务器端生成唯一的,一次性的.class文件。 这表明在服务器端生成整个类文件。 我想在服务器上完全拥有的一些类,但许多类文件只包含敏感且需要基于服务器的方法。 第二个链接指出: 将服务的最关键部分移出应用程序,并移入Web服务,隐藏在PHP等服务器端语言之后。 移动算法并让它处理远程服务器上的数据,并使用该应用程序简单地为其提供数据。 这似乎更符合我的意图,但我很困惑如何执行这些“移动”和“处理”function。 我是否只是将敏感的方法/类调用替换为对服务器的get()请求,这是由任何基本服务器提供程序提供的SSL连接的背后? 你能找到一个相关的完整例子吗? 第三个引用: 设置响应应用程序请求的服务器,“使用”资产(无论可能意味着什么),然后将结果发送回应用程序。 再一次,如何在JavaFX上下文中“请求”,“使用”和“发送”整个方法/类的示例将非常好。 我愿意整天阅读,我只需要在这个初步步骤上获得指导,这样我就可以从正确的基础开始。

保护Java类文件不被提取时Jar2Exe如何工作

我想保护我的文件不被提取,我的代码被黑客攻击。 我在SO上看到了两个类似的问题 http://stackoverflow.com/questions/9633455/how-to-protect-a-jar-file-from-being-decompiled http://stackoverflow.com/questions/7622419/protect-jar-file-source-code-with-exe-file-java 但这些问题的答案最终都是使用ProGaurd 。 虽然ProGaurd本身表示它将尽力模糊代码并且不保证100%代码将保持安全。 但有些软件可以转换Jar2Exe @ http://www.jar2exe.com/ ,保证代码保持100%安全。 除了JarProtector @ http://www.bfa-it.com/?lang=en&id=products/jarprotector 如果有人保证我们的类文件将保持安全,那么这意味着肯定有一条出路,但他们将使用什么技术来保护我们的类文件。 我知道您只能猜测,但您最好猜测的是什么,以便在我们将Life-Efforted应用程序交给客户之前保护我们的应用程序?

ProGuard混淆,java,Google Gson和通用集合 – 如何保留成员?

我有一个这样的课: public class MyClass { private Queue myQueue; } 我的问题是我无法让ProGuard在使用Google Gson序列化到json之后保留myQueue。 会发的是会员名称“myQueue”被序列化为“a”。 显然,反序列化会破坏。 以下是我尝试过的一些ProGuard配置。 -keepclassmembers class com.my.package.MyClass { #private java.util.Queue myQueue; #private java.util.Queue myQueue; private java.* myQueue; } 同 private java.util.Queue myQueue; …… ProGuard抱怨说这堂课不详。 消息是: 注意:配置引用未知类java.util.Queue’ 运用 private java.* myQueue; ….摆脱ProGuard警告,但是,正如我所说,成员myQueue没有保存在json输出中。 它被序列化为“a”。 其余的相关ProGuard配置如下: -renamesourcefileattribute SourceFile -keepattributes SourceFile,LineNumberTable -keepattributes *Annotation* #gson -keepattributes Signature -adaptresourcefilenames **.properties,**.gif,**.jpg,**.png,**.wav -adaptresourcefilecontents […]

混淆了嵌入了其他Jar文件的Jar文件

因此,我们有一个带有Java应用程序的Jar文件,它里面有它所依赖的库的jar文件,jdbc或任何其他第三方jar。 你如何使用免费软件进行模糊处理? 我的意思是,混淆你的代码并保持Jars不变。 我试过Proguard ,但没有用。 即便是作者在sourceforge论坛告诉我也不可能。 但你可以手动完成一个丑陋的黑客攻击,将jar重命名为zip并用内部数据进行修改,那么,为什么软件无法做到呢?

如何模糊基于java的项目

我使用Netbeans作为IDE创建了一个基于Java的项目。 现在我想混淆我的项目。 如何才能做到这一点?

Java编译器自动重命名参数(混淆)

当我编译我正在编写的代码时,然后在JD Gui中查看,方法显示如下所示的标题: public void growSurface(Random paramRandom, int paramInt1, int paramInt2){ 我正在通过.bat文件进行编译。 有没有办法指定我不想混淆代码。

将源代码隐藏在.jar文件中

可以轻松提取.jar文件并查看源代码。 我想保护源代码不被看到。 一个可能的答案是密码保护文件,就像我们为zip文件做的那样。 但是,如果密码已知,则可以很容易地看到源代码。 有没有办法隐藏源代码,仍然可以运行? 类似于.exe在Windows中的function。 这应该在Windows和Linux环境中运行。

合法程序上的反病毒检测

基本上,我的程序与另一个jar文件一起运行。 以下是下载function的代码: public void saveUrl(final String filename, final String urlString) throws MalformedURLException, IOException { BufferedInputStream in = null; FileOutputStream fout = null; try { in = new BufferedInputStream(new URL(urlString).openStream()); fout = new FileOutputStream(filename); final byte data[] = new byte[1024]; int count; while ((count = in.read(data, 0, 1024)) != -1) { fout.write(data, 0, count); } } […]

ProGuard不会使JAR与依赖项混淆

我有一个项目与下面给出的pom.xml文件。 当我发出命令mvn clean compile assembly:single install我希望Maven生成一个JAR,其中包含 所有的依赖和 我的代码的混淆版本。 它不起作用 – 我的代码在“jar-with-dependencies”文件中没有被混淆。 当我运行mvn clean compile install ,生成的文件包含我的应用程序的模糊代码,但没有依赖项。 为了拥有包含所有依赖项和混淆代码的JAR文件,我该怎么办? 4.0.0 com.mycompany myproduct 1.0-SNAPSHOT jar 2.3.5 org.spongepowered spongeapi 3.0.0 provided junit junit 4.12 org.easytesting fest-assert-core 2.0M8 test org.mockito mockito-core 1.10.19 test org.restlet.jse org.restlet ${restlet-version} org.restlet.jse org.restlet.ext.jackson ${restlet-version} com.googlecode.json-simple json-simple 1.1.1 ${project.basedir}/src/main/resources true org.apache.maven.plugins maven-compiler-plugin 3.3 1.8 1.8 org.codehaus.mojo […]

将JVM字节码往返的文本表示和返回的故障安全方法

我正在寻找一种故障安全的方法来在JVM类文件和文本表示之间往返,然后再返回。 一个严格的要求是,只要文本表示保持不变,生成的往返JVM类文件在function上与原始JVM类文件完全等效。 此外,文本表示必须是人类可读和可编辑的。 应该可以对文本表示进行小的更改(例如更改文本字符串或类名等),这些更改会反映在生成的类文件表示中。 最简单的解决方案是使用Java反编译器(如JAD)生成文本表示,在这种情况下,它只是重新创建的Java源代码。 然后使用javac生成字节码。 但是,鉴于免费Java反编译器的状态,这种方法在所有情况下都不起作用。 创建混淆的字节代码相当容易,这些字节代码不能在完整的往返类文件/ java-source / class-file中存活(部分原因是因为JVM字节代码之间没有1:1的映射) Java源代码)。 根据上述要求,是否存在实现JVM类文件/文本表示/类文件往返的故障安全方法? 更新:在回答之前 – 通过阅读上述所有要求节省时间和精力,并具体说明: “JVM字节码的文本表示”并不一定意味着“Java源代码”。