1 265
Subscribers
No data24 hours
-37 days
+730 days
Posts Archive
1 265
پیدا کردن OEP (Original Entry Point)
اجرای فایل در دیباگر مثل x64dbg
گذاشتن Breakpoint روی APIهای کلیدی:
VirtualAlloc
WriteProcessMemory
GetProcAddress
یا حتی روی Entry Point خود فایل
دنبال کردن flow تا وقتی وارد کد unpack شده → اونجا OEP واقعی هست
1 265
شناسایی پکر
استفاده از ابزارهایی مثل:
PEiD
Detect It Easy
بررسی سکشنها ساختارهای غیرمعمول سایزهای عجیب و نام بخشها
1 265
ساخت آنپکر اختصاصی برای فایلهای Pack شده
بعد از اینکه فهمیدیم یه فایل pack شدهست (مثلاً با UPX یا پکرهای خاص) وقتشه خودمون بتونیم برای اون یک آنپکر بسازیم و باینری اصلی رو بازیابی کنیم
چرا باید خودمون آنپکر بنویسیم؟
همه فایلها با ابزارهای آماده قابل آنپک نیستن (مثلاً نسخههای دستکاریشده یا سفارشیشدهی UPX)
در بعضی مواقع نیاز به خودکارسازی داریم (مثلاً اسکن دستهای)
این تمرین باعث میشه به درک عمیقتری از ساختار PE و مکانیزم اجرای ویندوز برسید
1 265
نمونه کد آنپکر ساده با پایتون برای UPX
در فایلهای pack شده با UPX گاهی فقط نیاز به اجرای ابزار UPX به صورت اتوماتیک داریم:
import subprocess import os def unpack_upx(file_path): if not os.path.exists(file_path): print("فایل پیدا نشد.") return try: subprocess.run(['upx', '-d', file_path], check=True) print("فایل با موفقیت آنپک شد.") except subprocess.CalledProcessError: print("خطا در آنپک فایل.") unpack_upx('sample.exe')
1 265
ذخیره فایل آنپک شده
ذخیره فایل با IAT بازسازیشده
اجرای تست برای اطمینان از سلامت فایل نهایی
1 265
بازسازی Import Table
در بیشتر موارد Import Table فایل pack شده موقع dump خراب یا ناقصه
Scylla یا Import Reconstructor برای بازسازی IAT کمک میکنه
این مرحله باعث میشه فایل dump شده بعد از ذخیره درست اجرا بشه
1 265
گرفتن Dump از حافظه
وقتی به OEP رسیدید:
از ابزار Scylla یا x64dbg استفاده کنید برای گرفتن Memory Dump
آدرسهای سکشنها و Import Table رو ذخیره کنید
1 265
پیدا کردن OEP (Original Entry Point)اجرای فایل در دیباگر مثل x64dbg گذاشتن Breakpoint روی API های کلیدی: VirtualAlloc WriteProcessMemory GetProcAddress یا حتی روی Entry Point خود فایل
1 265
مراحل کلی آنپک کردن دستی و خودکار
مرحله1 : شناسایی پکر
استفاده از ابزارهایی مثل:
PEiD
Detect It Easy
بررسی سکشنها ساختارهای غیرمعمول سایزهای عجیب و نام بخش ها
1 265
ساخت آنپکر اختصاصی برای فایلهای Pack شده
بعد از اینکه فهمیدید یه فایل pack شدهست (مثلا با UPX یا پکرهای خاص) وقتشه خودتون بتونید برای اون یک آنپکر بسازید و باینری اصلی رو بازیابی کنید
چرا باید خودمون آنپکر بنویسیم؟
همه فایلها با ابزارهای آماده قابل آنپک نیستن مثلا نسخههای دستکاری شده یا سفارشیشدهی UPX
در بعضی مواقع نیاز به خودکارسازی دارید (مثلا اسکن دستهای)
این تمرین باعث میشه به درک عمیقتری از ساختار PE و مکانیزم اجرای ویندوز برسید
1 265
تمرین کاربردی
پیشنهاد میکنم یکی از برنامههای UPX-packed رو باز کنی و مراحل زیر رو انجام بدی:
1 اجرای فایل توی دیباگر → مشاهده رفتار عجیب
2 شناسایی نقطه آنپک (با breakpoint روی VirtualAlloc)
3 گرفتن dump حافظه بعد از آنپک
4 باز کردن dump توی IDA یا Ghidra و تحلیل کد واقعی
1 265
Scylla / x64dbg دمپ گرفتن از حافظه unpack برای
Detect It Easy (DIE) تشخیص نوع پکر یا محافظ
OllyDbg plugins (StrongOD, HideDebugger) مقابله با ضد دیباگ
Ghidra scripting شناسایی مسیر های پرش پیچیده یا بی هدف
