
निर्धारित करें कि बाइनरी फ़ाइल में कौन सा 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 positives) परिणाम निश्चित रूप से संभव हैं। आपको अन्य स्रोतों से क्रॉस-चेक करना चाहिए और डिसअसेम्बलर से परिणामों को सत्यापित करना चाहिए।
विशेष रूप से, छोटी फ़ाइलें गलत सकारात्मक परिणामों के प्रति अधिक संवेदनशील होती हैं, साथ ही छोटी स्लाइडिंग विंडो भी। सामान्य गलत सकारात्मक परिणामों में शामिल हैं:
xmos_xs2aNDS32cpu_rec_rs मूल cpu_rec का Rust पुनःकार्यान्वयन है। इसे पुनः क्यों कार्यान्वित किया गया?
मूल cpu_rec में प्रयोग और कॉर्पस को अद्यतन करने के लिए आवश्यक बहुत सारा कोड है। यदि आप भविष्यवाणी के लिए विभिन्न सेटिंग्स के साथ प्रयोग करना चाहते हैं, तो कृपया cpu_rec का उपयोग करें। इसमें इसके पीछे के सिद्धांत के दस्तावेज़ और लिंक भी शामिल हैं (SSTIC प्रस्तुति)।