ویرگول
ورودثبت نام
سید عمید قائم مقامی
سید عمید قائم مقامیبرنامه نویسی سیستم ویندوز و مهندسی معکوس و علاقه مند به آموزش.
سید عمید قائم مقامی
سید عمید قائم مقامی
خواندن ۱ دقیقه·۷ روز پیش

زبان اسمبلی در ویندوز قسمت دوم(گرفتن آدرس جاری برنامه)

در 32-bit x86 معمولاً از این ترفند استفاده می‌شود:

  • call آدرس دستور بعدی را روی stack می‌گذارد

  • بعد با pop آن آدرس را می‌گیریم

این یک نمونه کامل MASM 32-bit است:

.386 .model flat,stdcall .stack 4096 ExitProcess proto, dwExitCode:dword .data .code main proc call get_eip get_eip: pop eax invoke ExitProcess, 0 main endp end main

در خط 14 در هنگام اجرای دستور call get_eip آدرس برگشت در استک ذخیره میشود و در خط بعد با انجام عمل pop eax آن مقدار داخل eax قرار میگیرد.

Telegram: @CaKeegan
Bale: @CaKeegan
Gmail : amidgm2020@gmail.com

اسمبلیویندوز
۰
۰
سید عمید قائم مقامی
سید عمید قائم مقامی
برنامه نویسی سیستم ویندوز و مهندسی معکوس و علاقه مند به آموزش.
شاید از این پست‌ها خوشتان بیاید