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…»
برخی از رایجترین تکنیکهای Binary Exploitation شامل:
1 Buffer Overflow: در این حمله، به مقدار بیش از ظرفیت بافر (حافظه موقت) داده وارد میشود تا باعث تغییر دادههای حافظه یا اجرای کد دلخواه شود این تکنیک اغلب برای اجرای کد دلخواه یا تزریق کد به برنامههای آسیبپذیر استفاده میشود
2 Format String Vulnerability: این نوع آسیبپذیری زمانی اتفاق میافتد که ورودی کاربر بهطور مستقیم در یک دستور printf یا مشابه آن قرار گیرد. حملهگر میتواند از این طریق به بخشهای مختلف حافظه دسترسی پیدا کرده یا دادههای حساس را استخراج کند
3 Use-after-free: این آسیبپذیری زمانی رخ میدهد که یک برنامه پس از آزادسازی حافظه (free) به آن دسترسی پیدا کند. مهاجم میتواند حافظه آزادشده را بازنویسی کرده و از آن برای اجرای کد دلخواه استفاده کند
4 Heap Spraying: مهاجم بهطور مصنوعی حافظه heap را با دادههای خاص پر میکند، به طوری که اجرای کد دلخواه ممکن است به دنبال این دادهها اتفاق بیافتد
5 Return-Oriented Programming (ROP): در این حمله، مهاجم از قطعات کد موجود در برنامه به نام "gadgets" برای ساختن یک رشته دستورات دلخواه استفاده میکند، بدون اینکه نیاز به تزریق کد جدید باشد
6 Stack Smashing: مشابه با buffer overflow است، اما معمولاً در زمینه حملات به پشته (stack) انجام میشود تا آدرس بازگشتی (return address) تابع را تغییر داده و جریان کنترل برنامه را به محل دلخواه هدایت کند
چطور به کار میاد؟
مهاجم معمولاً با استفاده از ابزارهای مهندسی معکوس (مثل گادمپ، OllyDbg، IDA Pro، Ghidra) باینریها رو آنالیز میکنه تا آسیبپذیریها رو پیدا کنه
پس از شناسایی آسیبپذیری مهاجم میتونه یک exploit بنویسه که به سیستم اجازه بده کد دلخواه اجرا کنه یا اطلاعات حساس رو استخراج کنه
#binary_exploitation
#binary
1 Buffer Overflow: در این حمله، به مقدار بیش از ظرفیت بافر (حافظه موقت) داده وارد میشود تا باعث تغییر دادههای حافظه یا اجرای کد دلخواه شود این تکنیک اغلب برای اجرای کد دلخواه یا تزریق کد به برنامههای آسیبپذیر استفاده میشود
2 Format String Vulnerability: این نوع آسیبپذیری زمانی اتفاق میافتد که ورودی کاربر بهطور مستقیم در یک دستور printf یا مشابه آن قرار گیرد. حملهگر میتواند از این طریق به بخشهای مختلف حافظه دسترسی پیدا کرده یا دادههای حساس را استخراج کند
3 Use-after-free: این آسیبپذیری زمانی رخ میدهد که یک برنامه پس از آزادسازی حافظه (free) به آن دسترسی پیدا کند. مهاجم میتواند حافظه آزادشده را بازنویسی کرده و از آن برای اجرای کد دلخواه استفاده کند
4 Heap Spraying: مهاجم بهطور مصنوعی حافظه heap را با دادههای خاص پر میکند، به طوری که اجرای کد دلخواه ممکن است به دنبال این دادهها اتفاق بیافتد
5 Return-Oriented Programming (ROP): در این حمله، مهاجم از قطعات کد موجود در برنامه به نام "gadgets" برای ساختن یک رشته دستورات دلخواه استفاده میکند، بدون اینکه نیاز به تزریق کد جدید باشد
6 Stack Smashing: مشابه با buffer overflow است، اما معمولاً در زمینه حملات به پشته (stack) انجام میشود تا آدرس بازگشتی (return address) تابع را تغییر داده و جریان کنترل برنامه را به محل دلخواه هدایت کند
چطور به کار میاد؟
مهاجم معمولاً با استفاده از ابزارهای مهندسی معکوس (مثل گادمپ، OllyDbg، IDA Pro، Ghidra) باینریها رو آنالیز میکنه تا آسیبپذیریها رو پیدا کنه
پس از شناسایی آسیبپذیری مهاجم میتونه یک exploit بنویسه که به سیستم اجازه بده کد دلخواه اجرا کنه یا اطلاعات حساس رو استخراج کنه
#binary_exploitation
#binary
❤7🔥1👏1
ReverseEngineering
برخی از رایجترین تکنیکهای Binary Exploitation شامل: 1 Buffer Overflow: در این حمله، به مقدار بیش از ظرفیت بافر (حافظه موقت) داده وارد میشود تا باعث تغییر دادههای حافظه یا اجرای کد دلخواه شود این تکنیک اغلب برای اجرای کد دلخواه یا تزریق کد به برنامههای…
چطور میتونیم از Binary Exploitation جلوگیری کنیم؟
1 Safe coding practices: استفاده از روشهای برنامهنویسی امن
2 ASLR (Address Space Layout Randomization): با این تکنیک، آدرسهای حافظه به طور تصادفی تغییر میکنن و حملهگر نمیدونه دقیقا کجا باید حمله کنه
3 Stack Canary: یه نوع محافظت از پشته هست که وقتی تغییرات مشکوکی رو شناسایی کرد جلوی اجرای برنامه رو میگیره
4 DEP (Data Execution Prevention): این تکنیک جلوی اجرای کد در بخشهایی از حافظه که نباید کد اجرا بشه رو میگیره
#binary
#binary_exploitation
1 Safe coding practices: استفاده از روشهای برنامهنویسی امن
2 ASLR (Address Space Layout Randomization): با این تکنیک، آدرسهای حافظه به طور تصادفی تغییر میکنن و حملهگر نمیدونه دقیقا کجا باید حمله کنه
3 Stack Canary: یه نوع محافظت از پشته هست که وقتی تغییرات مشکوکی رو شناسایی کرد جلوی اجرای برنامه رو میگیره
4 DEP (Data Execution Prevention): این تکنیک جلوی اجرای کد در بخشهایی از حافظه که نباید کد اجرا بشه رو میگیره
#binary
#binary_exploitation
👍6❤3
چه ابزارهایی برای Binary Exploitation استفاده میکنیم؟
برای شروع با Binary Exploitation باید چند تا ابزار مهم رو بشناسیم که توی این حملات کمک میکنن این ابزارها میتونن به ما کمک کنن تا آسیبپذیریها رو پیدا کنیم و ازشون بهرهبرداری کنیم
1 Ghidra: یک ابزار تحلیل باینری متنباز از NSA هست. با این ابزار میتونیم برنامههای باینری رو تحلیل کنیم و بفهمیم که کدهای داخلش چطور کار میکنن
2 IDA Pro: یکی از قدرتمندترین ابزارها برای مهندسی معکوس و تحلیل باینریها. البته کمی گرونه
3 gdb (GNU Debugger): ابزار دیباگ کردن برنامههای C و C++ هست خیلی از زمانها به ما کمک میکنه تا رفتار برنامه رو بررسی کنیم و ببینیم چه اتفاقاتی توی حافظه میفته
4 Radare2: ابزار دیگهای برای مهندسی معکوس و تحلیل باینریها که در مقایسه با IDA رایگانتر و متنبازه
#binary
#binary_exploitation
برای شروع با Binary Exploitation باید چند تا ابزار مهم رو بشناسیم که توی این حملات کمک میکنن این ابزارها میتونن به ما کمک کنن تا آسیبپذیریها رو پیدا کنیم و ازشون بهرهبرداری کنیم
1 Ghidra: یک ابزار تحلیل باینری متنباز از NSA هست. با این ابزار میتونیم برنامههای باینری رو تحلیل کنیم و بفهمیم که کدهای داخلش چطور کار میکنن
2 IDA Pro: یکی از قدرتمندترین ابزارها برای مهندسی معکوس و تحلیل باینریها. البته کمی گرونه
3 gdb (GNU Debugger): ابزار دیباگ کردن برنامههای C و C++ هست خیلی از زمانها به ما کمک میکنه تا رفتار برنامه رو بررسی کنیم و ببینیم چه اتفاقاتی توی حافظه میفته
4 Radare2: ابزار دیگهای برای مهندسی معکوس و تحلیل باینریها که در مقایسه با IDA رایگانتر و متنبازه
#binary
#binary_exploitation
❤10👏1
Hacking- The Art of Exploitation (2nd ed. 2008) - Erickson.pdf
4.4 MB
کتاب "Hacking: The Art of Exploitation" نوشته Jon Erickson
یه منبع عالی برای شروع یادگیری هک و امنیته این کتاب بیشتر روی باینری اکسپلویتیشن تمرکز داره و بهتون یاد میده چطور با بهرهبرداری از مشکلات نرمافزاری مثل بافر اورفلو به سیستمها نفوذ کنید و چطور مشکلات امنیتی نرمافزارها رو پیدا کنید و ازشون استفاده کنید مخصوصا برای نفوذ به سیستمهای آسیبپذیر
#book
یه منبع عالی برای شروع یادگیری هک و امنیته این کتاب بیشتر روی باینری اکسپلویتیشن تمرکز داره و بهتون یاد میده چطور با بهرهبرداری از مشکلات نرمافزاری مثل بافر اورفلو به سیستمها نفوذ کنید و چطور مشکلات امنیتی نرمافزارها رو پیدا کنید و ازشون استفاده کنید مخصوصا برای نفوذ به سیستمهای آسیبپذیر
#book
❤13🔥2👏1
بازیابی متادیتا از باینری های NET Native AOT
https://blog.washi.dev/posts/recovering-nativeaot-metadata/
Source: @PfkSecurity
https://blog.washi.dev/posts/recovering-nativeaot-metadata/
Source: @PfkSecurity
Washi
Recovering Metadata from .NET Native AOT Binaries
Ever seen a binary that looks like a .NET binary based on its strings, but .NET decompilers are not able to open them?
❤8👍1🔥1👏1
مراحل پیدا کردن باگ در اپلیکیشنها
1 جمعآوری اطلاعات:
بررسی ساختار برنامه dependencyها dllهای بارگذاریشده
2 رفتارشناسی دینامیک:
اجرای برنامه با ابزارهایی مثل x64dbg ، Procmon، Process Hacker
3 تحلیل استاتیک:
استفاده از IDA یا Ghidra برای بررسی کدها رشتهها
4 فاز کردن ورودیها (Fuzzing):
بررسی واکنش برنامه به ورودیهای ناسالم یا دستکاریشده
5 انالیز کرش و Debug:
دنبال کردن کرشها با WinDbg یا x64dbg برای بررسی مسیر باگ
6 ساخت POC یا اکسپلویت:
اگر باگی پیدا شد، یه کد برای اثباتش بساز
1 جمعآوری اطلاعات:
بررسی ساختار برنامه dependencyها dllهای بارگذاریشده
2 رفتارشناسی دینامیک:
اجرای برنامه با ابزارهایی مثل x64dbg ، Procmon، Process Hacker
3 تحلیل استاتیک:
استفاده از IDA یا Ghidra برای بررسی کدها رشتهها
4 فاز کردن ورودیها (Fuzzing):
بررسی واکنش برنامه به ورودیهای ناسالم یا دستکاریشده
5 انالیز کرش و Debug:
دنبال کردن کرشها با WinDbg یا x64dbg برای بررسی مسیر باگ
6 ساخت POC یا اکسپلویت:
اگر باگی پیدا شد، یه کد برای اثباتش بساز
❤10👏1🤣1
مثال عملی ساده
مثلا برنامهای داری که ورودی یوزر رو میگیره:
اینجا احتمال Buffer Overflow هست با یه فایل ساده حاوی رشتهی بلند برنامه کرش میکنه بعدش با x64dbg مسیر بازنویسی EIP رو دنبال میکنی و یه shellcode کوچیک تزریق میکنی
مثلا برنامهای داری که ورودی یوزر رو میگیره:
char buffer[100];
gets(buffer);
اینجا احتمال Buffer Overflow هست با یه فایل ساده حاوی رشتهی بلند برنامه کرش میکنه بعدش با x64dbg مسیر بازنویسی EIP رو دنبال میکنی و یه shellcode کوچیک تزریق میکنی
🔥3🥰1🤣1