انجمنهای فارسی اوبونتو
کمک و پشتیبانی => سختافزار => نویسنده: tafa9001 در 30 اردیبهشت 1389، 12:11 قظ
-
آیا میشه درایوری رو که توی ویندوز نصب شده رو برداشت و برای اوبونتو از نو نوشت ؟
یا باید حتما کارخونش درایور لینوکس رو ارایه بده ؟
-
آیا میشه درایوری رو که توی ویندوز نصب شده رو برداشت و برای اوبونتو از نو نوشت ؟
یا باید حتما کارخونش درایور لینوکس رو ارایه بده ؟
سلام
من شنيدم از طريق مهندسي معكوس نرم افزار مي شه. ولي كاره بسيار سختيه چون اگه اسمبلي كار كرده باشيد مي دونيد كه decompile يه فايل اجرايي به خصوص در مورد درايورها كه اصولا بزرگ هم هستند شامل هزاران خط كد اسمبلي هست.
-
من که نفهمیدم !
مهندشی معکوس دیگه چه صیغه ایه ؟
-
من که نفهمیدم !
مهندشی معکوس دیگه چه صیغه ایه ؟
به زبان ساده:
وقتی می خوایم یه نرمافزار جدید بنویسیم شروع به نوشتن کد اون نرم افزار می کنیم و نهایتا اون کد رو کامپایل می کنیم و یه فایل اجرایی به دست می آریم که همون نرم افزار ماست. حالا در مهندسی معکوس نرمافزار فایل اجرایی یه نرمافزار که تولید شده رو داریم و می آییم توسط دیکامپایل (decompile) کردن اون و بررسی کدهای اسمبلی بدست آمده نرم افزار رو به زبان های دیگه برنامه نویسی بازنویسی می کنیم. به همین سختی... ;)
-
من که نفهمیدم !
مهندشی معکوس دیگه چه صیغه ایه ؟
به زبان ساده:
وقتی می خوایم یه نرمافزار جدید بنویسیم شروع به نوشتن کد اون نرم افزار می کنیم و نهایتا اون کد رو کامپایل می کنیم و یه فایل اجرایی به دست می آریم که همون نرم افزار ماست. حالا در مهندسی معکوس نرمافزار فایل اجرایی یه نرمافزار که تولید شده رو داریم و می آییم توسط دیکامپایل (decompile) کردن اون و بررسی کدهای اسمبلی بدست آمده نرم افزار رو به زبان های دیگه برنامه نویسی بازنویسی می کنیم. به همین سختی... ;)
این کار شبیه کرک کردن هست! کرک نوعی مهندسی معکوس هست، اما هر مهندسی معکوس، کرک نیست!
من فکر نمیکنم از اون روش استفاده کنن، فکر میکنم ورودیهای مختلفی به یک سختافزار خاص میدن و خروجیش (پاسخش به اون ورودیها) رو با دقت بررسی میکنن و به این ترتیب سعی میکنن طرز رفتار اون سختافزار رو کشف کنن و بر اساس اون، یک درایور آزاد براش بنویسن.
مهندسی معکوس فقط مختص کرک، و درایورنویسی برای سختافزار نیست. برای کشف کردن فرمت فایلها (که فرمتش آزاد نیست) هم استفاده میشه مثلاً خودم توی PyGlossary برای لود کردن فایلهای BGL (دیتابیسهای بابیلون) مجبور شدم از مهندسی معکوس استفاده کنم (بایتهای فایل باینری BGL و دیتابیس decode شدهش رو دقیق بررسی کنم و سعی کنم به معناشون پی ببرم و موتور decode کردنش رو به تدریج اصلاح کنم)، تازه قبل از من هم دو نفر روی BGL مهندسی معکوس کرده بودن و من کار اونها رو ادامه دادم ولی هنوزم که هنوزه پشتیبانی از BGL کامل کامل نشده!!
مهندسی معکوس واقعاً کار سختیه!! به همین دلیل فرمتهای آزاد و استانداردهای آزاد، اهمیتشون کمتر از نرمافزارهای آزاد نیست.
-
خیلی آموزنده بود
ممنون
-
دوستان ممنون
سه تا سوال دیگم دارم :
اول اینکه در اینجا
http://wiki.ubuntu.ir/DirectXonwine
نحوه نصب دایرکت اکس رو گفته و تو اون از چند تا فایل dll استفاده کرده سوال من اینه که آیا میشه درایورهای ویندوز رو با روشی شبیه به این تو اوبونتو نصب کرد ؟
و سوال دومم اینه که اگه سی دی یا دی وی دی درایوری رو که برای لپ تاپ داریم رو تو اینترنت منتشر کنیم آیا لینوکس کارا میتونن از رو اونا درایور لینوکس رو در بیارن یا حتما باید مهندسی معکوس بشه ؟ ؟
ضمنا این مهندسی معکوس و درست کردن درایور رو چه جوری میشه یاد گرفت و درایور رو درست کرد ؟
ممنون میشم اگه جوابم رو بدید
-
اول اینکه در اینجا
http://wiki.ubuntu.ir/DirectXonwine
نحوه نصب دایرکت اکس رو گفته و تو اون از چند تا فایل dll استفاده کرده سوال من اینه که آیا میشه درایورهای ویندوز رو با روشی شبیه به این تو اوبونتو نصب کرد ؟
نخیر!
درایور به کرنل سیستمعامل وابستهس! حتی درایور باینری برای یک کرنل یونیکس مثلا FreeBSD رو نمیشه توی لینوکس استفاده کرد. مگه اینکه سورسش موجود باشه و پورت بشه. یا اینکه از صفر from scratch با مهندسی معکوس نوشته بشه!
و سوال دومم اینه که اگه سی دی یا دی وی دی درایوری رو که برای لپ تاپ داریم رو تو اینترنت منتشر کنیم آیا لینوکس کارا میتونن از رو اونا درایور لینوکس رو در بیارن یا حتما باید مهندسی معکوس بشه ؟ ؟
نخیر! اگه به این راحتی بود که همهٔ سختافزارها درایور لینوکسی داشتن!
ضمنا این مهندسی معکوس و درست کردن درایور رو چه جوری میشه یاد گرفت و درایور رو درست کرد ؟
کار خیلی سخت و طاقتفرسایی هست و به برنامهنویسی سطحپایین (با C و اسمبلی) و الکترونیک قوی و به مقدار کافی هوش بالا نیاز داره (این آخری رو ایشالا دارید ولی بقیه رو فکر نمیکنم) بهتره بیخیالش بشید. ;)
-
ضمنا این مهندسی معکوس و درست کردن درایور رو چه جوری میشه یاد گرفت و درایور رو درست کرد ؟
ممنون میشم اگه جوابم رو بدید
سلام :)
به یاری خدا من تصمیم دارم یه آموزش اسمبلی و موراد وابسته به اون رو تو فروم شروع کنم...
به زودی انشاالله...
-
سلام Smiley
به یاری خدا من تصمیم دارم یه آموزش اسمبلی و موراد وابسته به اون رو تو فروم شروع کنم...
به زودی انشاالله...
منتظریم ....
-
الان در حال جمع آوری مطالب جلسات هستم تا وقتی به جلسهی پنجم رسید غیب نشم و تاپیک متوقف بشه... ;D
-
اول اینکه در اینجا
http://wiki.ubuntu.ir/DirectXonwine
نحوه نصب دایرکت اکس رو گفته و تو اون از چند تا فایل dll استفاده کرده سوال من اینه که آیا میشه درایورهای ویندوز رو با روشی شبیه به این تو اوبونتو نصب کرد ؟
اینی که اینجا گفته داره از نرمافزار واین استفاده میکنه که این برنامه شبیهساز محیط ویندوز، برای اجرای برنامههای ویندوزیه. directX درایور سختافزاری مثل درایور کارت گرافیکی و مودم و ... نیست. و نمیشه درایوری رو تو واین نصب کرد که لینوکس ازش استفاده کنه.
ضمنا این مهندسی معکوس و درست کردن درایور رو چه جوری میشه یاد گرفت و درایور رو درست کرد ؟
کار خیلی سخت و طاقتفرسایی هست و به برنامهنویسی سطحپایین (با C و اسمبلی) و الکترونیک قوی و به مقدار کافی هوش بالا نیاز داره (این آخری رو ایشالا دارید ولی بقیه رو فکر نمیکنم) بهتره بیخیالش بشید. Wink
کار نشد که نداره، حالا یکی پیدا شده که به این کار علاقهمند شده، شما چرا منصرفش میکنید ;) شاید این جرقهای باشه که رو جریان زندگی دوستمون تاثیر بزاره و بره تو کار نوشتن درایور :o چند وقت دیگه هم بهش میگیم درایور مودم دیالآپ بنویسه یه ملت شاد شن! مگه بده.