2009-07-08 7 views
2

私はソースコードを持っていないJavaアプリケーションの逆コンパイルを試みましたが、奇妙なことが現れました。クラスのコンストラクタの上部には、これはデコンパイルされたJavaの

this = this 

この(ないこの)は何を意味していると言うラインはありますか?これはデコンパイルプロセスのアーティファクトですか?それともちょっと醜いハックですか? これはに割り当てられますか?その場合、何がありますか

this = null 

+1

どのdecompilerが正式なJavaではないかと言うと便利かもしれません。また、javap -cは実際のバイトコードを提供します。 –

+1

(外部インスタンスを設定する内部クラスですか?) –

+5

逆コンパイルを防ぐためにバイトコードが難読化される可能性があります。 Javaのキーワードのような不正な変数名を使用すると便利です。 –

答えて

4

thisが最終です。あなたは間違いなくそれを割り当てることはできません。私はこれが逆アセンブラアーティファクトだと思います。

内部クラス(外側のクラスへのポインタはthis)を持つ可能性がありますが、書き込まれた行は有効なJavaではありません。

関連する問題