3

タイトルが最もわかりやすい言い方かどうかはわかりませんが、私が考えうる限りの説明です。

とにかく、質問に。バイトコードの類似点を見つける方法を知りたいです。これが意味することは、(少なくとも私にとっては) 適切に説明するのがかなり難しいので、代わりに例を挙げます。

私はaba.classとnhf.classを持っています。これらのクラスは、私が作成したゲームの難読化されたクラスです。私はこのゲームの修正版を提供していますが、いくつかの場所でいくつかの小さなコード変更を加えただけですが、ゲームは販売されているため、新しい更新があるたびに再難読化されます. クラスのバイトコードがどの程度類似しているかを確認することで、再難読化でどのクラスが何に変更されたかを判断できるようにしたいと考えています。これが可能であることは知っていますが、これを行う方法を確認する方法がわかりません。

ライブラリ、プログラム、またはバイトコードを解析して類似性を確認できるものはありますか?それとも自分で作成する必要がありますか? 自分で書かなければならない場合は、誰かが私を正しい方向に向けてくれることを感謝します(または、役立つかもしれないものにリンクしてください)。

また、それが明らかでない場合に備えて、手動ではなくコードでこれを行うことを検討しています。

4

1 に答える 1

0

もっと簡単な解決策があります:

使用している難読化ツール (おそらく Proguard) はわかりませんが、難読化されたクラス名を難読化されていないクラス名にマップするマップを生成する可能性があります。(そうでない場合は、そのようなマップを生成する Produard に切り替えることができます。)

そのため、バージョンのマップがあれば、難読化されたクラス名を元のクラス名に変換できます (逆も同様)。

したがって、元のクラス名を一致させることで、これら 2 つのマップからそのようなマップを作成できます。

于 2013-12-14T14:55:24.347 に答える