
makin - एंटी-डीबगिंग और एंटी-VM ट्रिक्स उजागर करें [यह प्रोजेक्ट अब मेंटेन नहीं किया जाता]
मैंने makin बनाया ताकि मेरे लिए प्रारंभिक मैलवेयर मूल्यांकन थोड़ा आसान हो सके, मुझे लगता है कि यह दूसरों के लिए भी उपयोगी है, यह एक नमूने द्वारा उपयोग की जाने वाली डीबगर पहचान तकनीकों को प्रकट करने में मदद करता है।
makin एक नमूने को डीबगी के रूप में खोलता है और asho.dll इंजेक्ट करता है (मुख्य मॉड्यूल इंजेक्शन से पहले सभी dlls का नाम बदलता है), asho.dll ntdll.dll और kernelbase.dll लाइब्रेरीज पर कई फंक्शन्स को हुक करता है और पैरामीटर जांच के बाद, यह डीबगर (makin.exe) को संबंधित संदेश भेजता है।
makin IDA Pro के लिए एक स्क्रिप्ट भी उत्पन्न करता है ताकि पहचाने गए APIs पर ब्रेकपॉइंट सेट किए जा सकें।
इस समय, makin निम्नलिखित तकनीकों को प्रकट कर सकता है:
ntdll.dll:
NtClose - संदर्भ: The "Ultimate" Anti-Debugging Reference: 7.B.iiNtOpenProcess - संदर्भ: The "Ultimate" Anti-Debugging Reference: 7.B.iNtCreateFile - संदर्भ: The "Ultimate" Anti-Debugging Reference: 7.B.iii (Open itself)NtCreateFile - संदर्भ: The "Ultimate" Anti-Debugging Reference: 7.B.iii (Open a driver)LdrLoadDll - संदर्भ: The "Ultimate" Anti-Debugging Reference: 7.B.ivNtSetDebugFilterState - संदर्भ: The "Ultimate" Anti-Debugging Reference: 7.D.viNtQueryInformationProcess - संदर्भ: The "Ultimate" Anti-Debugging Reference: 7.D.viii.a, 7.D.viii.b, 7.D.viii.cNtQuerySystemInformation - संदर्भ: kernelbase.dll:
IsDebuggerPresent - संदर्भ: MSDNCheckRemoteDebuggerPresent - संदर्भ: MSDNSetUnhandledExceptionFilter - संदर्भ: The "Ultimate" Anti-Debugging Reference: D.xvRegOpenKeyExInternalW - रजिस्ट्री कुंजियों की जांच करता हैRegQueryValueExW - रजिस्ट्री कुंजी मानों की जांच करता हैआप checks.json फ़ाइल को संपादित करके, एक्जीक्यूटेबल में बदलाव किए बिना, और अधिक VM जांच जोड़ सकते हैं
अभी के लिए बस इतना ही, आप जितना चाहें जोड़ सकते हैं :)

NtSetInformationThread - संदर्भ: The "Ultimate" Anti-Debugging Reference 7.F.iiiNtCreateUserProcess - संदर्भ: The "Ultimate" Anti-Debugging Reference 7.G.iNtCreateThreadEx - संदर्भ: ntuery blog postNtSystemDebugControl - संदर्भ: @waleedassar - pastebinNtYieldExecution - संदर्भ: The "Ultimate" Anti-Debugging Reference 7.D.xiiiNtSetLdtEntries - संदर्भ: ANTI-UNPACKER TRICKS: PART ONE - 2.1.2NtQueryInformationThread - संदर्भ: ntquery - NtQueryInformationThreadNtCreateDebugObject and NtQueryObject - संदर्भ: Anti-Debug NtQueryObjectRtlAdjustPrivilege - संदर्भ: Using RtlAdjustPrivilege to detect debugger by insid3codeteamPEB->BeingDebugged - IsDebuggerPresent() को कॉल करने के बजाय, कुछ प्रोग्राम मैन्युअल रूप से PEB (प्रोसेस एनवायरनमेंट ब्लॉक) में BeingDebugged फ्लैग की जांच करते हैं।PEB->NtGlobalFlag - संदर्भ: al-khaserUserSharedData->KdDebuggerEnabled - संदर्भ: al-khaser - SharedUserData_KernelDebuggerPROCTECTED handle trick - संदर्भ: al-khaser - HANDLE_FLAG_PROTECT_FROM_CLOSE