Do All in Cmd Shell一切在命令行下完成第3/6頁
更新時(shí)間:2008年06月14日 19:11:23 作者:
Cmd Shell(命令行交互)是黑客永恒的話題,它歷史悠久并且長盛不衰。本文旨在介紹和總結(jié)一些在命令行下控制Windows系統(tǒng)的方法。這些方法都是盡可能地利用系統(tǒng)自帶的工具實(shí)現(xiàn)的。
接下來說服務(wù)。如果想啟動或停止服務(wù),用net命令就可以。但想增加或刪除服務(wù),需要用SC,instsrv.exe,xnet.exe等工具。而這些工具系統(tǒng)沒有自帶(XP和2003自帶SC)。導(dǎo)入注冊表雖然可以,但效果不好,原因后面會提到。還是得靠inf文件出馬。
增加一個(gè)服務(wù):
[Version]
Signature="$WINDOWS NT$"
[DefaultInstall.Services]
AddService=inetsvr,,My_AddService_Name
[My_AddService_Name]
DisplayName=Windows Internet Service
Description=提供對 Internet 信息服務(wù)管理的支持。
ServiceType=0x10
StartType=2
ErrorControl=0
ServiceBinary=%11%\inetsvr.exe
保存為inetsvr.inf,然后:
rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 c:\path\inetsvr.inf
這個(gè)例子增加一個(gè)名為inetsvr的服務(wù)(是不是很像系統(tǒng)自帶的服務(wù),呵呵)。
幾點(diǎn)說明:
1,最后四項(xiàng)分別是
服務(wù)類型:0x10為獨(dú)立進(jìn)程服務(wù),0x20為共享進(jìn)程服務(wù)(比如svchost);
啟動類型:0 系統(tǒng)引導(dǎo)時(shí)加載,1 OS初始化時(shí)加載,2 由SCM(服務(wù)控制管理器)自動啟動,3 手動啟動,4 禁用。
(注意,0和1只能用于驅(qū)動程序)
錯誤控制:0 忽略,1 繼續(xù)并警告,2 切換到LastKnownGood的設(shè)置,3 藍(lán)屏。
服務(wù)程序位置:%11%表示system32目錄,%10%表示系統(tǒng)目錄(WINNT或Windows),%12%為驅(qū)動目錄system32\drivers。其他取值參見DDK。你也可以不用變量,直接使用全路徑。
這四項(xiàng)是必須要有的。
2,除例子中的六個(gè)項(xiàng)目,還有LoadOrderGroup、Dependencies等。不常用所以不介紹了。
3,inetsvr后面有兩個(gè)逗號,因?yàn)橹虚g省略了一個(gè)不常用的參數(shù)flags。
刪除一個(gè)服務(wù):
[Version]
Signature="$WINDOWS NT$"
[DefaultInstall.Services]
DelService=inetsvr
很簡單,不是嗎?
當(dāng)然,你也可以通過導(dǎo)入注冊表達(dá)到目的。但inf自有其優(yōu)勢。
1,導(dǎo)出一個(gè)系統(tǒng)自帶服務(wù)的注冊表項(xiàng),你會發(fā)現(xiàn)其執(zhí)行路徑是這樣的:
"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,74,\
00,6c,00,6e,00,74,00,73,00,76,00,72,00,2e,00,65,00,78,00,65,00,00,00
可讀性太差。其實(shí)它就是%SystemRoot%\system32\tlntsvr.exe,但數(shù)據(jù)類型是REG_EXPAND_SZ。當(dāng)手動導(dǎo)入注冊表以增加服務(wù)時(shí),這樣定義ImagePath顯然很不方便。如果用REG_SZ代替會有些問題——不能用環(huán)境變量了。即只能使用完整路徑。用inf文件完全沒有這個(gè)問題,ServiceBinary(即ImagePath)自動成為REG_EXPAND_SZ。
2,最關(guān)鍵的是,和用SC等工具一樣,inf文件的效果是即時(shí)起效的,而導(dǎo)入reg后必須重啟才有效。
3,inf文件會自動為服務(wù)的注冊表項(xiàng)添加一個(gè)Security子鍵,使它看起來更像系統(tǒng)自帶的服務(wù)。
另外,AddService和DelService以及AddReg、DelReg可以同時(shí)且重復(fù)使用。即可以同時(shí)增加和刪除多個(gè)服務(wù)和注冊表項(xiàng)。詳細(xì)的內(nèi)容還是請查看DDK。
您可能感興趣的文章:
- 在Shell命令行處理JSON數(shù)據(jù)的方法
- shell學(xué)習(xí)教程獲取命令行參數(shù)示例
- 神奇的shell命令行輸入與輸出功能介紹
- Linux命令行和shell腳本編程寶典 Richard Blum
- PHP 命令行工具 shell_exec, exec, passthru, system詳細(xì)使用介紹
- 命令行下一種新的添加帳號的方法(Shell.Users)
- 利用WScript.Shell對象隱藏cmd命令行運(yùn)行框的實(shí)現(xiàn)代碼
- 關(guān)閉網(wǎng)站的wscript.shell命令行執(zhí)行
- 利用shell編程實(shí)現(xiàn)DOS風(fēng)格的Linux命令行
- shell獲取命令行參數(shù)示例分享
相關(guān)文章
dos命令或批處理 發(fā)生系統(tǒng)錯誤5 拒絕訪問
在dos下運(yùn)行net start mysql 不能啟動mysql!提示發(fā)生系統(tǒng)錯誤 5;拒絕訪問! 這是因?yàn)闄?quán)限不夠的問題。2011-03-03
slmgr命令(Windows軟件授權(quán)管理工具)使用教程
slmgr 是 Windows 操作系統(tǒng)中的一個(gè)命令行工具,主要用于管理 Windows 軟件許可證,slmgr 是 Software Licensing Management Tool(軟件許可管理工具)的縮寫2024-11-11
bat腳本實(shí)例實(shí)現(xiàn)只允許運(yùn)行一個(gè)實(shí)例(安裝程序、創(chuàng)建快捷方式腳本)
這篇文章主要介紹了一個(gè)bat腳本實(shí)例,功能是只允許運(yùn)行一個(gè)實(shí)例、安裝程序、卸載程序、創(chuàng)建快捷方式,需要的朋友可以參考下2014-04-04

