به نام خدا


فلسفه اسمبلی و مهندسی معکوس



برخی از مفاد فلسفه ی زبان برنامه نویسی اسمبلی را در پست  فلسفه اسمبلی ، بیان کردم . 


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



متاسفانه در سرتاسر دنیا خصوصا در ایران ،  کمتر کسی جرات می کند بگوید : مهندسی معکوس بهترین روش برنامه نویسی است و باعث افزایش امنیت می گردد 


بله ! حتی  پروفسور توماس گریتار  طراح و مخترع فلت اسمبلر ، در مصاحبه ای که از او شده است در پاسخ به این سوال که نظرتان در مورد مهندسی معکوس چیست ، اعلام کرده که مهندسی معکوس که کار غیرقانونی است هرچند که کرکرها بهترین برنامه نویسان زبان اسمبلی می باشند !!


ایشان معتقد است که لزومی ندارد شما از تمام اسرار باینری و زبان ماشین سردر بیاورید و همینقدر که بتوانید با کمک زبان اسمبلی ، نرم افزار بسازید کافیست !!!!



برهمین اساس ، فلت اسمبلر اصلا دیس اسمبلر ندارد  . در حالیکه  نتواید اسمبلر (Nasm)  و  ریاکت اسمبلر  (RosAsm) و حتی  مایکروسافت اسمبلر (Masm) ، از مهندسی معکوس و دیس اسمبلی پشتیبانی می کنند . بنابراین استدلال ایشان چندان صحیح نیست و یک کاربر هوشمند اگر بخواهد به قول خود ایشان به بهترین برنامه نویس اسمبلی  تبدیل شود باید بتواند نرم افزارهای دیگران را کرک کند تا از تمام اسرار مخفی درون نرم افزارها سردر بیاورد و حتی بتواند بدافزارها و ویروسها را از درون باینری نرم افزارهای سالم ، بیرون کشیده و نرم افزار را از شر این موجودات خبیث ، نجات دهد . 



مهندسی معکوس ، در هیچ کشوری غیرقانونی نیست زیرا در تمام کشورهای دنیا حتی آمریکا ، به شرط استفاده از قوانین اتاق پاک و رعایت قوانین بین المللی کپی رایت ،  می توانید نرم افزارهای تجاری و پولی و انحصاری و کدبسته را با کمک زبان اسمبلی ، دیس اسمبل و مهندسی معکوس کنید تا بتوانید بدافزارها و تروجان ها و ویروسها را شناسایی و حذف کنید و نرم افزار را بدون نیاز به آنتی ویروس ، از شر  هرنوع بدافزار و باج افزار خلاص کنید و امنیت دنیای فناوری اطلاعات و حتی امنیت دنیای واقعی را تامین نمایید . 


بنابراین برخلاف گفته پروفسور توماس گریزار  ( خالق Fasm )  ، مهندسی معکوس اصلا و ابدا غیرقانونی نیست و به شرط رعایت قوانین اتاق پاک و کپی رایت ، می توانید بصورت ایزوله و در شرایط امن ، نسبت به کرک و مهندسی معکوس اقدام کنید . 


پروفسور  رنه تورنویس خالق اسمبلر  RosAsm نیز  کاملا طرفدار کرک و مهندسی معکوس است و حتی اسمبلر روسسم را به یک دیس اسمبلر و حتی ری اسمبلر تبدیل کرده است . 


خود شرکت مایکروسافت نیز خاصیت دیس اسمبل را به masm افزوده است .


اگر واقعا مهندسی معکوس و کرک ، یک فرایند غیرقانونی بود مایکروسافت هرگز از دیس اسمبلی در اسمبلر اختصاصی خودش ( مسم ) استفاده نمی کرد . 



نتواید اسمبلر نیز از دیس اسمبلی استفاده می کند . 


تقریبا اکثر کاربران حرفه ای لینوکس نیز از مهندسی معکوس و دیس اسمبلی و کرک استفاده می کنند تا بتوانند از اسرار ویندوز و فوتوشاپ و نرم افزارهای تخصصی ویندوز سردر بیاورند و نمونه ی مشابه ی لینوکسی اش را بسازند . 


برخلاف تصورات رایج ، ویندوز کرکی  و قفل شکسته (!!!)  هرگز ناپایدار و سست نیست و هیچ فرقی با ویندوز اوریجینال ندارد  . 


هیچکدام از فایلهای سیستمی و کاربردی ویندوز کرکی با فایلهای مشابه در ویندوز اوریجینال با هم فرقی ندارند . فقط کمی در رجیستری دستکاری می شود . به همین سادگی . 

