دستورات سی ام دی bat
در این پست تمام دستوراتی که در ساخت برنامه ها و ویروس ها به زبان بت استفاده میشه رو بررسی میکنیم
زبان برنامه نویسی نیست ، ساده و قدیمیه ، دیگه مثل سابق کاربرد نداره ولی پله اول هک بدون نرم افزاره.
فایل های بت bat همون دستورات سی ام دی هستن که به شکل یه دسته دراومدن. اینجا مختصری از دستورات این فایل هارو به زبان ساده توضیح میدم. باید به یاد داشته باشید که شما میتونید هر دستور دیگه سی ام دی رو در این برنامه ها قرار بدین.
@ Call Echo Pause Rem
goto cd set if For
cls Format mkdir shot
@
تمام خروجی های داس را مخفی میکند.
یعنی در صفحه داس یا همون سی ام دی نمایش نمیده که چه دستوری وارد شده
@echo OFF
تمام دستورات دسته ی echo OFF را مخفی میکند.
call
فراخوانی یک برنامه یا فایل
call C:\Windows\notepad.exe
تکه کد بالا نود پد را جرا خواهد کرد
echo
برای کنترل نحوه نمایش دستورات (نمایش داده شوند یا خیر). ویا میتوانیم برای نوشتن پیام خوش آمد گویی "ابتدای برنامه" یا ارتباط با کاربر از این دستور استفاده کنیم
echo off
دستورات را بدون نمایش دادن اجرا میکند
echo on
دستورات را نمایش داده اجرا میکند
echo Y|Del *.*
فایلی که برای برنامه تعریف کردیم تا حذفش کند را بدون اجازه گرفتن از کاربر پاک میکند.
Pause
ایجاد وقفه یا مکث بین دستورها
وقتی چند تا دستور قراره پشت سر هم اجرا بشه ما میتونیم بعد از هر دستور یا بین چند دستور به کاربر هشدار یا پیامی بدیم که کاربر بعد از فشار دادن کلیدی دستورات ادامه پیدا کنه
pause edame mdahid?
ایجاد وقفه با پیام
pause > nul
ایجاد وقفه بدون پیام
rem
فقط برای نمایش پیام ، جزئیات ، توضیح و یا معرفی در کد نویسی است.
rem iransystem
فقط کلمه Virus32 را نمایش میدهد. اینجا استفاده شده است
goto
تکرار یا رفتن به دستور (یا دسته) مشخص شده توسط برچسب آن
برچسب باید از قبل تعریف شده باشد
goto:a
دستور بالا به دسته a میرود. مثال این دستور
:
برای ایجاد دسته
@echo off
:a
echo # iransystem.blog.ir #
color A
pause
:b
echo # nice web :) #
color F
pause
:c
echo # we love iran #
color C
pause
goto :a
در کد بالا دو دسته با نام های a و b و c تعریف شده است
cd
برای دیدن مسیر و تغییر آن
cd Desktop
به دسکتاپ میرود
cd ..
یک مرحله از مسیر به عقب باز میگردد. برای مثال اگر در مسیر زیر باشید
C:\Users\iransystem\Contacts>
با وارد کردن دستور به مسیر زیر خواهید رسید
C:\Users\iransystem>
set
برای مقدار دهی به متغیر ها "رشته ای و صحیح"
set stringvar=iransystem
متغییر رشته ای
set /a integervar=32
متغییر صحیح
set a=%b% %c% %d% %n%
مقدار a را برابر با مقدار های b و c و d و n قرار میدهد "فراخوانی متغییر" که میتونیم از یک تا صدها متغییر رو فراخوانی کنیم.
set /p name=esme khod ra vared konid
دستور بالا از کاربر اسمشو میخواد که نام کاربر رو مساوی متغییر name قرار میده.
set /a b=(%c%*%d%)+%e%/%f%
اعمال ریاضی
if
این دستور که تقریبا تو همه زبان های برنامه نویسی هم وجود داره یه دستور شرطیه که در صورت درست بودن شرط به روند کار ادامه میده و در غیر این صورت کار جدیدی رو شروع میکنه.
if not
تقریباً همون Else در زبانهای برنامه نویسی است به معنیه "درغیر این صورت" که اگه شرطمون برقرار نبود کار جدید رو با این دستور تعریف میکنیم
if %a%=="32" goto :b
if not %a%=="32" goto :Error
اگر مقدار متغیر a برابر 32 بود به خط b میره در غیر این صورت هم پیام ارور رو نمایش میده.
For
این دستور هم مانند دستور بالا در بیشتر زبان های برنامه نویسی وجود داره. به کمکش میتونیم برای متغییرمون مقدار یا مقدارهایی رو از فایل های دیگه فراخوانی کنیم و یا میتونیم به اصطلاح حلقه برای تکرار تکه کد یا دستوراتمون ایجاد کنیم که در ساخت اتکرها و یا برنامه های مخرب سرخود در زبان هایی مثل پایتون و دلفی از این کد بیشتر استفاده میکنیم.
الگوی این دستور در bat به شکل زیر است.
for %%motaghayer in (list) do dastoore-badi
که برای متغییر مون از لیست ، مقدارها یا متغیرهای دیگری رو تعین میکنیم و در دستور بعدی هم میگیم که با این مقدارها چیکار کنه.
echo off
FOR %%A IN (1 2 3) DO GOTO=%%A
:1
ECHO hi ...
:2
ECHO my name is :
:3
ECHO iransystem
pause
در اینجا برای متغیر A متغیرهای 1 و 2 و 3 را از لیست تعریف کرده و دستور اجرای آنها رو دادیم "میتونستیم بجای نمایش دادن کلمات بالا دستورات دیگه ای برای متغیرهای 1 و 2 و 3 تعریف کنیم و یا مقدار متغیرها را باز خوانی کنیم".
cls
از این دستور برای پاک کردن کامنت هایی که در سی ام دی وارد شده استفاده میکنیم.
Format
برای فرمت کردن یک درایو استفاده میشه.
Format f:
فرمت کردن درایو f
mkdir
برای ایجاد پوشه
mkdir d:\32\32\32\32\32\32\32
در درایو D هفت پوشه تو در تو به نام 32 ایجاد میکند
Shutdown -r -t 00
برای خاموش کردن سیستم.
ویروس بلستر در اصل همین دستور ساده بود که در استارت آپ قرار میگرفت که بمحض روشن شدن سیستم اجرا میشد و سیستم رو دوباره خاموش میکرد.