1. crackmes.one
2. Reversing.kr
3. picoCTF
4. crackmes.de
5. Hack The Box
6. Root Me
7. OpenSecurityTraining
یکی از معروفترین سایتها برای تمرین مهندسی معکوس
شامل تعداد زیادی باینری با سطوح مختلف سختی
کاربران میتونن کدها رو آنالیز کنن و راهحل ارائه بدن
2. Reversing.kr
یک پلتفرم کلاسیک با چالشهای متنوع در زمینه مهندسی معکوس و باینری اکسپلویتیشن
تمرینها به صورت CTF طراحی شدن.
3. picoCTF
تمرینهای CTF مخصوص تازهکارها تا سطح متوسط
بخشهایی مثل "Reverse Engineering" داره که خیلی برای شروع خوبه
4. crackmes.de
قدیمی و قابل اعتماد، با آرشیو بزرگی از CrackMe ها
نسخههای ویندوزی و لینوکسی از نرمافزارها رو برای تحلیل میذاره
5. Hack The Box
دارای بخش Reverse Engineering و Binary Exploitation
ماشینها و چالشهای واقعی برای تمرین سطح پیشرفته
6. Root Me
بخش Reverse Engineering داره
شامل چالشهای تحت ویندوز، لینوکس ARM و … هست
7. OpenSecurityTraining
دورههای حرفهای برای آموزش دیباگینگ ASM و RE
👍11❤2👏1
رایتاپ خیلی خوب یکی از دوستای من محمد درباره ی heap
https://github.com/Mohammaddvd/Writeups/blob/main/self_learning/fd_poison/README.md
https://github.com/Mohammaddvd/Writeups/blob/main/self_learning/fd_poison/README.md
GitHub
Writeups/self_learning/fd_poison/README.md at main · Mohammaddvd/Writeups
Contribute to Mohammaddvd/Writeups development by creating an account on GitHub.
👍7❤1
Scylla / x64dbg دمپ گرفتن از حافظه unpack برای
Detect It Easy (DIE) تشخیص نوع پکر یا محافظ
OllyDbg plugins (StrongOD, HideDebugger) مقابله با ضد دیباگ
Ghidra noscripting شناسایی مسیر های پرش پیچیده یا بی هدف
Detect It Easy (DIE) تشخیص نوع پکر یا محافظ
OllyDbg plugins (StrongOD, HideDebugger) مقابله با ضد دیباگ
Ghidra noscripting شناسایی مسیر های پرش پیچیده یا بی هدف
❤3👍2
تمرین کاربردی
پیشنهاد میکنم یکی از برنامههای UPX-packed رو باز کنید و مراحل زیر رو انجام بدید:
1 اجرای فایل توی دیباگر → مشاهده رفتار عجیب
2 شناسایی نقطه آنپک (با breakpoint روی VirtualAlloc)
3 گرفتن dump حافظه بعد از آنپک
4 باز کردن dump توی IDA یا Ghidra و تحلیل کد واقعی
پیشنهاد میکنم یکی از برنامههای UPX-packed رو باز کنید و مراحل زیر رو انجام بدید:
1 اجرای فایل توی دیباگر → مشاهده رفتار عجیب
2 شناسایی نقطه آنپک (با breakpoint روی VirtualAlloc)
3 گرفتن dump حافظه بعد از آنپک
4 باز کردن dump توی IDA یا Ghidra و تحلیل کد واقعی
❤2👍1
ساخت آنپکر اختصاصی برای فایلهای Pack شده
بعد از اینکه فهمیدید یه فایل pack شدهست (مثلا با UPX یا پکرهای خاص) وقتشه خودتون بتونید برای اون یک آنپکر بسازید و باینری اصلی رو بازیابی کنید
چرا باید خودمون آنپکر بنویسیم؟
همه فایلها با ابزارهای آماده قابل آنپک نیستن مثلا نسخههای دستکاری شده یا سفارشیشدهی UPX
در بعضی مواقع نیاز به خودکارسازی دارید (مثلا اسکن دستهای)
این تمرین باعث میشه به درک عمیقتری از ساختار PE و مکانیزم اجرای ویندوز برسید
بعد از اینکه فهمیدید یه فایل pack شدهست (مثلا با UPX یا پکرهای خاص) وقتشه خودتون بتونید برای اون یک آنپکر بسازید و باینری اصلی رو بازیابی کنید
چرا باید خودمون آنپکر بنویسیم؟
همه فایلها با ابزارهای آماده قابل آنپک نیستن مثلا نسخههای دستکاری شده یا سفارشیشدهی UPX
در بعضی مواقع نیاز به خودکارسازی دارید (مثلا اسکن دستهای)
این تمرین باعث میشه به درک عمیقتری از ساختار PE و مکانیزم اجرای ویندوز برسید
👍6
مراحل کلی آنپک کردن دستی و خودکار
شناسایی پکر
استفاده از ابزارهایی مثل:
PEiD
Detect It Easy
بررسی سکشنها ساختارهای غیرمعمول سایزهای عجیب و نام بخش ها
شناسایی پکر
استفاده از ابزارهایی مثل:
PEiD
Detect It Easy
بررسی سکشنها ساختارهای غیرمعمول سایزهای عجیب و نام بخش ها
👍6
پیدا کردن OEP (Original Entry Point)
اجرای فایل در دیباگر مثل x64dbg
گذاشتن Breakpoint روی API های کلیدی:
VirtualAlloc
WriteProcessMemory
GetProcAddress
یا حتی روی Entry Point خود فایل
👍5
https://medium.com/@ibnuilham/dodging-the-debugger-winantidbg0x300-picoctf-2024-writeup-0d913ad398ba
Medium
Dodging the Debugger: WinAntiDbg0x300 (picoCTF 2024 Writeup)
Hey everyone! I just wrapped up a fun little reverse engineering challenge from picoCTF 2024 called “WinAntiDbg0x300,” and thought I’d…
👍4🍓1
گرفتن Dump از حافظه
وقتی به OEP رسیدید:
از ابزار Scylla یا x64dbg استفاده کنید برای گرفتن Memory Dump
آدرسهای سکشنها و Import Table رو ذخیره کنید
وقتی به OEP رسیدید:
از ابزار Scylla یا x64dbg استفاده کنید برای گرفتن Memory Dump
آدرسهای سکشنها و Import Table رو ذخیره کنید
❤4🔥1
بازسازی Import Table
در بیشتر موارد Import Table فایل pack شده موقع dump خراب یا ناقصه
Scylla یا Import Reconstructor برای بازسازی IAT کمک میکنه
این مرحله باعث میشه فایل dump شده بعد از ذخیره درست اجرا بشه
در بیشتر موارد Import Table فایل pack شده موقع dump خراب یا ناقصه
Scylla یا Import Reconstructor برای بازسازی IAT کمک میکنه
این مرحله باعث میشه فایل dump شده بعد از ذخیره درست اجرا بشه
❤3🔥1
ذخیره فایل آنپک شده
ذخیره فایل با IAT بازسازی شده
اجرای تست برای اطمینان از سلامت فایل نهایی
ذخیره فایل با IAT بازسازی شده
اجرای تست برای اطمینان از سلامت فایل نهایی
👏3
نمونه کد آنپکر ساده با پایتون برای UPX
در فایلهای pack شده با UPX گاهی فقط نیاز به اجرای ابزار 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')
👏3