یعنی باینری ویندوز اوریجینال با باینری ویندوز کرکی  هیچ تفاوتی ندارد . 


در همین راستا ، در آپارات دیدم که یک مهندس ایرانی توصیه می کرد قبل از خرید لپ تاپ ( نو یا دست دوم ) به فروشنده بگویید بجای ویندوز اوریجینال چند میلیون تومانی ، ویندوز کرکی 12000 تومانی نصب کند و اینطوری شما از پرداخت بیمورد چندین میلیون تومان پول زبان بسته  بی نیاز می شوید و در هزینه ها صرفه جویی می کنید . 




دوستان ، بگذارید یک واقعیت را به شما بگویم : تمام حرفهایی که علیه مهندسی معکوس و کرک و زبان اسمبلی یا ویندوز کرکی یا نرم افزار قفل شکسته  تا به امروز گفته شده یا نوشته شده است کذب محض و دروغ است. 


ویندوز کرکی از لحاظ سرعت و قدرت و پایداری و انسجام و امنیت هیچ تفاوتی با ویندوز اوریجینال ندارد . این را فقط یک کرکر می فهمد . 


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


کاربردهای مهندسی معکوس بسیار زیاد است . 


ردیابی ردپای ویروس و انواع بدافزارها و از بین بردن تمام انواع بدافزار با کمک زبان ماشین و با دست و بدون نیاز به نصب و اجرای آنتی ویروسهای سنگین و گران قیمت و جاسوس 


تامین امنیت فضای مجازی و حقیقی 


جلوگیری از ویروسی شدن ویندوز 


نوشتن نرم افزارهای ویندوزی با کمترین حجم و بصورت فشرده و بدون هرگونه پدینگ و فضای خالی اضافی 


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


کاهش فشار نرم افزارهای سنگین و حجیم بر کم سخت افزار و منابع ارزشمند و گران قیمت سخت افزاری ( رم ، پردازنده ، هارد ، کارت گرافیک ، مادر بورد ، پاور و منبع تغذیه کامپیوتر و ...) 


صرفه جویی در مصرف برق کامپیوتر و در نتیجه صرفه جویی  در مصرف برق خانگی و اداری 



برنامه نویسی با زبان اسمبلی و ماشین از طریق مهندسی معکوس نرم افزارهای بزرگ و حجیم تجاری 


استخراج نرم افزارهای فشرده و کوچک و رایگان و اوپن سورس از درون نرم افزارهای حجیم و سنگین و تجاری و انحصاری و  شکستن استبداد و انحصار و دیکتاتوری دنیای نرم افزار 


اطمینان از اینکه فایلهایی که از اینترنت دانلود می کنید سالم هستند یا خیر . 


بله با مهندسی معکوس می توانید بفهمید که آیا فلان فایل که دانلود می کنید سالم است یا مخرب . 


بدون مهندسی معکوس و زبان اسمبلی هرگز نمی توانید به سالم یا مخرب بودن فایلها  پی ببرید . 


بنابراین می بینید که زبان اسمبلی خصوصا در بخش مهندسی معکوس ، نه فقط غیرقانونی و یک ابزار شیطانی نیست بلکه یک ابزار مقدس و پاک و مفید و کاربردی است . 


بهرحال اگر شما  بتوانید با مقوله ی مهندسی معکوس کنار بیایید و کرک را نوعی برنامه نویسی بدانید آنوقت برنامه نویسی با هگز ادیتور دیگه مشکل نخواهد بود ! 


البته بستگی به معماری سیستم عامل نیز دارد . 


مهندسی معکوس و برنامه نویسی با هگز ادیتور در ویندوز ، کاری بسیار دشوار و طاقت فرسا می باشد اما ارزش دارد که برایش وقت بگذارید تا امنیت خودتان را تامین کنید . 


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


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



این آزادی را فقط در زبان اسمبلی و البته در محیط هگز ادیتور بدست می آورید . 



در آپارت ، تعدادی ویدیوی آموزش زبان اسمبلی و ریزپردازنده را دیدم و دانلود کردم . 


به مرور زمان این ویدیوها را برایتان آپلود خواهم کرد 


این ویدیوها اکثرا به درس ریزپردازنده و زبان اسمبلی  که از دروس تخصص و اصلی رشته ی مهندسی کامپیوتر می باشد   پرداخته اند و  به زبان فارسی می باشند و به راحتی از آپارات قابل دانلود هستند . 


