Eli*_*lie 4 java compilation jar
有没有办法以不可反向工作的格式部署Java程序?
我知道如何将我的应用程序转换为可执行的JAR文件,但我想确保代码不能进行逆向工程,或者至少不容易.
源代码的混淆不计算......它使得理解代码变得更加困难,但不会隐藏它.
一个相关的问题是如何锁定已编译的Java类以防止反编译?
一旦我完成了程序,我仍然可以访问原始源代码,因此维护应用程序不会成为问题.如果应用程序是分发的,我不希望任何用户能够反编译它.混淆不能实现这一点,因为用户仍然可以对其进行反编译,虽然他们很难跟踪操作流程,但他们将能够看到代码,并可能从中获取信息.
我关心的是代码中是否有与远程访问相关的信息.应用程序使用用户提供的用户标识和密码连接主机.有没有办法从用户隐藏主机的地址,如果该地址位于源代码内?
giz*_*zmo 15
简短的回答是"不,它不存在".
逆向工程是一个并不意味着完全依赖代码的过程.它基本上试图理解底层机制,然后模仿它们.例如,通过复制Netscape的JavaScript行为,无需访问代码即可从MS实验室中看到JScript.副本非常完美,即使是错误也被复制了.
你正在用一种内省的语言写作核心语言的一部分.它生成.class其规范广为人知的文件(从而使其他供应商能够生成Java编译器和解释器的洁净室实现).
这意味着有公开的反编译器.所需要的只是一些谷歌搜索,你有一些Java代码与你的相同.只是没有注释,一些变量名称(但函数名称保持不变).
实际上,无论如何,混淆是关于所有你能得到的(虽然反编译的代码已经被轻微混淆),而不是去C或其他一些完全编译的语言.
| 归档时间: |
|
| 查看次数: |
7816 次 |
| 最近记录: |