
バイナリファイルで使用されているCPUアーキテクチャを判別します。
バイナリファイルで使用されているCPUアーキテクチャを特定します。 例:
$ cpu_rec_rs /bin/bash /usr/lib/firmware/rtlwifi/rtl8821aefw*
Loading corpus from cpu_rec_corpus/*.corpus
----------------------------------------------------------------------------------------
File | Range | Detected Architecture
----------------------------------------------------------------------------------------
/bin/bash | Whole file | X86-64
/usr/lib/firmware/rtlwifi/rtl8821aefw_29.bin | 0x3200-0x4400 | 8051
/usr/lib/firmware/rtlwifi/rtl8821aefw_29.bin | 0x4600-0x5000 | 8051
/usr/lib/firmware/rtlwifi/rtl8821aefw_29.bin | 0x6000-0x6600 | 8051
/usr/lib/firmware/rtlwifi/rtl8821aefw_29.bin | 0x6600-0x6c00 | 8051
/usr/lib/firmware/rtlwifi/rtl8821aefw.bin | Whole file | 8051
/usr/lib/firmware/rtlwifi/rtl8821aefw_wowlan.bin | Whole file | 8051
----------------------------------------------
注:この手法は統計に基づいているため、誤検出(false positive)が発生する可能性は確かにあります。他の情報源と相互確認し、逆アセンブラで結果を検証してください。
特に、小さなファイルや小さいスライディングウィンドウは誤検出が発生しやすくなります。よくある誤検出は次のとおりです:
xmos_xs2aNDS32cpu_rec_rs は、元の cpu_rec をRustで再実装したものです。なぜ再実装したのでしょうか?
元の cpu_rec には、コーパスの実験と更新に必要なコードが多数含まれています。予測のさまざまな設定を試したい場合は、cpu_rec を使用してください。また、その背後にある理論へのドキュメントとリンク(SSTIC presentation)も含まれています。