バイナリがUPXで圧縮されているかどうかを検出する方法を理解しようとしています。私は単純なCRCを使用して私のアプリが何らかの形で変わったかどうかを検出しています。パッカーのためにCRCがサイズ上で失敗した場合は、それをOKとして検出したいと思います。プログラムでUPXを検出する
今はUPXから始まっています。
したがって、バイナリにはマーカーがありますか?特定のJMPやその他の指示を検索する必要がありますか?
これは主にWindowsでテストされますが、将来はLinuxにも追加される可能性があります。
助け(とコード)をいただければ幸いです。
追加されました:
私は10個のバイナリに私はUPXまたはそれはUPXで設定されたオフセットを持っている
AddressOfEntryPoint
Import Directory RVA
Resouce Directory RVA
のいずれかのポイントをチェックしていることが分かりました。これに関する情報は? UPX Homepageから
おかげ
UPX unpackerのソースコードを見てみると、UPX検出のアルゴリズムがそこにあるはずです。 – Machinarius
すでにやっています。 –