创建不可逆向工程的 Java 程序 [英] Creating non-reverse-engineerable Java programs

查看:14
本文介绍了创建不可逆向工程的 Java 程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法以不可逆向工程的格式部署 Java 程序?

Is there a way to deploy a Java program in a format that is not reverse-engineerable?

我知道如何将我的应用程序转换为可执行的 JAR 文件,但我想确保代码不能被逆向工程,或者至少不容易.

I know how to convert my application into an executable JAR file, but I want to make sure that the code cannot be reverse engineered, or at least, not easily.

对源代码的混淆不算数......它会使代码更难理解,但不会隐藏它.

Obfuscation of the source code doesn't count... it makes it harder to understand the code, but does not hide it.

一个相关的问题是如何锁定编译防止反编译的Java类?

A related question is How to lock compiled Java classes to prevent decompilation?

完成程序后,我仍然可以访问原始源,因此维护应用程序不会成为问题.如果应用程序是分布式的,我不希望任何用户能够反编译它.混淆无法实现这一点,因为用户仍然可以反编译它,虽然他们在遵循操作流程时会遇到困难,但他们将能够看到代码,并有可能从中获取信息.

Once I've completed the program, I would still have access to the original source, so maintaining the application would not be the problem. If the application is distributed, I would not want any of the users to be able to decompile it. Obfuscation does not achieve this as the users would still be able to decompile it, and while they would have difficulty following the action flows, they would be able to see the code, and potentially take information out of it.

我担心的是代码中是否有任何与远程访问相关的信息.应用程序使用用户提供的用户 ID 和密码连接到一个主机.如果该地址位于源代码中,有没有办法对用户隐藏主机地址?

What I'm concerned about is if there is any information in the code relating to remote access. There is a host to which the application connects using a user-id and password provided by the user. Is there a way to hide the host's address from the user, if that address is located inside the source code?

推荐答案

您可以使用 YGuard.它不会混淆你的源代码,而是编译后的类,所以以后维护代码没有问题.

You could obfuscate your JAR file with YGuard. It doesn't obfuscate your source code, but the compiled classes, so there is no problem about maintaining the code later.

如果您想隐藏某些字符串,您可以对其进行加密,从而更难通过查看源代码来获取它(如果您对 JAR 文件进行混淆处理会更好).

If you want to hide some string, you could encrypt it, making it harder to get it through looking at the source code (it is even better if you obfuscate the JAR file).

这篇关于创建不可逆向工程的 Java 程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