実稼働サーバーと通信するJavaベースのTCPクライアントがあり、これを書き直しています。クライアントには、サーバーのIPとポートがハードコーディングされています。私がやりたいのは、クライアントのIPアドレスだけを127.0.0.1に変更することです。これで、開発ボックスで同じポート番号を使用できます。これがこすりです、私はすべてのソースコードを持っていないので、それを単に再コンパイルすることはできません。それを書いた人はここで約4年間働いていません、そして私が彼のハードドライブを持っている間、私はコンパイルされたループバッククライアントを見つけることができませんでした(私はそれの部分的なソースコードを見つけましたが)またはすべて本番クライアントのソースコード。彼が自分のコードをネットワークドライブに書き込んだのではないかと思いますが、その間に失われました。
クライアントを逆コンパイルし、その変更で再コンパイルする方法はありますか?16進数またはバイナリ編集(私はどちらもスキルがありません、私はそれが行われたのを見たばかりです)?私の理解では、.jarファイルは単なるzipファイルであると理解しているので、おそらくWinRARですか?または、クライアントからの発信TCPトラフィックをトラップして、開発ボックスに再ルーティングする方法はありますか?テストのために本番サーバーを停止することはできません。クライアントを変更しないと、クライアントへの本番サーバーの応答をエミュレートしていることを確認するのが困難になります。
私はこのSOの記事を見つけました:jarから単一のファイルを逆コンパイルして再コンパイルしますが、逆アセンブルと逆コンパイルの違いはわかりませんが、そこで言及されているユーティリティJDを見つけました。