我們在日常工作中使用Microsoft辦公軟件時,常常能在“開發工具”一欄中發現與宏有關的指令,例如“JS宏”、“錄制新宏”、“WPS宏編輯器”等等。
在計算機科學中,宏(Macro)不是軟件或數據,更像是一種将一系列命令組織成一個具體的、實現word指令的語言。
宏是一個抽象的概念。很多時候,宏使用在将動作或命令轉化為指令的工作中,是根據定義規則替換一定的文本模式。經常性的在語言編譯中運行宏展開,而承托宏展開的工具被叫做宏編輯器,從宏展開衍生出的另一個概念是鍵盤宏和宏語言。
宏能夠使計算機語言獲得更強大的抽象能力,或者使序列自動化使用。宏可以加速日常編輯、組合多個命令,使對話框中的選項更易于操作。
拿微軟提供的Office軟件來舉例,宏對于Office來說就像是網盾的小白去外地出差,在附近訂了一個酒店房間。房間裡有一個專門的網線插口,但由于小白習慣連接wifi來玩lol英雄聯盟,因此也沒有注意這個玩意兒。
但是在晚上八九點、酒店陸陸續續住滿了人以後,wifi變得非常卡,遊戲的PING值一直保持400;這時候,小白突然想起還能插網線來玩,于是趕緊換成了網線,lol裡的PING于是降了下來,保持在60左右。
宏的意義就像這個網線插口,宏命令好比将網線插到插口上然後換用網線連接網絡玩英雄聯盟;對于宏來說,它可以為程序代碼加行号或者列出文檔字體,實現兩種術語的轉換。
當然,宏還可以用來制作病毒,甚至由于懂行的技術人員太少,因此這類型的服務器病毒是很難被分辨出來的。
那麼,什麼又是宏病毒呢?
當宏的概念産生的一段時間裡,人們都認為數據文檔是不可能帶有病毒的,因為數據文檔不包含指令;直到宏病毒的出現才令很多人大跌眼鏡,當即改變了想法。
宏病毒是一種寄存在文檔或模闆的宏中的計算機病毒,存在于數據文件或模闆中(字處理文檔、數據表格、數據庫、演示文檔等),使用宏語言編寫,利用宏語言的功能将自己寄生到其他數據文檔。
當我們打開被感染了宏病毒的文檔後,其中的宏就會被執行,于是宏病毒就會被激活、轉移到服務器上,并駐留在Normal模闆上。從這個時候開始,隻要人們沒有察覺到宏病毒的存在,所有自動保存的文檔都會被這種宏病毒所感染;假如感染了宏病毒的服務器向其他服務器發送了某個感染後的文檔,當該用戶打開文檔之後宏病毒又會轉移到他的服務器上。
,