
MediaTek md1img मॉडेम फ़र्मवेयर इमेज प्रारूप के लिए Ghidra लोडर
MediaTek md1img मॉडेम फ़र्मवेयर इमेज प्रारूप के लिए Ghidra लोडर। वर्तमान में, केवल nanoMIPS-आधारित फ़र्मवेयर समर्थित है, लेकिन यदि आप इमेज लोड करते समय मैन्युअल रूप से कोई भिन्न आर्किटेक्चर (जैसे, MIPS) चुनते हैं तो बुनियादी सुविधाएँ फिर भी काम कर सकती हैं।
nanoMIPS-आधारित मॉडेम के लिए, फ़र्मवेयर इमेज लोड करने का प्रयास करने से पहले इस लोडर के साथ nanoMIPS ISA Ghidra प्लगइन इंस्टॉल करें।
Ghidra में, बस प्रोजेक्ट में एक md1img प्रारूप फ़ाइल आयात करें। लोडर मॉडेम फ़र्मवेयर निकालेगा और किसी भी डीबग प्रतीकों को लागू करेगा।
प्रारंभ में फ़र्मवेयर लोड करने और INT_InitRegions_C, memcpy, और memset फ़ंक्शन की पहचान करने के बाद, आगे के मेमोरी क्षेत्रों को स्वचालित रूप से परिभाषित करने के लिए स्क्रिप्ट मैनेजर से MtkInitRegions.java और emulate_custom_mk_ram_info.py स्क्रिप्ट उसी क्रम में चलाएँ।
सुनिश्चित करें कि Eclipse में Gradle ठीक से काम करने के लिए GHIDRA_INSTALL_DIR पर्यावरण चर या प्रोजेक्ट प्रॉपर्टी परिभाषित है। इस प्रॉपर्टी परिभाषा वाली gradle.properties फ़ाइल कहाँ रखनी है, यह देखने के लिए https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties देखें।
यदि आप इस प्रोजेक्ट को nanoMIPS ISA प्लगइन के साथ संशोधित कर रहे हैं, तो nanoMIPS प्लगइन प्रोजेक्ट निर्देशिका को लोडर के Eclipse प्रोजेक्ट बिल्ड पथ में जोड़ें।
प्रोजेक्ट को स्रोत से बनाने के लिए अपने स्थानीय Gradle इंस्टॉल या शामिल Gradle रैपर का उपयोग करें। GHIDRA_INSTALL_DIR प्रॉपर्टी में सही Ghidra इंस्टॉल निर्देशिका निर्दिष्ट करना सुनिश्चित करें।
$ ./gradlew -PGHIDRA_INSTALL_DIR=<ghidra_path>