شبیه سازی محیط برای جلوگیری از۹۲ unpack شدن packer ... |
در حقیقت DLLها هم مانند رابط برنامهنویسی کاربردی ابزاری هستند که شما از آنها استفاده کردهاید ولی شاید نمیدانستید. اگر نگاهی به دایرکتوریهای WindowsSystem و
۳۲ WindowsSystem و یا خود دایرکتوری ویندوز بیاندازید تعداد زیادی از فایلهای DLL را مییابید. DLL یا کتابخانه پیوندی پویا میباشد که میتواند شامل انواع داده و یا کد باشد. درون DLL میتوان انواعی از دادهها همانند کد، تصویر، صوت و … را قرار داد. نکته جالب فایلهای DLL خاصیت مستقل از زبان برنامهنویسی این فایلها میباشد. یعنی اگر DLL با بهره گرفتن از Delphi ایجاد شده باشد میتوان در Visual Basic یا Visual C++ از آن استفاده کرد. نکته دیگر DLLها، صرفه جویی در مصرف حافظه میباشد که به همین دلیل نام Dynamic را با خود به همراه دارند. در واقع هر قسمت از DLL که فراخوانی میشود همان قسمت به حافظه بار میشود و در صورت عدم نیاز نیز از حافظه خارج میشود. در واقع دلایل استفاده از DLLها را میتوان موارد زیر نام برد:
۱-توانایی اشتراک کردن کد بین چند برنامه و حتی خود ویندوز
۲- استفاده مجدد از کدهای نوشته شده
۳- استفاده بهینه از منابع ویندوز و منابع سیستمی
۴- جدا کردن کدهای مختلف
لازم به ذکر است که DLLها را میتوان با زبانهای مانند Delphi و یا Visual C++ تولید کرد.
حال مطمئناً میتوانید جواب این سوال را که رابط برنامهنویسی کاربردیها در کجا هستند بدهید.
بله رابط برنامهنویسی کاربردیها در فایلهای DLL ویندوز قرار دارند مهمترین DLLها که بیشترین رابط برنامهنویسی کاربردی را در خود جای دادهاند عبارتند از Kernel32.DLL و User32.DLL و Shell32.DLL
جدول ۲-۱ لیستی از DLL ها
User32.dll | شامل توابعی می باشد که ابزار و محیط واسط بین سیستم عامل و کاربرد مثل ماوس ، صفحه کلید منوها و پنجره ها را کنترل می کنند. |
Kernel32.dll | توابع مربوط به حافظه ، فایل، پارتیشن ، درایو و پوشه در این فایل می باشند. |
Gdi32.dll | این فایل که مخفف GraphicsDevice Interface می باشد، توابع گرافیکی و ترسیمی را در خود دارد. |
NetAp.dll | توابع مربوط به شبکه در این فایل موجود می باشد. |
Adv32.dll | رابط برنامه نویسی کاربردیتوابع کار با ریجیستری در این موجود می باشد. |
Winmm.dll | توابع مربوط به مالتی مدیا دراین فایل تعریف شده اند. |
Winspool.drv | توابع مربوط به چاپگر وکار با آن در این فایل می باشند. |
Comdlg32.dll | توابع مربوط به حالتهای مختلف پنجره ی common Dialog در این فایل تعریف شده است. |
۲-۲-۴ مشخصات توابع رابط برنامه نویسی کاربردی
اگر بخواهیم توابع رابط برنامهنویسی کاربردی را که اکثراً با زبان برنامـه نویسی قدرتمند C نوشته شدهاند را براساس ساختار سیستم عامل تقسیم بندی کنیم، میتوان آن را به دو قسمت ۱۶ بیتی و ۳۲ بیتی تقسیم بندی کرد. توابع ۱۶ بیتی به تعداد بیش از ۷۳۰ تابع و توابع ۳۲بیتی به بیش از ۶۵۰۰ تابع میرسند. در تابع رابط برنامهنویسی کاربردی مانند هر تابع ساخته شده در زبانهای برنامه نویسی، متغیرهای ورودی خروجی وجود دارند. این متغیرهای میتوانند از انواع Long،Integer، Int32 ، String، Pchar، Byte و… باشند. در بعضی از توابع رابط برنامهنویسی کاربردی این متغیرها فقط میتوانند مقدار ثابت تعریف شدهای را بگیرند. این ثابتها در نوع ۱۶ بیتی به تعداد بیش از ۱۸۰۰ثابت (Const) و در ۳۲ بیتی به بیش از ۵۵۰۰ ثابت میرسند. در تعدادی از توابع متغیرهای ورودی و یا خروجی به یک ساختار (type) اشاره دارند که فیلدهای این ساختار اطلاعات ورودی و یا برگشتی تابع را در خود نگهداری میکنند. تعداد این ساختار در نوع ۱۶بیتی به بیش از ۵۰ ساختار و نوع ۳۲ بیتی به بیش از۹۵۰ ساختار میرسند.، فایلهای dll حاوی توابع رابط برنامهنویسی کاربردی میتوانند در فایلهای متعددی تعریف شده باشند ولی مهمترین و پرکاربردترین فایلهای به شرح زیر میباشد:
فرم در حال بارگذاری ...
[پنجشنبه 1400-09-25] [ 12:20:00 ب.ظ ]
|