آنالیز فایل اجرایی (Static Analysis)
قبل از اجرا فایل رو بررسی میکنیم:
✅ با PEiD یا Detect It Easy چک میکنیم فایل پکر شده یا نه
✅ با Ghidra یا IDA Pro توابع ورودی و حساس رو تحلیل میکنیم
✅ دنبال فانکشنهایی مثل strcpy, memcpy, CreateProcess, WinExec, LoadLibrary میگردیم
✅ اگر از فایل یا رجیستری اطلاعات میخونه بررسی میکنیم قابل تزریق هستن یا نه
#Analys
#File
قبل از اجرا فایل رو بررسی میکنیم:
✅ با PEiD یا Detect It Easy چک میکنیم فایل پکر شده یا نه
✅ با Ghidra یا IDA Pro توابع ورودی و حساس رو تحلیل میکنیم
✅ دنبال فانکشنهایی مثل strcpy, memcpy, CreateProcess, WinExec, LoadLibrary میگردیم
✅ اگر از فایل یا رجیستری اطلاعات میخونه بررسی میکنیم قابل تزریق هستن یا نه
#Analys
#File
👍8🔥3
پیدا کردن آسیبپذیریهای رایج
برخی از آسیبپذیریهای پرتکرار در اپلیکیشنهای ویندوزی:
Buffer Overflow
تابعهایی که بدون بررسی سایز کپی میکنن مثل strcpy, gets, memcpy
DLL Hijacking
اگر برنامه DLLها رو از مسیر نادرست بارگذاری کنه میشه یه DLL مخرب جایگزین کرد
Insecure File Permissions
وقتی فایلها یا رجیستریها دسترسی نوشتن برای همه دارن
Command Injection / Code Execution
برنامه ورودی کاربر رو مستقیم به تابعی مثل system() پاس میده
Unquoted Service Path
مسیر سرویسهایی که بینشون فاصله هست و کوتیشن ندارن
Named Pipe Hijacking
استفاده نادرست از Named Pipeها میتونه باعث privilege escalation بشه
برخی از آسیبپذیریهای پرتکرار در اپلیکیشنهای ویندوزی:
Buffer Overflow
تابعهایی که بدون بررسی سایز کپی میکنن مثل strcpy, gets, memcpy
DLL Hijacking
اگر برنامه DLLها رو از مسیر نادرست بارگذاری کنه میشه یه DLL مخرب جایگزین کرد
Insecure File Permissions
وقتی فایلها یا رجیستریها دسترسی نوشتن برای همه دارن
Command Injection / Code Execution
برنامه ورودی کاربر رو مستقیم به تابعی مثل system() پاس میده
Unquoted Service Path
مسیر سرویسهایی که بینشون فاصله هست و کوتیشن ندارن
Named Pipe Hijacking
استفاده نادرست از Named Pipeها میتونه باعث privilege escalation بشه
🔥7❤1
بهرهبرداری (Exploitation) و PoC نوشتن
بعد از پیدا کردن آسیبپذیری، باید اثباتش کنیم:
✅ ساخت PoC برای buffer overflow با ابزارهایی مثل Immunity Debugger
✅ نوشتن DLL جعلی برای حمله DLL Hijacking
✅ ساخت فایل .bat یا .exe برای اجرا با دسترسی بالا
✅ استفاده از ابزارهایی مثل Metasploit, Exploit Pack, یا msfvenom برای payload سازی
بعد از پیدا کردن آسیبپذیری، باید اثباتش کنیم:
✅ ساخت PoC برای buffer overflow با ابزارهایی مثل Immunity Debugger
✅ نوشتن DLL جعلی برای حمله DLL Hijacking
✅ ساخت فایل .bat یا .exe برای اجرا با دسترسی بالا
✅ استفاده از ابزارهایی مثل Metasploit, Exploit Pack, یا msfvenom برای payload سازی
🔥5❤1
https://medium.com/@ps.sujith/decompile-and-recompile-apk-using-apktool-beginners-guide-4ad03c2c5b8f
Medium
Decompile and Recompile APK using APKTOOL : Beginners Guide
This post is not intended for piracy and other non-legal uses . Warning:APK decompiliation using Apktool might not work properly for apps…
❤3
Arm Assembly Internals and Reverse Engineering.pdf
14.4 MB
نویسنده: William Hohl & Christopher Hinds
مناسب برای: کسانی که میخوان از پایه ARM Assembly رو یاد بگیرن
ویژگیها:
آموزش از سطح مبتدی تا پیشرفته
توضیح رجیسترها، دستورها، حافظه، توابع، وقفهها و...
تمرینهای کاربردی
بیشتر روی ARMv7 تمرکز داره، ولی به ARMv8 هم اشاره میکنه
مناسب برای: کسانی که میخوان از پایه ARM Assembly رو یاد بگیرن
ویژگیها:
آموزش از سطح مبتدی تا پیشرفته
توضیح رجیسترها، دستورها، حافظه، توابع، وقفهها و...
تمرینهای کاربردی
بیشتر روی ARMv7 تمرکز داره، ولی به ARMv8 هم اشاره میکنه
🔥2👏1
ی رودمپ برا مهندسی معکوس نوشتم خیلی وقته البته بیشتر جاها هستش اگه خواستید بگید بزارم
Anonymous Poll
97%
👍🏻
3%
👎🏻
❤13
ReverseEngineering pinned «ی رودمپ برا مهندسی معکوس نوشتم خیلی وقته البته بیشتر جاها هستش اگه خواستید بگید بزارم»
ReverseEngineering
ی رودمپ برا مهندسی معکوس نوشتم خیلی وقته البته بیشتر جاها هستش اگه خواستید بگید بزارم
Roadmap Reverse Engineering
بخش اول – پیشنیازها
1 برنامهنویسی سطح پایین
C/C++ یاد بگیرید چون اکثر برنامههای باینری با این زبانها نوشته میشن
مفاهیم مثل: pointer، stack، heap، buffer، function call.
منابع:
Learn-C.org
کتاب: C Programming Language – Kernighan & Ritchie
2 آشنایی با معماری سیستمها
OS Basics (memory layout، syscalls، ELF/PE)
مفاهیم virtual memory، interrupts، stack frame
منابع:
Operating Systems: Three Easy Pieces
لینوکس یا ویندوز؟ هر دو! ولی شروع با لینوکس راحتتره.
بخش دوم – مهندسی معکوس x86/x64
1 یادگیری اسمبلی x86/x64
دستورها: mov, call, jmp, push/pop, cmp, ret, ...
مفاهیم stack frame، calling convention، registerها (EAX, RAX, ...)
ابزارها:
NASM
Online Disassembler
منابع:
کتاب: PC Assembly Language – Paul Carter
دوره: OpenSecurityTraining – Intro x86
2 کار با دیاسمبلر و دیباگر
IDA Free, Ghidra, x64dbg, Radare2, Cutter
تمرین:
Crackmes (crackmes.one)
انجام آنالیز دستی PE fileها با IDA و Ghidra
یاد بگیرید:
Function prologues
آشنایی با anti-debugging ساده
3 مهندسی معکوس پیشرفته x86/x64
آنپکینگ، آنکریپتینگ
تحلیل obfuscation
تحلیل malware ساده
منابع:
کتاب: Practical Malware Analysis
کتاب: Reverse Engineering for Beginners – Dennis Yurichev
بخش سوم – مهندسی معکوس ARM
1 معماری ARM و تفاوتها با x86
Registerها (R0-R15, SP, LR, PC)
Instruction Set: MOV, ADD, LDR, STR, BL, BX, ...
Thumb و ARM mode
منابع:
کتاب: ARM Assembly Language – William Hohl
سایت: azeria-labs.com (خیلی خوب برای شروعه)
2 تحلیل باینریهای ARM
فریمور دیوایسها یا اپهای اندروید (so files)
ابزار: Ghidra, IDA, Radare2, QEMU, gdb-multiarch
تمرین:
استخراج فایلهای فریمور از دستگاهها
مهندسی معکوس apk و so
3 مهندسی معکوس پیشرفته ARM
تکنیکهای بایپس anti-debugging در موبایل
hooking با Frida یا Xposed
بررسی امنیت اپهای موبایل (اندروید مخصوصاً)
منابع:
کتاب: Android Hacker’s Handbook
سایت: frida.re
بخش چهارم – ابزارهای مکمل و تمرین
ابزارهای دیگر:
Binary Ninja (پولی) – برای تحلیل سریع و تمیز
Frida – Hook و dynamic analysis
Angr – تحلیل سمبلیک
Unicorn/Qiling – اجرای باینری بهصورت امولاتوری
تمرینهای مکرر:
picoCTF
CTFtime
reversing.kr
Root-Me.org
بخش پنجم – آنپکینگ ضدضد مهندسی معکوس و ابزارسازی
1 شناخت انواع پکینگ
UPX، Themida، VMProtect، custom packers
شناسایی packers و آنپکینگ دستی
ابزارها:
PEiD / Detect It Easy
x64dbg برای dump کردن فایل بعد از unpack
Scylla / ScyllaHide
منابع:
کتاب: The IDA Pro Book – Chris Eagle
پستهای وبلاگ Malware Unicorn
2 ضد دیباگینگ و ضد آنالیز
anti-debug APIها: IsDebuggerPresent, NtQueryInformationProcess
کنترل زمان، Thread hiding، SEH abuse، TLS callbacks
ابزار برای بایپس:
ScyllaHide
TitanHide
Patch کردن باینری با x64dbg یا IDA
3 ابزارسازی برای تحلیل باینری
با Python یا Rust ابزار بنویس برای:
آنپکینگ خودکار
استخراج توابع مشکوک
log runtime behavior با Frida
منابع:
پروژههای باز روی GitHub (مثل Capstone + Unicorn combo)
Reverse Engineering StackExchange
بخش ششم – مهندسی معکوس سطح سیستم و کرنل
1 درایورها و کرنل ویندوز
ساختار درایور، IOCTL، DeviceIoControl
دیباگ با WinDbg
2 مهاجرت از یوزر به کرنل
پیدا کردن آسیبپذیریهای درایورها
Exploit نوشتن برای سیستمکالهای آسیبپذیر
منابع:
Windows Internals (Mark Russinovich)
کتاب: Rootkits: Subverting the Windows Kernel
بخش هفتم – تحلیل فریمور و IoT
1 کار با فریمورهای IoT
آنپک کردن imageها (binwalk, firmware-mod-kit)
بررسی سیستمفایلهای استخراجشده
آنالیز ARM یا MIPS باینریها
ابزار:
binwalk
ghidra + qemu
angr + FirmAE برای fuzzing
منبع توپ:
https://firmware.re
Blog: devttys0.com
#roadmap
بخش اول – پیشنیازها
1 برنامهنویسی سطح پایین
C/C++ یاد بگیرید چون اکثر برنامههای باینری با این زبانها نوشته میشن
مفاهیم مثل: pointer، stack، heap، buffer، function call.
منابع:
Learn-C.org
کتاب: C Programming Language – Kernighan & Ritchie
2 آشنایی با معماری سیستمها
OS Basics (memory layout، syscalls، ELF/PE)
مفاهیم virtual memory، interrupts، stack frame
منابع:
Operating Systems: Three Easy Pieces
لینوکس یا ویندوز؟ هر دو! ولی شروع با لینوکس راحتتره.
بخش دوم – مهندسی معکوس x86/x64
1 یادگیری اسمبلی x86/x64
دستورها: mov, call, jmp, push/pop, cmp, ret, ...
مفاهیم stack frame، calling convention، registerها (EAX, RAX, ...)
ابزارها:
NASM
Online Disassembler
منابع:
کتاب: PC Assembly Language – Paul Carter
دوره: OpenSecurityTraining – Intro x86
2 کار با دیاسمبلر و دیباگر
IDA Free, Ghidra, x64dbg, Radare2, Cutter
تمرین:
Crackmes (crackmes.one)
انجام آنالیز دستی PE fileها با IDA و Ghidra
یاد بگیرید:
Function prologues
آشنایی با anti-debugging ساده
3 مهندسی معکوس پیشرفته x86/x64
آنپکینگ، آنکریپتینگ
تحلیل obfuscation
تحلیل malware ساده
منابع:
کتاب: Practical Malware Analysis
کتاب: Reverse Engineering for Beginners – Dennis Yurichev
بخش سوم – مهندسی معکوس ARM
1 معماری ARM و تفاوتها با x86
Registerها (R0-R15, SP, LR, PC)
Instruction Set: MOV, ADD, LDR, STR, BL, BX, ...
Thumb و ARM mode
منابع:
کتاب: ARM Assembly Language – William Hohl
سایت: azeria-labs.com (خیلی خوب برای شروعه)
2 تحلیل باینریهای ARM
فریمور دیوایسها یا اپهای اندروید (so files)
ابزار: Ghidra, IDA, Radare2, QEMU, gdb-multiarch
تمرین:
استخراج فایلهای فریمور از دستگاهها
مهندسی معکوس apk و so
3 مهندسی معکوس پیشرفته ARM
تکنیکهای بایپس anti-debugging در موبایل
hooking با Frida یا Xposed
بررسی امنیت اپهای موبایل (اندروید مخصوصاً)
منابع:
کتاب: Android Hacker’s Handbook
سایت: frida.re
بخش چهارم – ابزارهای مکمل و تمرین
ابزارهای دیگر:
Binary Ninja (پولی) – برای تحلیل سریع و تمیز
Frida – Hook و dynamic analysis
Angr – تحلیل سمبلیک
Unicorn/Qiling – اجرای باینری بهصورت امولاتوری
تمرینهای مکرر:
picoCTF
CTFtime
reversing.kr
Root-Me.org
بخش پنجم – آنپکینگ ضدضد مهندسی معکوس و ابزارسازی
1 شناخت انواع پکینگ
UPX، Themida، VMProtect، custom packers
شناسایی packers و آنپکینگ دستی
ابزارها:
PEiD / Detect It Easy
x64dbg برای dump کردن فایل بعد از unpack
Scylla / ScyllaHide
منابع:
کتاب: The IDA Pro Book – Chris Eagle
پستهای وبلاگ Malware Unicorn
2 ضد دیباگینگ و ضد آنالیز
anti-debug APIها: IsDebuggerPresent, NtQueryInformationProcess
کنترل زمان، Thread hiding، SEH abuse، TLS callbacks
ابزار برای بایپس:
ScyllaHide
TitanHide
Patch کردن باینری با x64dbg یا IDA
3 ابزارسازی برای تحلیل باینری
با Python یا Rust ابزار بنویس برای:
آنپکینگ خودکار
استخراج توابع مشکوک
log runtime behavior با Frida
منابع:
پروژههای باز روی GitHub (مثل Capstone + Unicorn combo)
Reverse Engineering StackExchange
بخش ششم – مهندسی معکوس سطح سیستم و کرنل
1 درایورها و کرنل ویندوز
ساختار درایور، IOCTL، DeviceIoControl
دیباگ با WinDbg
2 مهاجرت از یوزر به کرنل
پیدا کردن آسیبپذیریهای درایورها
Exploit نوشتن برای سیستمکالهای آسیبپذیر
منابع:
Windows Internals (Mark Russinovich)
کتاب: Rootkits: Subverting the Windows Kernel
بخش هفتم – تحلیل فریمور و IoT
1 کار با فریمورهای IoT
آنپک کردن imageها (binwalk, firmware-mod-kit)
بررسی سیستمفایلهای استخراجشده
آنالیز ARM یا MIPS باینریها
ابزار:
binwalk
ghidra + qemu
angr + FirmAE برای fuzzing
منبع توپ:
https://firmware.re
Blog: devttys0.com
#roadmap
🔥38👍5❤4🤣1
کامل و جامع ترین رودمپ ریورس به همراه انواع معماری(Arm x64 x86) به همراه رفرنس و تمرین و کتاب و همه چی رو سعی کردم براتون بزارم عشق کنید ری اکشن رو بترکونید
❤52👍3🔥3
دوستان حمایت کنید اگه حمایت نکنید منم نمیتونم ادامه بدم چون انگیزه ای نیست خیلی ممنون دمتون گرم
❤52👎4🥰3🍾2🗿2👍1💋1
ReverseEngineering
دوستان حمایت کنید اگه حمایت نکنید منم نمیتونم ادامه بدم چون انگیزه ای نیست خیلی ممنون دمتون گرم
لطفا share کنید لینک کانال رو ممنونتون میشم
https://news.1rj.ru/str/reverseengine
https://news.1rj.ru/str/reverseengine
👍18🤝3❤2🫡2
مهندسی معکوس اپلیکیشنهای ویندوزی و پیدا کردن آسیبپذیریها
مقدمات تحلیل آسیبپذیریها در برنامههای ویندوزی
قبل از هرچیزی اینا باید براتون جا افتاده باشه:
درک ساختار حافظه در ویندوز (استک، هیپ، رجیسترها)
مفاهیم باگهایی مثل Buffer Overflow، Use After Free، Integer Overflow
نحوه عملکرد Exception Handling در ویندوز
مقدمات تحلیل آسیبپذیریها در برنامههای ویندوزی
قبل از هرچیزی اینا باید براتون جا افتاده باشه:
درک ساختار حافظه در ویندوز (استک، هیپ، رجیسترها)
مفاهیم باگهایی مثل Buffer Overflow، Use After Free، Integer Overflow
نحوه عملکرد Exception Handling در ویندوز
👍17👏1
ReverseEngineering pinned «Roadmap Reverse Engineering بخش اول – پیشنیازها 1 برنامهنویسی سطح پایین C/C++ یاد بگیرید چون اکثر برنامههای باینری با این زبانها نوشته میشن مفاهیم مثل: pointer، stack، heap، buffer، function call. منابع: Learn-C.org کتاب: C Programming Language…»