• توجه: در صورتی که از کاربران قدیمی ایران انجمن هستید و امکان ورود به سایت را ندارید، میتوانید با آیدی altin_admin@ در تلگرام تماس حاصل نمایید.

مهندسی معکوس چیست؟

ahmadfononi

معاونت انجمن
(قسمت اول)
مهندسی معکوس (Reverse Engineering)‏ به علمی گفته می‌شود که از پاسخ به سوال می‌رسند و در واقع فرآیند کشف اصول تکنولوژیکی یک دستگاه، شیئ یا یک سیستم می‌باشد که از طریق تجزیه و تحلیل ساختار و عملکرد آن حاصل می‌شود.


در اکثر مواقع موضوع مورد بررسی یک دستگاه مکانیکی، الکتریکی، برنامه نرم افزاری یا یک ماده بیولوژیکی یا شیمیایی می‌باشد که بدون داشتن دانش قبلی و تنها با جداسازی اجزا و تجزیه و تحلیل شیوه عملکرد آن، سعی در ایجاد یک نمونه جدید از آن می‌گردد. مهندسی معکوس به طور عمده در استفاده‌های تجاری و نظامی به کار می‌رود و هدف آن استنباط پارامترهای طراحی یک محصول موجود بدون داشتن دانش کافی در زمینه تولید آن محصول و فقط با پیمودن فرآیند معکوس و به کارگیری تکنیک‌های مشابه می‌باشد.
بی‌شك شناخت محصول و درك عوامل موثر در مشخصه‌های آن، اولین پیش‌نیاز بهبود كیفیت و نوآوری است كه لازمه آن درك مهندسی از مبانی عملكردی قطعه است.
مهندسی معكوس یكی از روشهای دسترسی به دانش فنی است. لازمه اجرای این روش وجود نمونه‌هایی از محصول است كه مبنای كار تحقیقات قرار می‌گیرد
درواقع فرایند بازخوانی یك بخش‎‎‎‏، زیر مجموعه یا كالا بدون كمك طرحها و اسناد و مدلهای كامپیوتری آنان را مهندسی معكوس می‌نامیم. مهندسی معكوس برای بازیابی و تشخیص اجزای متشكله یك محصول، بویژه در صورت عدم دسترسی به طراحی اولیه كاربرد داشته و برای نگهداری، گسترش و توسعه امكانات موجود و مهندسی مجدد مورداستفاده قرار می‌گیرد.
این روش، روش پذیرفته‌شده‌ای برای كشورهای در حال توسعه بشمار می‌رود. در این فرایند ابتدا میزان كمبود اطلاعات فنی برای پشتیبانی از تولید یك محصول معین می‌شود؛ سپس با انجام یك كار تیمی منسجم، متشكل از متخصصان و محققان رشته‌های مختلف علوم پایه به همراه مدیریت و سازماندهی مناسب تشكیلات تحقیقاتی و توسعه‌ای (R&D) سعی می‌شود مدارك و نقشه‌های خاص طراحی محصول به دست آید؛ با درنظر گرفتن مشخصات، هدف و شرایط طراحی محصول، استانداردهای ملی و رایج و همچنین پوشش دادن نقاط مجهول و ناشناخته سعی می‌شود مراحل نمونه‌سازی و نیمه‌صنعتی و در صورت لزوم ساخت و تولید محصول، انجام گردد.


مزایا و دستاوردهای مهندسی معكوس
مهندسی معكوس یكی از روشهای دسترسی به دانش فنی است. لازمه اجرای این روش وجود نمونه‌هایی از محصول است كه مبنای كار تحقیقات قرار می‌گیرد؛ در این روش برای دستیابی به دانش فنی به برون‌فكنی اطلاعات فنی از طریق تجزیه محصول متوسل می‌شویم كه اصطلاحا كشف كردن دانش فنی نامیده می‌شود.
در این فرایند كارشناسان مربوطه، مشخصات، هدف و شرایط طراحی محصول را در نظر گرفته و سعی در ساخت و تولید محصول طبق استانداردهای ملی و رایج خود دارند و نقاط مجهول و ناشناخته مساله را نیز با درایت و بررسیهای كارشناسی و تحقیقاتی پوشش می‌دهند، بدون اینكه از ابتدا درگیر جزئیات فنی و طراحی محصول شده باشند.
شاید بتوان از مهندسی معكوس به عنوان كپی‌برداری آگاهانه از یك محصول نام برد،‌ روشی كه عده‌ای از كشورهای شرق آسیا و نیز تعدادی از كشورهای اروپایی بعد از جنگ جهانی دوم عملا پیاده كردند و در حال حاضر جزء كشورهای پیشرفته و صنعتی محسوب می شوند.