من آپارات را بر  یوتیوب ترجیح می دهم . 


یوتیوب به فیلترشکن نیاز دارد و هیچ گزینه ای برای دانلود ندارد و برای ذخیره کردن ویدیو نیز باید هویت خود را نزد گوگل فاش کنید !!!


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


بهرحال بهتر است که از همان آپارات که یک محصول بومی و کاربردی است و از این اداها در نمی اورد و  از شما جاسوسی نمی کند و به فیلترشکن نیاز ندارد و امکان دانلود را به شما می دهد  استفاده کنید . 


من پیشنهاد می کنم که ویدیوهای آموزشی خودتان و دیگران را از یوتیوب به آپارات منتقل کنید تا گوگل و یوتیوب نتوانند از شما جاسوسی کرده و شما را ردیابی نمایند . 


ضمنا اینطوری خیلی راحت و بدون نیاز به اکانت ( = جاسوسی )  می توانید ویدیوها را به صورت کاربر میهمان ، دانلود نمایید . 



عملا تنها استفاده ی من از روبات پیازی و مرورگر تور ، ورود به یوتیوب و دانلود فیلمهای آموزش علوم کامپیوتری بود که با این مشکل و این ترفند کثیف گوگل مواجه شدم و پس از اینکه دهها فایل آموزش زبان اسمبلی و ریزپردازنده را براحتی و بصورت کاربر میهمان ، از آپارات دانلود کردم ،  استفاده از روبات پیازی و مرورگر تور  و هر ابزار آنتی تحریم برایم بی معنا شده است !!


لذا از این ابزارها فقط برای دانلود فایل از برخی سایتهای خبیث مثل سایتهای مربوط به کتابهای گوگل یا برخی سایتهای مفید که به نوعی زیر مجموعه ی گوگل هستند استفاده می کنم . 


من از حملات سایبری و هک سیاه متنفر هستم و طرفدار هک سفید و اخلاقی می باشم . 


هرچند که هک ،  فی نفسه و ذاتا یک کار خطرناک است و بهتر است حتی در هک سفید و اخلاقی یعنی مهندسی معکوس ، نیز  احتیاط کنیم و بی گدار به آب نزنیم . 



من با زبان سی پلاس پلاس  آشتی کردم و به زودی تمامی فایلهای آموزش زبان سی پلاس پلاس را برایتان آپلود می کنم . 


من به این نتیجه رسیدم که با کمک زبان سی پلاس پلاس می توانم زبان اسمبلی را احیا کنم !!


یعنی منابع زبان سی پلاس پلاس را با دست به زبان اسمبلی بازنویسی و ترجمه نمایم . 


اینطوری شما سالها بعد می  توانید یک موتور بازی سازی را بجای اینکه با زبان سی پلاس پلاس بسازید با زبان اسمبلی بسازید !!


اینکار شاید دشوار باشد اما ارزشمند است و فایده اش به همه می رسد . 


بهرحال من گرچه ذاتا از زبان سی پلاس پلاس خوشم نمی آید و اسمبلی را بر تمامی زبانهای سطح بالا ترجیح می دهم اما قصد دارم دانش زبانهای سطح بالا را به دانش زبان اسمبلی استفاده کنم . 


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


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



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


البته بدانید که طبق اعتراف اکثر برنامه نویسان ایرانی و خارجی ، زبان اسمبلی جزو زبانهایی است که هرگز نمی میرد و عمر ابدی دارد . 


در یک کلام :


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


نکته ی آخر :


مهندسی معکوس ، تنها به کرک کردن نرم افزار محدود نمی شود . شما در تمام حوزه ها حتی موسیقی می توانید از مهندسی معکوس استفاده کنید . 


مثلا اگر یک فایل حاوی آهنگ مورد علاقه تان را از اینترنت دانلود کنید با مهندسی معکوس از صحت و سلامت این فایل که پسوندهای زیر را دارد مطمئن  خواهید شد و سیستم تان هرگز آلوده نخواهد شد :


mp3

mp4

flv

3gp

.....


سایر پسوندها را فراموش کردم !!! 


مهم نیست .  از آثار پیری است !!



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


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


فایلهای مربوط به زبان سی پلاس پلاس را نیز برای شما کاربران عزیز ، آپلود خواهم کرد . 


همچنین فایلهای مربوط به نکات مهم قبل از خرید لپ تاپ نو و دست دوم را نیز برای شما کاربران محترم ، آپلود خواهم نمود . انشاا... 







تا بعد ...