TGViewer
ReverseEngineering ReverseEngineering @reverseengine · 1.34K subscribers
Post #1709 50
Thread Analysis و Start Address

بعضی وقتا خود Process چیز خاصی نشون نمیده ولی Thread هاش داستان اصلی رو لو میدن

تا اینجا دیدیم که EDR فقط اسم فایل یا Process رو نگاه نمیکنه

یکی از چیزایی که عمیق تر بررسی میشه Thread های داخل Process هستن
هر Process میتونه چند تا Thread داشته باشه

هر Thread هم مسیر اجرای خودش رو داره

برای همین وقتی EDR یا یک تحلیلگر میخواد بفهمه داخل یک Process دقیقا چه خبره بررسی Thread ها میتونه اطلاعات مهمی بهش بده

Start Address
خیلی ساده هر Thread برای اجرا باید از یک نقطه شروع کنه
به اون نقطه میگن Start Address
یعنی EDR میتونه بررسی کنه که Thread از کجای حافظه شروع به اجرا کرده
مثلا ممکنه Start Address داخل یک DLL شناخته شده باشه
یا ممکنه داخل یک قسمت ناشناس از حافظه باشه
اگر داخل یک DLL معمولی باشه باز هم باید Context بررسی بشه
اگر داخل یک قسمت ناشناس از حافظه باشه ممکنه مشکوک تر به نظر برسه
ولی اینجا یک نکته خیلی مهم وجود داره
هر Memory Region ناشناسی لزوما مخرب نیست

بعضی برنامه ها خودشون موقع اجرا کد تولید میکنن یا حافظه رو به شکل خاصی مدیریت میکنن

مثلا JIT Compiler ها مرورگرها و بعضی Runtime ها ممکنه رفتارهایی داشته باشن که از بیرون عجیب به نظر برسه
چون مشخصا انسان ها یک False Positive ساده رو نمیپذیرن و ترجیح میدن سیستم امنیتی برنامه سالمشون رو هم گاهی بکشه😁

EDR
فقط Start Address رو نگاه نمیکنه
در تحلیل واقعی معمولا چند تا چیز با هم بررسی میشه
اول اینکه Thread چه زمانی ساخته شده
مثلا یک برنامه اجرا میشه
چند دقیقه بعد یک اتفاق غیرعادی در حافظه میفته
بلافاصله بعدش یک Thread جدید ساخته میشه
اینجا زمان بندی اتفاق ها مهمه
چون یک Event به تنهایی ممکنه چیز خاصی نباشه ولی وقتی چند Event پشت سر هم اتفاق میفتن داستان فرق میکنه
دوم اینکه چه کسی باعث ایجاد Thread شده
مثلا یک Process با Process دیگه ارتباط برقرار میکنه
بعد داخل اون Process یک Thread جدید ظاهر میشه
همین ارتباط بین دو Process میتونه برای Detection خیلی مهم باشه
بعضی وقت ها خود Thread چیز عجیبی نیست ولی اتفاقاتی که قبل از ایجادش افتاده مشکوک هستن
سوم اینکه Thread دقیقاً از کجا اجرا میشه

EDR
میتونه Memory Region اطراف Start Address رو بررسی کنه
مثلا این حافظه ممکنه مربوط به یک Module باشه
ممکنه Private Memory باشه
ممکنه مربوط به یک Image باشه
یا یک Memory Region دیگه باشه
مثلا اگر Thread از یک Private Executable Region شروع به اجرا کنه ممکنه نیاز به بررسی بیشتری داشته باشه
مخصوصاً اگر قبل از اون یک اتفاق غیرعادی روی همون قسمت از حافظه افتاده باشه

چهارم Call Stack هست

Call Stack
میتونه تا حدی نشون بده Thread از چه مسیر و چه Function هایی به وضعیت الانش رسیده
یعنی EDR فقط نقطه فعلی Thread رو نمیبینه و ممکنه مسیر رسیدن به اون نقطه رو هم بررسی کنه
اگر مسیر اجرا با رفتار معمول اون برنامه جور درنیاد میتونه یک نشونه مشکوک باشه
ولی باز هم یک Call Stack عجیب به تنهایی یعنی برنامه مخرب نیست

ابزارهای Debugging
Instrumentation
و Runtime های مختلف هم میتونن ساختارهایی ایجاد کنن که معمولی به نظر نرسن

مدل فکری Detection
فرض کنید فقط این اتفاق دیده بشه
یک Thread جدید ساخته شده
به تنهایی اطلاعات زیادی بهمون نمیده
ولی حالا فرض کنید این اتفاق ها پشت سر هم افتاده
Process A اجرا میشه
بعد با Process B ارتباط برقرار میکنه
داخل Process B یک اتفاق مربوط به حافظه رخ میده
بعد یک قسمت قابل اجرا در حافظه ظاهر میشه
بعد یک Thread شروع به اجرا میکنه
بعد فعالیت شبکه شروع میشه
اینجا قضیه فرق میکنه
چون EDR فقط یک اتفاق رو نمیبینه
داره رابطه بین اتفاق ها رو میبینه
و این نکته اصلیه

EDR
دنبال یک Event جادویی نیست
دنبال ارتباط بین Event هاست
Thread
ها چرا برای تحلیلگر مهمن
چون میتونن بین تغییراتی که در حافظه اتفاق افتاده و اجرای واقعی ارتباط ایجاد کنن
مثلا ممکنه یک قسمت از حافظه تغییر کرده باشه ولی هنوز مشخص نباشه این تغییر واقعاً استفاده شده یا نه
اما اگر بعدش یک مسیر اجرایی جدید ظاهر بشه و یک Thread از اون مسیر شروع به کار کنه قضیه برای تحلیلگر معنی بیشتری پیدا میکنه
برای تحلیل رفتار یک Process باید این موارد رو کنار هم دید

Process Tree
Cross Process Access
Memory Regions
Memory Permission Changes
Thread Start Address
Call Stack
Timeline


هیچ کدوم از اینا به تنهایی کافی نیست
ولی وقتی همه کنار هم قرار میگیرن Detection قوی تر میشه
More from @reverseengine
  1. Oct 15, 2026Reverse Engineer Anything v6.5.0 A tool for reverse engineering that allows AI agents to a…
  2. Oct 15, 2026Someone Used AI to Reverse-Engineer PS5 Security in Weeks: What Is REA? https://pub.toward…
  3. Oct 15, 2026How Dangerous Is REA (Reverse Engineer Anything) for Your App? https://21zerixpm.medium.co…
  4. Oct 15, 2026REA Is Impressive. But Reverse Engineering Was Never the New Part https://crizantlai.mediu…
  5. Oct 15, 2026QuarkslaB Dynamic binary Instrumentation https://qbdi.quarkslab.com/introduction @reversee…
  6. Oct 15, 2026angr’s documentation https://docs.angr.io/en/latest/search.html?q=Document&check_keywords=…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →