نقل قول نوشته شده توسط IamOverlord مشاهده تاپیک
کار های مربوط به Import کردن توابع رو FASM انجام می ده، ما فقط کافیه کد رو تولید کنیم که بهش بگیم Import کن.
مثلا این طوری:

section '.idata' import data readable writeable

dd 0,0,0,RVA kernel_name,RVA kernel_table
dd 0,0,0,RVA user_name,RVA user_table
dd 0,0,0,0,0

kernel_table:
ExitProcess dd RVA _ExitProcess
dd 0
user_table:
MessageBox dd RVA _MessageBoxA
dd 0

kernel_name db 'KERNEL32.DLL',0
user_name db 'USER32.DLL',0


البته می تونیم به طور ساده تر از macro استفاده کنیم.
ببین باید تمام جوانب رو در نظر گرفت. حالتی رو در نظر بگیر که برنامه نویس از یه تابع که در dll نیست استفاده کنه.خوب در این حالت یعنی ما باید فرض کنیم که تابع درسته و بسپاریم به اسمبلر که اونم با مشکل مواجه میشه و برای فهمیدن مشکل مجبوریم باز در کد اسمبلر دست ببریم که کار رو مشکل میکنه.
در ثانی اصلا شاید منظور برنامه نویس تابع درون dll هم نبود. و کلآ یه تابع تعریف نشده در برنامه بود.اونوقت چی؟؟

ولی همونطور که گفتم این یه راه حل ساده داره که ما میتونیم توابع و آرگومانهای dll رو بدست بیاریم و به این ترتیب این توابع رو از نظر نام و آرگومان بررسی کنیم. و در صورت عدم اشکال به اسمبلر اجازه استفاده از تابع رو بدیم. به همین سادگی.