
Определяет, какая архитектура ЦП используется в бинарном файле.
Определяет, какая архитектура процессора используется в бинарном файле. Пример:
$ 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
----------------------------------------------
Примечание: поскольку подход основан на статистике, ложные срабатывания вполне возможны. Следует перепроверять результаты с помощью других источников и проверять их дизассемблером.
В частности, небольшие файлы более подвержены ложным срабатываниям, как и меньшие скользящие окна. Типичные ложные срабатывания включают:
xmos_xs2aNDS32cpu_rec_rs — это Rust-реализация оригинального
cpu_rec. Зачем переписывать?
Оригинальный cpu_rec содержит много кода, необходимого для экспериментов и обновления корпуса. Если вы хотите поиграть с различными настройками прогнозирования, используйте cpu_rec. Он также содержит документацию и ссылки на теорию, лежащую в его основе (презентация SSTIC).