بنام خدا
عنوان پست
empty
فایل خالی :
آموزش ایجاد فایل کاملا خالی توسط زبان اسمبلی
آدرس پست
https://vahidmy.blog.ir/post/37
قبل از شروع باید بگویم که من خودم شخصا به هیچ نرم افزاری اعتماد ندارم زیرا ممکن است درون نرم افزارهایی که دانلود می کنم یک بدافزار ( ویروس ، تروجان ، کی لاگر ، روتکیت ، جاسوس افزار، کرم ، باج افزار و ....) قرار داشته باشد و سیستم مرا آلوده کند .
حتی به نرم افزارهای اوپن سورس و رایگان و آزاد نیز نباید به این راحتی ها اعتماد کرد .
اینکه فلان نرم افزار ، اوپن سورس و آزاد است و همه می توانند سورس اش را ببینند هرگز دلیل نمی شود که لزوما سالم و بی خطر نیز باشد . خیر . این تصور اشتباه است .
هکرها خیلی راحت می توانند یک قطعه کد مخرب را طوری با مهارت در لابلای سورس برنامه قرار دهند که حتی برنامه نویسان حرفه ای متوجه نشوند و سیستم را آلوده کنند .
تنها راه برای تشخیص اینکه فلان نرم افزار واقعا سالم و بی خطر است اینست که باینری نرم افزار را ملاحظه کنیم . یعنی با کمک hex editor تک تک بایتهای تشکیل دهنده ی اون نرم افزار را مشاهده کنیم تا اگر به کد مخربی برخورد کردیم اون کد را حذف یا رونویسی کنیم .
اما از آنجاییکه کار کردن مستقیم با کدهای زبان ماشین کاری بسیار بسیار سخت و خسته کننده و حوصله سوز است و وقت خیلی زیادی از ما می گیرد . بهترین راه اینست که سیستم خودمان را مرتبا اپدیت کنیم و مخصوصا اینکه آنتی ویروس را مرتبا به نسخه ی جدید آپدیت نماییم و کل هارد دیسک را اسکن کنیم . اینطوری با کمترین میزان صرف وقت بیشترین بازده را خواهیم داشت و کل هارد از وجود بدافزارها پاک می شود .
برهمین اساس من تصمیم گرفتم که برای جلوگیری از آلوده شدن احتمالی سیستم ها ، بجای معرفی نرم افزارهای زبان اسمبلی ، خودم شخصا روش برنامه نویسی با زبان اسمبلی را در وبلاگ ام آموزش دهم و شما را تشویق کنم که با دست خودتان برای خودتان نرم افزار بسازید و خودکفا باشید و سیستم تان همیشه سالم و قبراغ و سرحال و ایمن باشد .
برای شروع ، ابتدا زبان اسمبلی (فایل FasmW.exe) را با دابل کلیک اجرا کنید . بعد یک مسیر برای ذخیره ی فایل سورس و باینری برنامه تان انتخاب کنید . مثلا این مسیر می تواند خوب باشد :
D:\Assembly\Myapps
زبان اسمبلی را می توانید از پست FasmVersions یا هر پستی که در آن نسخه های مختلف فلت اسمبلر را برایتان اپلود کردم ، دانلود کنید . اسمبلی (فلت اسمبلر) بعد از دانلود ، هیچ نیازی به نصب یا کانفیگ ندارد . کافیست فایل فشرده را extract نمایید .
خب حالا من فرض می کنم که شما فایل FasmW.exe را پیدا کرده اید.
مسیر فرضی بالا را نیز روی هارد رایانه تان ایجاد کنید .
حالا که در محیط زبان اسمبلی (FasmW.exe) قرار دارید یک فایل با نام empty را در مسیر بالا ایجاد کنید . یعنی از منوی File گزینه ی save as را انتخاب کنید و مسیر بالا را انتخاب نمایید . خب حالا بدون اینکه حتی یک کلمه تایپ کنید ، کلید F9 را فشار دهید . ظاهرا هیچ اتفاقی نمی افتد !!
اما کافیست به مسیر بالا که تعیین کرده اید بروید و شاهد فایلهای زیر باشید :
empty.ASM
empty.BIN
جالب بود ! نه ؟؟؟؟
شما عملا اولین برنامه تان را به همین راحتی با کمک زبان اسمبلی و بدون حتی یک کلمه کد ، با پسوند BIN تحت محیط ویندوز ، ساختید . یک برنامه ی کاملا خالی ولی اماده ی کدنویسی پیشرفته !!
اسمبلی عادت دارد که برنامه های کاملا خالی را بصورت فایل اجرایی با پسوند BIN (باینری) ایجاد کند .
سوال: این فایل empty.BIN به چه دردی می خورد وقتیکه هیچ کدی در ان نوشته نشده و کاملا خالی است ؟؟؟
جواب: فایلهای با پسوند BIN فایلهای Binary (باینری) هستند که می توانید از انها استفاده های فراوان برای موارد بعدی داشته باشید . کاربردهای فایلهای bin بسیار زیاد است .
مثلا برای ساخت فایلهای ایمیج از یک سیستم عامل کوچولو که قبلا توسط دیگران ساخته شده باشد یا ساختن یک نرم افزار خاص یا یک فایل برای مقاصد خاص . یا حتی ساختن یک سیستم عامل کوچولوی شخصی برای خودتان .
این برنامه که در پست بعدی معرفی می کنم و خودم انرا نوشته ام ، کد دارد . پس توخالی نیست و کاربرد خاص خودش را به شما نشان می دهد .
+
+
به هرحال با توجه به سختگیریهای ویندوز خصوصا برنامه ی Windows defender بر روی برنامه های زبان اسمبلی ، و برای جلوگیری از آلوده شدن احتمالی سیستم ، بهتر است خودمان با اسمبلی برنامه بنویسیم و عملا برنامه های دیگران را بی جهت دانلود نکنیم و امنیت سیستم خودمان را به خطر نیاندازیم . هرچند تمامی نرم افزارهایی که من تا به امروز به شما معرفی کرده و در وبلاگ هایم آپلود کرده ام همگی سالم و بی خطر هستند و من هرگز با آبروی خودم و زبان اسمبلی بازی نمی کنم ولی بهرحال من به Windows Defender اعتماد می کنم و از دانلود برنامه های دیگران خودداری می کنم و اگر ویندوز دیفندر تشخیص داد که فلان نرم افزار ، آلوده است به حرف اش گوش می دهم و ان نرم افزار را حتی اگر سالم باشد از روی سیستم ام حذف می کنم . احتیاط شرط عقل است .
بجای دانلود فایلهای ناشناس بهتر است خودمان فایل بسازیم . هرچی باشه دست پخت خودمان است و به او اعتماد داریم .
از طرفی دیگه ، دانلود کردن نرم افزارهای دیگران ، مانع از یادگیری زبان اسمبلی می شود . تا زمانیکه خودمان کدنویسی نکرده باشیم هرگز نمی توانیم به یادگرفتن اسمبلی امیدوارم باشیم .
پس برای اینکه زبان اسمبلی را احیا کنیم باید خودمان با دستهای خودمان برنامه بسازیم و در سرتاسر وب فارسی بازنشر کنیم .
من قصد دارم بجای اینکه به شما ماهی بدهم ، ماهیگیری را به شما یاد بدهم .
لطفا نگویید : اسمبلی به درد نرم افزارهای بچه گانه و کوچک و بی ارزش می خورد و کاربردی ندارد . خیر اینطور نیست . هزاران نرم افزار حرفه ای و بزرگ و کارامد و قدرتمند تا حالا با کمک اسمبلی ساخته شده اند . یعنی سورس کد شان کاملا با زبان اسمبلی نوشته شده است .
اما من قصد دارم به امید خدا بصورت گام به گام و پله به پله ، اسمبلی را یاد بدهم .
پس طبیعی است که اولین برنامه ها ، از نظر شما اسباب بازی و چرت بنظر آیند .
کم کم به برنامه های بزرگ و کارامد و حرفه ای هم می رسیم زیاد عجله نکنید . اگر کمی صبور باشید روش ساخت نرم افزارهای بزرگ با زبان اسمبلی را شخصا در این وبلاگ به شما یاد می دهم .
این برنامه ای که اینجا آموزش دادم فقط برای دستگرمی بود . از پست بعد ، برنامه های دارای کد که کاربردی هستند را به شما معرفی خواهم کرد . انشاء ا...
+
موضوعات وبلاگ وحیدمی :
من در تمامی پستهای وبلاگ وحیدمی ، سعی می کنم لااقل یک اشاره ای به موضوعات این وبلاگ داشته باشم . به همین دلیل برای تمامی پستهای این وبلاگ ، تمام جعبه های موضوعات وبلاگ شامل Idea ، Assembly ، vahidmy ، Music ، Binary ، OS ، Weblog ، IT ؛ را تیک می زنم که البته در دنیای وبلاگنویسی، این رفتار ؛ کاری مضحک و بی معنا و غیرحرفه ای محسوب می شود ولی من به این قواعد و استانداردهای وبلاگنویسی اهمیت نمی دهم و دوست دارم هرطور که دلم می خواهد وبلاگنویسی نمایم و آزاد باشم . لذا همینقدر که یک اشاره ی کوچک به این موضوعات در همین پاراگراف شد ، از نظر خودم ، کافی است !!
من تافته ی جدابافته هستم و به سبک خودم وبلاگنویسی می نمایم و به استانداردهای دنیای وبلاگنویسی اهمیت نمی دهم و برایم مهم نیست که مخاطبان پشت سرم چه می گویند . من به اشتهای مردم غذا نمی خورم و نگران حرف و حدیثهایی که مردم پشت سرم در می آورند نیستم و بی خیال و خونسرد هستم .
من رسومات کهنه ی دنیای وبلاگنویسی و مرزهای علم را جابجا می کنم !!
از نظر من ضرورتی ندارد که محتویات یک پست با موضوع مربوطه همخوانی داشته باشد لذا مجبور نیستم در تمام پستها در رابطه با موضوعات وبلاگ ام ، مطلب بنویسم . همینقدر که در همین پاراگراف که در تمام پستها انرا کپی و الصاق می نمایم ، به این موضوع اشاره کردم از نظر خودم کفایت می کند !!
از نظر شما اینکار نوعی ترول گری و اسپم سازی است ولی من اهمیت نمی دهم که اینکار اسپم می باشد یا نه . می توانید پشت سرم هرچه قدر خواستید حرف بزنید و مرا مسخره کنید و به من بخندید ولی من اصلا اهمیت نمی دهم .
این پاراگراف در تمامی پستهای وبلاگ وحیدمی توسط خودم ، عینا الصاق و تکرار می شود .
+
وحید محمدی - وبلاگ وحیدمی
بروزرسانی:
براثر حملات سایبری به وبلاگ وحیدمی ؛ تمام کامنت های کاربرها و پاسخ های من به کاربرها ؛ حذف شدند .
لعنت خدا و نفرین ملائکه بر هکرها و اتکرها و مجرمان سایبری .
تاریخ بروزرسانی
یکشنبه مورخ 29 مرداد 1402 خورشیدی
نکته :
آدرسهای آخرین پست وبلاگ وحیدمی را در زیر مشاهده می فرمایید .
در پناه خداوند متعال عظیم الشان باشید
ِ
الهم عجل لولیک الفرج .
امضای همیشگی اینجانب در جهت تایید صحت و درستی مطالب وبلاگهایم :
وحید محمدی . وبلاگ وحیدمی
https://vahidmy.blog.ir/archive
https://vahidmy.blog.ir/post/764