これはばかげた質問のように聞こえるかもしれませんが、私はこれを実行している実用的な製品を持っているので、質問する必要があります。実行中のアプレットの内部へのアクセス
私はブラウザ内でアプレットを実行しています。このアプレットは、単なるアプレットではなく、CRM/ERP用のかなり複雑なパッケージアプリケーションです。私はベンダーの会社から、ユーザーがアプレット内で何をしているのかを、実行前にランタイムにアプレットのメインクラスを置き換えて監視できることを伝えました。使用される用語は「支持する」ものであった。
私は今はちがう。何らかの方法でハックすることができたとしても、アプレットの中をどのように見て、ユーザーのクリックやキーボードイベントを聞くことができますか?これは本当の話です。私はこのベンダーのアプリケーションを見て、バックグラウンドにいて、すべてのコンテキスト情報を記録しているからです(たとえば、ユーザーがアプレット内のテキストボックス、テキストボックスの名前、等)。
これは、クラスローディングレベルのハック(私はこれに尋ねると感じます)か、私がJavaの中で出会ったことのない何かが、このような「都市の伝説的な」ことをさせるでしょうか?
私はこれについて少し研究しました。 jax-ws、jaxpなどの標準のjdkライブラリをオーバーライドするために、標準の承認されたライブラリの独自の実装を記述し、jorsのendorsed libフォルダに配置できるようです。さて、私の質問の文脈では、アプレットの中で何が起こっているのかを観察するために標準的な裏書きライブラリがどのように使われるのか理解できません。たとえば、すべてのネットワークメッセージを記録するために私自身のjax-wsを書くとしましょう。これはERPがHTTPではなくSOAPで暗号化とカスタムプロトコルを使用するため、私を助けません。 – Jay
スイングライブラリを置き換えるだけの場合はどうなりますか?ジュールに – tak3shi
?あなたはJavaコードベースを取得し、独自のコードを書いて、再コンパイルしてjreを置き換えるのが好きですか? - 私はそれがロングショットだと思う。もっともらしいですが、その仕事の大きさを考えると、私は彼らがそうしているとは思わないのです。 – Jay