我有一个基于 Java 的 TCP 客户端,它与我们的生产服务器通信,我正在重写它。客户端对服务器的 IP 和端口进行硬编码。我想要做的就是将客户端中的 IP 地址更改为 127.0.0.1 & 我可以在我的开发盒上使用相同的端口号。问题是,我没有所有源代码,所以我不能重新编译它。写它的人已经在这里工作了大约四年,虽然我有他的硬盘,但我一直无法找到编译好的环回客户端(即使我找到了它的部分源代码),甚至找不到所有的生产客户端的源代码。我怀疑他在网络驱动器上编写了代码,但这些年来它已经丢失了。
有什么方法可以让我反编译客户端并重新编译该更改吗?十六进制或二进制编辑(我都没有技能,我刚刚看到它完成了)?也许是 WinRAR,因为我的理解是 .jar 文件只是压缩文件?或者,是否有某种方法可以捕获来自客户端的传出 TCP 流量并将其重新路由到我的开发盒?我无法关闭生产服务器进行测试,并且如果没有修改的客户端,就很难确保我正在模拟生产服务器对客户端的响应。
我发现这篇文章:从 jar 反编译并重新编译单个文件 https://stackoverflow.com/questions/9583370/decompile-recompile-single-file-from-jar,但是我不明白反汇编和反编译之间的区别,但我找到了那里提到的实用程序JD。
你找到的java反编译器(http://java.decompiler.free.fr/ http://java.decompiler.free.fr/)将获取编译后的 jar 文件并创建 java 源文件。然后,您必须编辑源文件以进行所需的更改并重新编译。
我建议通过命令行配置主机和端口,以避免再次出现此问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)