はじめに この記事はシスコ同志によるAdvent Calendarの25日目として投稿しています。 幸いタイトルのような無茶振りには遭ったことはありませんが、シスコではJavaバイトコードを操作する技術を使った監視製品を開発しているので、その技術について本記事でサンプルを交えて紹介します。 この記事を読んで出来ること おわかりでしょうか?HelloWorldはAliceに対して挨拶するプログラムだったのに、-javaagent:agent.jarというオプションを付けて実行すると、Malloryに挨拶するプログラムに変わってしまいました。 このカラクリはJVMが読み込んだJavaバイトコードを実行時に書きかえ、変数の値をAliceからMalloryに変えています。HelloWorldのソースコードも、コンパイル後の.classファイルも変えていないにも関わらず、実行時に処理を変更できてしま