View Full Version : سوال: بدست آوردن اطلاعات درایور نصب شده
jeson_park
جمعه 08 آذر 1392, 17:49 عصر
سلام
وقتی یه درایور رو نصب می کنیم در بیشتر مواقع فایل های DLL و .exe همراه با این درایور روی ویندوز نصب می شه
راهی هست که بتونیم همه مسیر فایل هایی که مربوط به یه راه انداز خاص هست ره بدست بیاریم؟؟ مثلاً جایی از رجیستری هست که این اطلاعت درش ذخیره شده باشه؟؟
برای مثلا به این عکس نگاه کنید
113342
همون طور که توی عکس می بینید یه سری فایل sys هست و یه تعداد dll و ...
این فایل ها بعد از کلیک روی install و نصب شدن راه انداز هر کدوم توی یه قسمت کپی می شن
آیا راهی هست که بفهمیم این ها کجا نصب شدن؟؟
---edit---
این چیزی که من می خوام دقیقاً توی پنجره Driver File Details هست
113359
می خوام بدونم ویندوز چطوری این فایل ها رو لیست می کنه؟؟
r00tkit
چهارشنبه 13 آذر 1392, 22:10 عصر
سلام هر کاری که مربوط به Device Manager هستش رو می تونی با SetupAPI انجام بدی ( برای کار با این API نیاز هستش که مفاهیم پایه درایور و نصب رو بدونی مثل setup class - interface class - devnode ,.. )
برای لیست فایل ها هم می تونی از این کار استفاده کنی
سورس devcon رو بخون این کارو کرده
کلمات کلیدی :
SetupScanFileQueue
DIF_INSTALLDEVICEFILES
قربان شما R00tkit :|
-----
پ.ن:راه حل های هکری :
1) می تونی procmon روی برنامه نصب بزنی و ببینی چه فایلی هایی رو کجا کپی می کنه
2) لاگ Setup api رو بعد از نصب درایو نگا کن
jeson_park
پنج شنبه 14 آذر 1392, 10:30 صبح
سلام
روت کیت جان ممنون بابت پاسخ
SetupAPI مربوط به نصب می شه
مساله اینه که من می خوام بعد از نصب بفهمم فایل ها کجا افتاده...موقع نصب که می شه فهمید!
منظورم اینه که درایوری هست که مثلاً 4-5 ماه پیش یه نفر رو سیستم نصب کرده..حالا من می خوام بفهمم این درایور چه فایل هایی رو همراه خودش نصب کرده
---
این procmon هم خیلی ناجوره یه پنجره که با procmon مانیتور می کنی 1000 تا query از رجیستری و کلی هم I/O نشون می ده معلوم نیست چه جوریه
r00tkit
پنج شنبه 14 آذر 1392, 18:51 عصر
SetupAPI مربوط به نصب می شه
نخیر یکی از کاربرد هاش نصب هستش
من اول گفتم هر چی که عکس بهت داد با این api می شه بدست اورد اصلا خود ویندوز هم از همین API استفاده می کنه تا ان لیست رو ایجاد کنه (یعنی بعد از نصب ) فقط اسمش Setup هستش
شما گفتی هر چی که این عکس نشون می ده رو می خوام اینم دقیقا همون کارو می کنه
من از این APi استفاده ( توی کارم مربوط به کرنل ویندوز ) های زیادی کردم
دو تا روش هم بهت گفتم موقع نصب بود که ظاهرا نتونستی از procmon استفاده کنی - باید از فیلتر های مناسب در کنار هم استفاده کنی مثلا 1) فقط فعالیت های مربوط به فایل رو نشون بده 2) فقط فایل هایی که ایجاد می شه رو نشون بده 3) در نهایت همه اینا اگه توسط برنامه اینیستالر من بود فقط نشون بده
این طوری لیست فایل های ایجا شده و مسیرش توسط برنامه نصب رو نشون می ده از این تکنیک ها موقع انالیز بد افزار ها استفاده می کنم ( runtime انالیز - البته من ابزار( درایور) مانیتور خودم رو نوشتم مثل procmon چون procmon شناخته شده هستش و بد افزار ها بهش حساس هستن )
می شه بپرسم برای چی می خوای این کارو؟ دیوایس منیجر داره بهت نشون می ده که کدش رو برای چی می خوای ؟
موفق باشی
jeson_park
یک شنبه 17 آذر 1392, 15:13 عصر
سلام
شما گفتین
1) می تونی procmon روی برنامه نصب بزنی و ببینی چه فایلی هایی رو کجا کپی می کنه
2) لاگ Setup api رو بعد از نصب درایو نگا کن
من هم خدمت شما عرض کردم که شرایط جوری نیست که بخوام بعد از نصب و هنگام نصب چک کنم چون
مساله اینه که من می خوام بعد از نصب بفهمم فایل ها کجا افتاده...موقع نصب که می شه فهمید!
منظورم اینه که درایوری هست که مثلاً 4-5 ماه پیش یه نفر رو سیستم نصب کرده..حالا من می خوام بفهمم این درایور چه فایل هایی رو همراه خودش نصب کرده
اما چرا این رو می خوام
خب روزانه سیستم های زیادی رو برای تعمیر یا حل مشکل نرم افزاری پیشم میارن
بعضی وقتا یه سیستم داریورش مشکل پیدا می کنه می خوام دوباره نصب کنم جالبه که ویندوز ازم قبول نمی کنه از یه طرف می گه درایور نصب شده آخرین ورژن این درایور هست و از طرفی اون سخت افزار(مخصوصاً کارت صدا) اصلاً کار نمی ده
خواستم برنامه ای بنویسم که علاوه بر پاک کردن اون درایور فایل های مربوط با هاون رو هم پاک کنه تا درایور به طور کامل پاک بشه
r00tkit
یک شنبه 17 آذر 1392, 23:19 عصر
مثل اینکه زبان مشترکی وجود نداره بینمون :)
به طور خلاصه
1) یا شما بعد نصب می خوای بدونی ( که گفتم قبلا ) با Setupapi
2)یا هنگام نصب با ان دو روش ذکر شده
فکر نکنم حالت سومی باشه :D
کلا درایور ها نیاز به dll و exe ندارن تنها همون sys هستش و برای نصب می تونی از infشون استقاده کنی ( البته بعضی درایور ها از exe و dll برای نصب استفاده می کنن
فکر کردم کد کرنل می نویسی :D
اخرین پست
jeson_park
دوشنبه 18 آذر 1392, 17:36 عصر
نه مثل اینکه نیست زبان مشترکی!
به طور خلاصه هم بنده گفتم
کاری به موقع نصب ندارم
من بعد نصب می خوام اطلاعات رو بدست بیارم
کلا درایور ها نیاز به dll و exe ندارن تنها همون sys هستش و برای نصب می تونی از infشون استقاده کنی ( البته بعضی درایور ها از exe و dll برای نصب استفاده می کنن
اما همونطور که توی عکس هم نشون دادم همراه خودشون تعدادی dll و ... هم نصب نمی کنم
شاید نیاز باشه کد کرنل نوشته شه واسه همین تو این بخش پرسیدم
r00tkit
سه شنبه 19 آذر 1392, 15:12 عصر
دوباره پست های منو بخون این بار با دقت :| جواب سوال به درسی داده شده
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.