
مجموعة من حيل مكافحة التنقيح غير الموثقة للكشف عن أدوات التنقيح مثل x64dbg، مع عينات كود C++ وملاحظات الهندسة العكسية لأبحاث التهرب.
مجرد مجموعة من بعض حيل مكافحة التنقيح غير الموثقة التي وجدتها أثناء الهندسة العكسية والعبث بأدوات التنقيح.
سأضيف المزيد من الأشياء هنا كلما وجدت شيئًا مثيرًا للاهتمام.
وجدت هذه الحيلة أثناء إجراء بعض تحليلات ttd. إنها ليست ميزة مكافحة تنقيح فعلية أو أي شيء من هذا القبيل، مجرد سلوك غريب لمشاركة الملفات يمكن استخدامه لكشف x64dbg.
من ما رأيته، هذا موجود منذ حوالي 10 سنوات ولم يتم إصلاحه بعد في x64dbg.
لقد استخدمت هذا في بعض برامج مكافحة الغش الخاصة بي ولم أرَ حقًا أي شخص يتحدث عنه. إنه ليس شيئًا جنونيًا رغم ذلك، من السهل جدًا تصحيحه بمجرد معرفة ما يحدث.
بشكل أساسي، يحاول فتح ملفه التنفيذي الخاص بوصول حصري. إذا كان شيء آخر يحمل مقبضًا متعارضًا للملف، فإن CreateFileA يفشل مع ERROR_SHARING_VIOLATION.
هذا لا يعني بالضرورة أن أداة تنقيح متصلة، لكنه يمكن أن يعمل كحيلة كشف في حالات معينة.

// made by metixw ( @metixw )
#include <windows.h>
#include <iostream>
bool walahi()
{
char path[MAX_PATH];
GetModuleFileNameA(NULL, path, MAX_PATH);
HANDLE h = CreateFileA(path, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (h == INVALID_HANDLE_VALUE) return GetLastError() == ERROR_SHARING_VIOLATION;
CloseHandle(h);
return false;
}
// just an example but if u wanna use it as an anti-debug trick put it in a thread
int main()
{
while (true)
{
if ( walahi() )
{
std::cout << "detected walahi" << std::endl;
system( "pause" );
Sleep(1000);
exit(0);
}
Sleep( 500 );
}
return 0;
}
المزيد من الحيل قريبًا.