مزایا و دستاوردهای مهندسی معكوس را می‌توان در موارد ذیل خلاصه نمود:
1 - ایجاد توانایی و تقویت تكنیكی-فناوری ساخت از طریق شناخت و درك كامل محصول (اخذ دانش فنی محصول) و بوجود آوردن اعتمادبه‌نفس در مهندسان و كارشناسان صنعت در مواجهه با صنایع و فن‌آوری‌های وارداتی.
2 - امكان طراحی یك محصول بهنگام، در سطح استانداردهای جهانی با كشف راههای جدید بهبود و توسعه محصول در جهت ارضای نیازهای مشتری همانند عملكرد بهتر، افزودن ویژگیهای مطلوب و رفع نواقص محصول؛ همچنین ارضای نیازهای بازار مثل تغییر فناوری یا بهبود آن و كاهش هزینه.
3 - ایجاد توان بالقوه جهت جذب، به هنگام انتقال فناوری‌های پیشرفته در عرصه جهانی.
4 - تربیت نیروی متخصص موردنیاز در صنایع استراتژیك.
5 - بوجود آوردن قدمهای سیستماتیك برای كمك به درك و مستندسازی طراحی و فرایند طراحی.
6 - امكان الگوبرداری رقابتی در جهت درك محصولات رقبا و توسعه بهتر محصولات خود.
7 - امكان انجام مهندسی مجدد با استفاده از دانش فنی اخذ شده بوسیله مهندسی معكوس.
مهندسی معكوس در زمینه‌های مختلف سخت‌افزاری و نرم‌افزاری از جمله برای غلبه بر عیب ها یا گسترش توانایی های دستگاههای موجود، تهیه قطعات یدكی و ایجاد مراكز تعمیر و نگهداری دستگاههای پیشرفته، به عنوان ابزاری برای یادگیری، ابزاری برای ساختن محصولات جدید و سازگار كه از محصولات موجود در بازار ارزان تر باشند، ابزاری برای رقابت، برای بالا بردن كارایی نرم‌افزارها مورداستفاده قرار می‌گیرد و در حیطه‌های سخت‌افزار و نرم‌افزار رایانه‌ای نیز اهمیت ویژه‌ای دارد.


دلایل استفاده از مهندسی معکوس
نوسازی نرم افزار: مهندسی معکوس به صورت کلی برای درک وضعیت موجود برنامه مورد نیاز است. این عمل به منظور برآورد درست کوشش های مورد نیاز برای مهاجرت اطلاعات سیستم به یک وضعیت دلخواه است.
نگهداری نرم افزار: مهندسی معکوس نرم افزار می تواند مستندات لازم را برای درک وضعیت فعلی نرم افزار سیستم فراهم کند.
آنالیز محصول: برای بررسی اینکه یک محصول چه گونه کار می کند،از چه اجزایی تشکیل شده، برآورد هزینه ها و مشخص کردن حقوق مالکیت بالقوه.

بازبینی امنیتی
بدست آوردن اطلاعات حساس به کمک دیس اسمبل و تجزیه و تحلیل طراحی اجزای سیستم
حذف محافظ کپی، دور زدن محدودیت های دسترسی.
ایجاد کپی های بدون مجوز / تایید نشده.
اهداف علمی / آموزشی.



فرآوری: مریم نایب زاده
بخش دانش و زندگی تبیان
منبع: ieir-reverseeng/ catiabook/ reverse-engineering
 

ahmadfononi

معاونت انجمن
(قسمت دوم)
مهندسی معكوس یكی از روشهایی است كه شركتها با بكارگیری آن، فرایند تكوین محصول خود را سرعت می‌بخشند. این روش پاسخی به افزایش توان طراحی و تسریع فرایند تكوین است.


مهندسی معکوس در حوزه نرم افزار
در عمل دو نوع عمده از مهندسی معکوس وجود دارد. در حالت اول، سورس کد برای برنامه وجود دارد، اما سطوح بالاتری از جنبه های این برنامه، شاید مستندات ضعیف یا مستنداتی که دیگر اعتبار ندارد، مشاهده می شوند. در حالت دوم، سورس کدی برای برنامه موجود نیست و هرگونه تلاشی در جهت استخراج یک سورس کد ممکن برای نرم افزار به عنوان مهندسی معکوس در نظر گرفته شده است. مهندسی معکوس نرم افزار برای جلوگیری از نقض کپی رایت می تواند از تکنیک طراحی اتاق پاک استفاده کند.

