
Unicorn पर आधारित IDA के लिए छोटा प्यारा एमुलेटर प्लगइन।
uEmu IDA के लिए एक छोटा सा प्यारा एमुलेटर प्लगइन है जो unicorn इंजन पर आधारित है।
यह निम्नलिखित आर्किटेक्चर को डिफ़ॉल्ट रूप से समर्थन करता है: x86, x64, ARM, ARM64, MIPS, MIPS64

MSR S3_x, X0) का अनुकरण करने का तरीका खोजेंidapyswitch के माध्यम से IDAPython कॉन्फ़िगर करेंbrew install unicornpip install unicornFile / Script file... या ALT+F7 का उपयोग करेंवैकल्पिक रूप से uEmu को IDA प्लगइन के रूप में स्वचालित रूप से लोड किया जा सकता है। इस मामले में इसे [IDA]/Plugins फ़ोल्डर में रखें और uEmu.py के अंदर USE_AS_SCRIPT को False में बदलें।

ALT/OPTION दबाए रखें)कर्सर से अनुकरण शुरू करें। पहले प्रारंभिक CPU संदर्भ प्रदान करना आवश्यक है (देखें Update CPU Context) उसके बाद IDA डेटाबेस के सभी सेगमेंट एमुलेटर में मैप किए जाएँगे (आरंभिक डेटा भी कॉपी किया जाएगा)।
कोड या मेमोरी ब्रेकपॉइंट तक पहुँचने या कोई ऐसा ईवेंट होने तक कोड निष्पादित करें जिसमें उपयोगकर्ता कार्रवाई की आवश्यकता हो।
एकल चरण निष्पादन करें। निष्पादित करने के लिए चरणों की संख्या निर्दिष्ट करने के लिए ALT/OPTION दबाए रखें।

जब अनुकरण प्रगति पर है, तो इस कमांड का उपयोग निष्पादन को बाधित करने के लिए किया जा सकता है।
एमुलेटर इंस्टेंस को रीसेट करता है और सभी मेमोरी क्षेत्रों को अनमैप करता है।
आप उन स्थानों को इंगित करने के लिए IDA ब्रेकपॉइंट का उपयोग कर सकते हैं जहाँ अनुकरण बाधित होना चाहिए। इसमें कोड और मेमोरी ब्रेकपॉइंट शामिल हैं। आमतौर पर Run कमांड के साथ उपयोग किया जाता है।
जब एमुलेटर को ऐसी मेमोरी तक पहुँचने की आवश्यकता होती है जो अभी तक मैप नहीं हुई है, तो प्लगइन निम्नलिखित डायलॉग दिखाएगा।


जब एमुलेटर किसी अज्ञात निर्देश पर पहुँचता है, तो उसे छोड़ना और मैन्युअल रूप से CPU संदर्भ पुनर्स्थापित करना संभव है।

निष्पादन को नियंत्रित करने के लिए बस एक पैनल।

वर्तमान CPU संदर्भ।

हर बार जब अनुकरण रुकता है, बदले गए रजिस्टर हाइलाइट किए जाएँगे। पॉपअप मेनू के माध्यम से रजिस्टरों को 1, 2 या 3 कॉलम में प्रदर्शित किया जा सकता है।
पॉपअप मेनू के माध्यम से CPU संदर्भ को अपडेट करना संभव है (नीचे देखें)।
वर्तमान CPU विस्तारित संदर्भ।

हर बार जब अनुकरण रुकता है, बदले गए रजिस्टर हाइलाइट किए जाएँगे। पॉपअप मेनू के माध्यम से रजिस्टरों को 1, 2 या 3 कॉलम में प्रदर्शित किया जा सकता है।
पॉपअप मेनू के माध्यम से CPU संदर्भ को अपडेट करना संभव है (नीचे देखें)।
निर्दिष्ट पते और आकार के लिए मेमोरी क्षेत्रों का निरीक्षण करने के लिए इस दृश्य का उपयोग करें। सुविधा के लिए टिप्पणी शीर्षक में प्रदर्शित की जाएगी।

हर बार जब अनुकरण रुकता है, बदले गए मेमोरी ब्लॉक हाइलाइट किए जाएँगे।

पॉपअप मेनू के माध्यम से JSON फ़ाइल के साथ रजिस्टर मानों को व्यक्तिगत रूप से या एक साथ बदला जा सकता है। वर्तमान संदर्भ को भविष्य में उपयोग के लिए JSON फ़ाइल में सहेजा जा सकता है।



पॉपअप मेनू में सूचीबद्ध सभी फंक्शनों के अलावा, कुछ नए कमांड हैं।

सभी मैप किए गए क्षेत्रों को प्रदर्शित करें। किसी विशेष क्षेत्र के लिए मेमोरी प्रदर्शित करने या इसे फ़ाइल में डंप करने के लिए पॉपअप मेनू का उपयोग करें।

यह कमांड नए मैपिंग बनाकर या संभव होने पर मौजूदा के साथ मर्ज करके IDA सेगमेंट को मैप की गई मेमोरी के साथ सिंक करने का प्रयास करता है। यह एमुलेटर को पुनरारंभ किए बिना रनटाइम में एमुलेटर में नए IDA सेगमेंट जोड़ने में मदद करता है।
फ़ाइल से uEmu स्थिति लोड करें।
uEmu स्थिति को फ़ाइल में सहेजें। कृपया ध्यान दें कि प्लगइन में परिभाषित केवल रजिस्टर ही सहेजे जाते हैं।

एक्सटेंशन सिस्टम का उपयोग करके uEmu के शीर्ष पर नई कार्यक्षमता जोड़ना या अपना प्रोजेक्ट बनाना भी संभव है।
कृपया उदाहरण सहित विवरण यहाँ प्राप्त करें