الفريق العربي للهندسة العكسية

نسخة كاملة : مناقشة (tls callback)
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم و رحمة الله
احببت ان انشئ موضوع نتبادل فيه البحث و المعرفة عن tls callback.
ان نجح التفاعل في هذا الموضوع، سوف ننتقل الى انشاء بشكل دوري موضوع جديد يعالج امر آخر في ميدان الهندسة العكسية...

tls callback
1- ما هي ؟
2- ميدان استعمالها ؟
3- وضع امثلة حية.
4- طرق كشفها.

لكم كل الحرية في نقل ما كتب عنها من مصادر اخرى و يحبذ ان لا تقتصر فقط على نقل روابط، بل من الأفضل ان يتم كتابة خلاصة ما تم فهمه بعد الاطلاع عليها.

اترك لكم المبادرة  Smile الموضوع مفتوح للجميع...
ألي اعرفه ولو خبرتي بسيطة

يستعمل بالـ anti-debugging يتنفذ قبل الوصول الى Entry point يعني يعرف هل تستعمل منقح ام لا ويتنفذ قبل الوصول الى entrypoint h وينفذ التعليمات الي موجودة بالــ PeHEader
طريقة اكتشافه هو TLS  لدية Section بالــ Pe Header  نفتح البرنامج بواسطة مثلا PE Bear  وبعدها بالــ tab  .. وبعدها TLS وبعدها يوجد addressofCallbacks  نعمل لها Follow  ناخذ البيتات الاولى و نحولها الى big endian ويصبح عنوان نفتح المنقح و نبحث عن العنوان ونجده 
وفي اكثر  الحالات موجود بالــ export 
وبالمنقحات مثلا x64dbg  توجد اختيار tls callback 
,ومثال برنامج Elcomsoft eXplorer for WhatsApp يستعملها البرنامج مضغوط Vmprotect

وهذا من كتاب الفريق 

[صورة مرفقة: d5u8rxt.png]
هذا تقريبا الي اعرفة ...
السلام عليكم و رحمة الله
آسف على اهمالي للموضوع، سوف اضع ان شاء الله ما توصلت اليه خلال اليومين القادمين...

جيد... و لاثراء الموضوع بامثلة حية...
المرفق يحتوي على اربعة (حالات) ملفات تنفيذية صغيرة الحجم (لتسهيل التنقيح)
يرجى القاء نظرة عليها و شرح آلية عملها...
(14-05-2020, 03:36 PM)YANiS كتب : [ -> ]جيد... و لاثراء الموضوع بامثلة حية...
المرفق يحتوي على اربعة (حالات) ملفات تنفيذية صغيرة الحجم (لتسهيل التنقيح)
يرجى القاء نظرة عليها و شرح آلية عملها...

جميل  اخي بارك الله فيك خلي اشوف اقدر افهم شي منها
هذا مثال ، برنامج بلغة C
 
 
/***************************************** TLS Example Program
Compile With MSVC
********************************************/

#include

#pragma comment(linker, "/INCLUDE: tls_used")

void NTAPI TlsCallBac(PVOID h, DWORD dwReason, PVOID pv);

#pragma data_seg(".CRT$XLB")
PIMAGE_TLS_CALLBACK p_thread_callback = TlsCallBac;
#pragma data_seg()

void NTAPI TlsCallBac(PVOID h, DWORD dwReason, PVOID pv)
{
MessageBox(NULL, "In TLS", "In TLS", MB_OK);
return;
}

int main(int argc , char**argv)
{
MessageBox(NULL, "In Main", "In Main", MB_OK);
return 0;
}
شرح فلاشي كيف يتم الأمر من TiGa بإسخدام المنقح IDA
الملف المطبق عليه بالمرفقات





TLS (Thread Local Storage) IsDebuggerPresent TLS callback (english) (chinese)