View Full Version : DLL های مورد نیاز یک فایل
alimooghashang
شنبه 16 خرداد 1388, 16:55 عصر
با سلام
میدونم اینجا جاش نیست، ولی چون تو این فروم زیاد کار کردم دیگه همین جا مینویسم شرمنده
میخواستم بدونم چطوری میشه تو ویندوز فهمید یه فایل exe به چه DLL هایی نیاز داره؟
مثلا توی لینوکس مینویسیم LLD filename برامون میگه به چه کتابخانه هایی نیاز داره
میخواستم بدونم توی ویندوز چطوری میشه لیست کل DLL هایی که نیاز داره را بدست اورد
میدونم وقتی اجرا میکنیم ارر میده که فلان DLL را ندارم
اما این کار فقط برای DLL اول انجام میشه
یعنی تا وقتی اولی نباشه ارر های دیگه را نشون نمیده
برای همین میخواستم بدونم آیا برنامه ای ، Command ای چیزی نیست تو ویندوز بشه باش فهمید
اگر تو اینترنت هم خودش اتوماتیک بگرده و DLL را پیدا کنه که دیگه شاهکاره :لبخند::لبخند:
با تشکر
alimooghashang
سه شنبه 26 خرداد 1388, 13:32 عصر
ما هنوز منتظریم
tdkhakpur
سه شنبه 26 خرداد 1388, 14:16 عصر
سلام
ببینید یک dll تا وقتی فراخوانی نشود یا به اصطلاح تابعی از dll صدا زده نشود errore نبودن یک dll توسط لود کننده dll نمایش داده نمی شود.
و برنامه هم اگه dll اولی را نداشته باشه چه احتیاجی هست dll های بعدی رو بررسی کند.
فکر کنم راهش همینه که Dll اولی را پاس کرده تا بعدیها پرسیده شوند البته این نظر بنده هست و سایر دوستان نظر دیگری داشته باشند.
alimooghashang
سه شنبه 26 خرداد 1388, 14:35 عصر
مرسی
خوب منم همینا میگم
میخوام ببینم میشه یه جوری فهمید همشو تا کلا همشو با هم دانلود کنم
یعنی دیگه نمیخوام یکی یکی بگردم
tdkhakpur
سه شنبه 26 خرداد 1388, 14:43 عصر
سلام
مگه شما برنامه رو نوشتید و کامپایل نکردید خوب برای چی دانلود میکنید.
شما برنامه exe رو در یک فولدر خالی اجرا کنید و dll های خواسته شده رو یک به یک داخل این فولدر ریخته و بسته بندی کنید.
tdkhakpur
سه شنبه 26 خرداد 1388, 14:45 عصر
البته اگر برنامه آماده هست این کار عملی نیست مجبورید به همون روش خودتون عمل کنید.
alimooghashang
سه شنبه 26 خرداد 1388, 20:35 عصر
نه برنامه را من ننوشتم
یه فایل exe هست که یه سری DLL نداره
میخواستم یهو بهفمم چیان که میگین نمیشه
hojjatcroos
چهارشنبه 27 خرداد 1388, 08:50 صبح
سلام
همچین نرم افزاری که نشون بده یک EXE به چه DLL هایی نیاز داره وجود داره ولی یک بدی اون این که تمام DLL ها شامل KERNEL و DLL های عادی رو هم نشون می ده و یکم سر در گمی به وجود میآید.
alimooghashang
چهارشنبه 27 خرداد 1388, 12:56 عصر
لطفا میشه معرفی کنید؟
مرسی
vcldeveloper
چهارشنبه 27 خرداد 1388, 13:29 عصر
ببینید یک dll تا وقتی فراخوانی نشود یا به اصطلاح تابعی از dll صدا زده نشود errore نبودن یک dll توسط لود کننده dll نمایش داده نمی شود.
لزوما اینطوری نیست. این فقط در شرایطی صادق هست که DLL بصورت Dynamic لود بشه. اگر DLL بصورت Static لود بشه، باید در زمان شروع به کار برنامه وجود داشته باشه، وگرنه اصلا برنامه اجرا نمیشه.
برنامه هایی که لیست DLLهای مورد نیاز یک فایل EXE را نمایش میدن، فقط میتونند DLLهایی که بصورت Static لود میشند را نمایش بدهند. برای این کار هم از جدول Import List فایل EXE مربوطه استفاده می کنند.
tdkhakpur
چهارشنبه 27 خرداد 1388, 14:07 عصر
سلام
برای یک برنامه داخل اینترنت 1001 dll با اسم مشابه هست که اگر بخوایید پیداش هم بکنید شاید از نظر ورژن دچار مشکل شوید.
hojjatcroos
چهارشنبه 27 خرداد 1388, 14:43 عصر
حرف دوستان و اقای کشاورز درست است.با این حال این هم برنامه
alimooghashang
پنج شنبه 28 خرداد 1388, 13:36 عصر
ممنون
من یه راه حل خیلی ساده پیدا کردم
امیدوارم به درد دوستان هم بخوره
برنامه را اجرا کنید
بعد برید داخل CMD
اینا بزنید
tasklist /M
و لیست همه را ببینید
vcldeveloper
یک شنبه 31 خرداد 1388, 02:45 صبح
من یه راه حل خیلی ساده پیدا کردم
امیدوارم به درد دوستان هم بخوره
برنامه را اجرا کنید
بعد برید داخل CMD
اینا بزنید
این لیست Moduleهایی هست که در فضای آدرس یک Process لود شدند. این با مفهوم لیست DLLهای استفاده شده در یک فایل EXE فرق میکنه.
در هر حال، اگر هدفتان همین هست که لیست Moduleهای لود شده در یک Process را بدست بیارید، بجای کار بالا، می تونید به راحتی با استفاده ازتابع CreateToolhelp32Snapshot و پارامتر TH32CS_SNAPMODULE این لیست را بدست بیارید.
alimooghashang
یک شنبه 31 خرداد 1388, 12:10 عصر
این لیست Moduleهایی هست که در فضای آدرس یک Process لود شدند. این با مفهوم لیست DLLهای استفاده شده در یک فایل EXE فرق میکنه.
در هر حال، اگر هدفتان همین هست که لیست Moduleهای لود شده در یک Process را بدست بیارید، بجای کار بالا، می تونید به راحتی با استفاده ازتابع CreateToolhelp32Snapshot و پارامتر TH32CS_SNAPMODULE این لیست را بدست بیارید.
حالا این کارم را راه انداخته
اگه مشکلی بود دوباره مطرح میکنم
از دوستان ممنونم بخاطر کمک
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.