متدولوژی مهندسی معكوس
ایجاد یك روش منطقی و سیستماتیك برای تعیین میزان كمبود اطلاعات فنی برای پشتیبانی از تولید یك محصول و سپس انجام یك كار تیمی منسجم برای تكمیل این اطلاعات، مجموعه عملیاتی است كه در فرایند مهندسی معكوس بوقوع می‌پیوندد. سطحی از اطلاعات فنی موردنیاز كه كلیه تلاشها در راستای تشخیص میزان كمبود آن و سپس رفع این كمبود اطلاعاتی است، بسته اطلاعات فنی (Technical Data Package) نامیده می‌شود.

به رغم ظرافت و نیاز به دقت بسیار زیاد در مهندسی معكوس، كاهش زمان عملیات امری بسیار مهم در این زمینه است. در اینجا شرح مختصری از فرایند كلی مهندسی معكوس و متدولوژی آن بیان می‌كنیم:
مرحله اول – تجزیه و تحلیل عملكردی - اقتصادی:
الف - هدف‌گذاری و جمع‌آوری اطلاعات: در این مرحله توسعه محصول، رفع عیب محصول و خودكفایی معرفی و سپس هدف از انجام پروژه درمورد هر یك تبیین می‌شود. هدف از فاز جمع‌آوری اطلاعات این است كه كلیه مستندات جمع‌آوری شده و تولید اطلاعات و مستندات فنی در حین اجرای مهندسی معكوس آسان گردد.
ایجاد یك روش منطقی و سیستماتیك برای تعیین میزان كمبود اطلاعات فنی برای پشتیبانی از تولید یك محصول و سپس انجام یك كار تیمی منسجم برای تكمیل این اطلاعات، مجموعه عملیاتی است كه در فرایند مهندسی معكوس بوقوع می‌پیوندد
ب - ارزیابی اطلاعات و برنامه‌ریزی: هدف از انجام این فاز، مشخص كردن سطح اطلاعات ناقص موردنیاز و نیز تخمین هزینه انجام مهندسی معكوس است. باتوجه به این سطح تخمین زده شده، برآوردهای اولیه روی تخصصها، آزمایشات، تجهیزات و مواردی ازین دست برای اجرای مهندسی معكوس صورت می‌گیرد و پس از تخمین هزینه، تخصیص منابع و برآورد زمان معقول برای تولید این اطلاعات در جهت كامل كردن بسته اطلاعات فنی، نمودار گانت اجرایی پروژه ارائه می‌شود و یك نقشه برای روند كار حاصل می‌آید.

مرحله دوم - آنالیز عملكرد و دمونتاژ مورد:
هر موردی می‌تواند متشكل از چند جزء (مكانیسم‌ها و اجزای مختلف) باشد كه هر یك وظیفه خاصی را بر عهده دارند و برایند آنها وظیفه موردنظر را برای مورد بوجود می آورد. در این مرحله از فرایند، تیم مهندسی معكوس باید بتواند پارامترها و مشخصه‌های مهم ورودی و خروجی هر جزء را شناسایی كند؛ پس از شناسایی اجزاء و ورودی و خروجیهای آن (با استفاده از قضاوت مهندسی، طراحی آزمایشات، شبیه‌سازی رایانه‌ای و ...) باید عملكرد اجزاء با مدارك فنی موجود ممیزی شود تا مغایرتهای آن مشخص شود (فاز FCA یا ممیزی عملكرد فنی اجزاء).


در ادامه اطلاعات فنی موردنیاز اجزاء از طریق آزمایش استخراج می‌شود (فاز PCA یا ممیزی فیزیكی اجزاء). تفكیك و مونتاژ اجزاء، در صورتی كه قابل‌تجزیه به اجزای سطح پایین‌تر باشند می‌تواند تا رسیدن به سطح قطعه ادامه یابد تا اینكه یك سطح برای مونتاژ بیان شود. در تفكیك بایـــد وظیفه عملكردی اجزای پایین‌تر شناسایی شود تا ممیزی عملكرد فنی اجزاء و ممیزی فیزیكی اجزاء بر روی آنها نیز صورت گیرد.
در انتهای این مرحله بسته‌های اطلاعات فنی كه طی عملیات ممیزی عملكرد فنی اجزاء و ممیزی فیزیكی اجزاء ایجاد و تكمیل شده‌اند پس از صحه‌گذاری، اطلاعات لازم درباره تهیه نقشه‌های سطح یك (كه چگونگی حركت مكانیسمها و انتقال عملكرد به اجزای دیگر را كاملا مشخص می كنند) را فراهم خواهندآورد.

