ايران ويج

نسخه‌ی کامل: مشکل در غیرفعال شدن بریک پوینت ها در x64dbg
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام به همگی
نرم افزاری دارم که یه فایل DLL اون باید پچ بشه. موقعی که در نرم افزار x64dbg بازش می کنم و در محل های مورد نظرم بریک پوینت میزارم و برنامه رو دوباره اجرا می کنم در x64dbg، اونها disabled شدن و موقعی که enable می کنم نرم افزار کرش می کنه.
[تصویر:  idg5_1.png]

و این فایل در پنجره Memory map دارای Protection به شکل ERWC هست که مفهومشو نمی فهمم و سکشن هاشو نشون نمیده:

[تصویر:  idmn_2.png]

وضعیت سکشن ها در exeinfo:

[تصویر:  s19c_3.png]

چه راهی برای از بین بردن این محدودیت وجود داره. البته احتمال می دم فایل پک باشه
سلام
اين مشكل ميتونه دلايلي زيادي داشته باشه كه توضيحش زمان بر اما به عنوان تيتر عرض ميكنم خدمتتون هرجايي نياز ب باز شدن تيتر داشتيد بگيد


1-بريك پوينت نرمال يا INT3 در واقع اولين بايت از يك معماري 8086 رو به  0xCC  تغيير ميده كه طبق جدول بردار وقفه يك اسثنا به پردازنده و بعد ارجاع به سيستم عامل ميفرسته و باعث توقف برنامه ميشه و معمولا بروي سكشن كد جواب ميده در صورت استفاده بروي سكشن ديگه اييممكنه باعث كرش يا غير فعال كردن اون توسط ديباگر بشه .
2- درمورد خاصيت پرمييشن حافظه پرسيده بودي كه البته بايد با توجه به فلگ  بررسي بشه ولي چون نوع ديباگر رو گفته بودي و با توجه به منبع باز بودنش اين كد مربوط به:

کد php:
PAGE_EXECUTE_WRITECOPY
0x80 
                
هست.يا همون   ERWC     با توجه به سورس قسمت نقشه ي حافظه در 64xdbg  :
کد php:
case PAGE_EXECUTE_WRITECOPY:
 
       strcpy_s(RightsRIGHTS_STRING_SIZE"ERWC");
 
       break
كه دسترسي اجرا ،فقط خواندني،يا كپي برروي فايل نگاشت شده در حافظه رو ميده،**هر موقع بخوايي تغييري ايجاد كني يه كپي از صفحه گرفته ميشه و تغيير روي اون انجانم ميشه و نكته ي مهم اينه كه :
***توسط توابع VirtualAlloc یا VirtualAllocEx پشتیبانی نمی شود***


منبع سورس ديباگر شما:

کد php:
https://github.com/x64dbg/x64dbg/blob/development/src/dbg/memory.cpp#L27 
            

منبع دسترسي هاي حافظه :
کد php:
https://docs.microsoft.com/en-us/windows/win32/memory/memory-protection-constants 

راه حل:
1-چك كنيد برنامه پروتكت نباشه(آنتي ديبگر يا تكنيك هاي ضد ويرايش)
2-از نقاط توقف حافظه ايي يا سخت افزاري استفاده كنيد
3-چك كنيد آدرس بعد از بار مراجعه تغيير ميكنه يا نه


نظر شخصي:با توجه ب اسلايد آخرشايد فايلتون mixedmode باشه يعني نصف دات نت نصف    native ،و در آخر با توجه به تجربه م اگه براي كنجكاوي انجام ميشه كه هيچ در غير اين صورت بي خيالش شو :) چون پروتكشن اين FLEXNET هست و ريورس به اين شكل عاقلانه نيست گل
بسیار ممنونم از NO DONGLE عزیز  028
فایل احتمالا پروتکت هستش و آدرس با مراجعه بعدی تغییر میکنه که با غیر فعال کردن ALSR حل شده
اگه فایل با استفاده از تکنیک های ضد ویرایش حفاظت بشه چگونه میشه این مشکلش رو حل کرد
بله FEXLM هستش ولی با توجه به پیچیدگی ها با روش های معمول FLEXLM نمیشه دورش زد  قلب عشق - بهینه شده برای ورژن جدید
به نظر می آد فایل پک باشه و ماجرا از اینجا آب میخوره. نسخه جدید Detect it Easy سکشن ها رو این طوری نشون میده ولی نام پکر رو نمینویسه:

[تصویر:  99ka_packed.png]
به خاطر اينكه اولا خيلي مهم نيست دوما نسخه تجاريه و متفاوت هست و پكر خصوصيه .