PDA

View Full Version : سوال: چگونه مي توان ليست توابعي كه درون يك فايل dll قرار دارند را به دست آورد ؟



BORHAN TEC
یک شنبه 29 فروردین 1389, 10:19 صبح
سلام

سوال: چگونه مي توان ليست توابعي كه درون يك فايل dll قرار دارند را به دست آورد ؟

با تشكر... :قلب:

Felony
یک شنبه 29 فروردین 1389, 10:44 صبح
اگر منظورتون با دلفی هست که نمیدونم در غیر این صورت قبلا یک برنامه در این تاپیک قرار داده بودم :http://barnamenevis.org/forum/showthread.php?t=212254

مهران رسا
یک شنبه 29 فروردین 1389, 10:57 صبح
سلام

سوال: چگونه مي توان ليست توابعي كه درون يك فايل dll قرار دارند را به دست آورد ؟

با تشكر... :قلب:

اگر منظور توابع رابط یا Public باشه . ظاهراً با قابلیت Auto Invoke محیط دلفی باید امکان پذیر باشه . از کلاس dll مورد نظر یک شی ایجاد کنید و با نقطه(.) لیست رو مشاهده کنید . البته مطمئن نیستم

Felony
یک شنبه 29 فروردین 1389, 11:41 صبح
اگر منظور توابع رابط یا Public باشه . ظاهراً با قابلیت Auto Invoke محیط دلفی باید امکان پذیر باشه . از کلاس dll مورد نظر یک شی ایجاد کنید و با نقطه(.) لیست رو مشاهده کنید . البته مطمئن نیستم

خیر امکان پذیر نیست ، DLL که کامپوننت یا کتابخانه یا کلاس نیست که ازش شئ مشتق کنید و بتونید به متد ها و توابعش دسترسی داشته باشید ، به صورت استاندارد هدف از ایجاد DLL از نامش هم پیداست ( Dynamic Link Library ) توانایی استفاده از یکسری دستورات و ... در محیط هایی هست که از DLL پشتیبانی میکنن میکنن و در همه این محیط ها باید توابع داخل DLL ها رو بدونید و با دستوراتی صداشون بزنید .

در کل تا زمانی که مستندات یک DLL در دسترس نباشه نمیشه کار خاصی باهاش انجام داد ، مگر به روش سعی و خطا !!!

vcldeveloper
یک شنبه 29 فروردین 1389, 20:22 عصر
سوال: چگونه مي توان ليست توابعي كه درون يك فايل dll قرار دارند را به دست آورد ؟
اگر منظورتون از داخل برنامه خودتون هست، باید بخش export یک فایل dll را بخوانید، و لیست توابع را از آنجا استخراج کنید. برای اینکه بخواید این بخش از dll را بخوانید، باید با ساختار فایل های PE در ویندوز آشنا باشید.

اگر فقط دنبال یه برنامه می گردید که این کار را انجام بده، همان لینک ارائه شده در پست شماره 2 این کار را برای شما انجام میده.

lord_viper
دوشنبه 30 فروردین 1389, 15:20 عصر
این سورس کد به دلفی بوده که به راحتی مقادیر داخل export table رو خوانده و نام لیست توابع داخل یک dll رو استخراج میکنه

devil00x
جمعه 24 اردیبهشت 1389, 23:50 عصر
دوست عزیز اگه فقط توابع اون رو میخواید می تونید از دستور زیر در محیط shell سیستم عامل استفاده کنی:
tdump -ea dllfile