مرحله سوم - آنالیز سخت‌افزاری و نرم‌افزاری:
الف) آنالیز مواد: با آنالیز شیمیایی و متالورژیك، مطالعه لایه‌های سطحی، اندازه‌گیری خواص مكانیكی، بررسیهای ساختاری و عیوب انجام می‌گیرد.
ب) بررسی فرایند ساخت: باتوجه به نوع سطوح فیزیكی در قطعه، فرایند ممكن برای تولید این سطوح، بررسی تنشهای سطحی و ساختار میكروسكوپی و اندازه گیری بعضی از ویژگیهای غیـــربحرانی مانند صافی سطح كه به طور فرعی در تشخیص فرایند ساخت كمك می كند، انجام می‌شود.


ج) آنالیز ابعادی: كه مشتمل بر مراحلی چون اندازه‌گیری ابعادی، آنالیز تلرانس و آنالیز حساسیت است.
د) آنالیز الكتریكی - الكترونیكی در صورت نیاز: باتوجه به مشخصه‌های خروجی مدار، مسیر مدارها، مواد، روشهای زدودن پوششها، اتصالات موردنیاز برای تولید مجدد مورد بررسی قرار می‌گیرند. نتایج حاصل از این قسمت در نقشه‌های سطح دو ثبت و ترسیم می شوند.

مرحله چهارم - بهبود محصول و آنالیز ارزش:
با استفاده از اطلاعات جدید تهیه شده هنگام فرایند و انجام بازنگری مهندسی ارزشی در كاندیداهای در نظر گرفته شده برای مهندسی معكوس، می‌توان برخی از حوزه‌های پرهزینه مثل عیوب طراحی، طراحی اضافی، عملكرد بهبود، محدودیتهای بیش از حد در مورد تلرانسها، نیازمندیهای بیش از اندازه برای عملكردها و مواردی این چنینی را آشكار و آنها را قبل از تكمیل فرایند اصلاح كرد.

مرحله پنجم - برنامه‌ریزی فرایند تولید و تهیه ملزومات تضمین كیفیت:
در این مرحله كلیه بسته‌های اطلاعاتی كه تاكنون كامل شده از دیدگاه قابلیت تولید و فرایندهای ساخت موردتوجه قرار می‌گیرند؛ به طور خلاصه خروجی این مرحله به ایجاد نقشه‌های سطح سه منجر می‌شود كه ملزومات ضروری و موردنیاز واحدهای طراحی، مهندسی، ساخت و كنترل كیفیت را برای دستیابی یا ساخت آیتم موردنظر شامل می‌شود.


به طوركلی نقشه‌های سطح سه نتیجه فرایند مهندسی معكوس بوده كه شامل كلیه پارامترهای مستندسازی شده لازم جهت تولید یك آیتم خواهند بود و هدف از انجام آن تصدیق و تایید دقت بسته اطلاعات فنی برای پشتیبانی از تولید قطعات است تا از این طریق اطمینان كافی از صحت و دقت و كامل بودن نقشه‌ها و مشخصه‌های ایجاد شده توسط فرایند مهندسی معكوس حاصل شود.

مرحله ششم - تهیه مستندات نهایی
در هنگام ساخت و تست محصول تولیدی در فاز تولید نمونه، بسیاری از نقشه‌های مهندسی و رویه‌های تست چندین بار بازنگری و اصلاح می‌شوند كه تمام سطوح بازنگری شده از سطح صفر تا آخرین نتایج باید در بسته اطلاعات فنی قرار داده شوند؛ با اضافه شدن اطلاعات بدست آمده از بازرسی‌ها و اطمینان كیفیتِ نمونه‌های تولید شده به بسته اطلاعات فنی، یك بستـــه اطلاعات فنی كامل شده بدست می‌آید و پس از مطابقت با استانداردهای بسته‌های اطلاعات فنی، در انتها یك بسته اطلاعات فنی نهایی كامل در ارتباط با محصول كه هدف فراینـــــد مهندسی معكوس است، بدست می‌آید.

ادامه دارد...

فرآوری: مریم نایب زاده
بخش دانش وزندگی تبیان
منبع: ieir-reverseeng، catiabook، reverse-engineering
 
بالا