為什麼很多病毒是用vbs寫成的

2021-07-03 17:04:40 字數 2180 閱讀 5426

這篇小短文 最初是 2023年9月,隨手一寫的。 後來網上聊天時,我發現有很多時候我都想表達這個觀點。

翻箱倒櫃 總算找到了,把它貼上到網上,想表達時,發個鏈結會很方便。

正文如下:

******************************==

幾天前,junx問我為什麼很多病毒是用vbs寫的,我當時笑著搖了搖頭。

就在剛才我做飯的時候,回想起了這個問題,於是邊炒菜邊想了想。

下文均是我的個人觀點,如有不爽,請勿跨省,家無水表,不收快遞。^-^

我要講的內容和指令碼語言有關。

經濟學上有個名詞叫剩餘價值,我想借鑑一下,引出個新名詞:剩餘精力,

(這個詞叫得不好,暫時也沒想出更好的)怎麼解釋呢?假如完成一件事情,使用a方法需要8個小時,使用b方法需要1個小時,那麼使用b方法就會產生7個小時的剩餘精力。

我們群裡的大多人都是用c/c++的,它比較低階,看上去很簡單的事情,往往要花費很多時間才能完成,原因大家心知肚明,語言陷阱多,類庫貧乏。

而指令碼語言沒有這方面的問題,相反地,抽象級別很高,接近自然語言,表達能力強,庫也豐富,易學易用。也就是說,同樣的事情,用指令碼語言一兩行就能完成,

而用傳統命令式語言可能要一兩百行,別忘了,除錯難度會隨**量的增長而指數倍增長。(這會導致使用指令碼的人獲得剩餘精力,日積月累,剩餘精力就會越來越多。)

拿我最近使用perl的經驗來說,(對其他指令碼語言來說同樣適用,例如vbs)要想遍歷磁碟上的所有的可執行檔案,並且在檔案裡增加或修改若干**,那真是幾秒鐘的功夫就能完成,幾行**就成。

其豐富的庫使完成像登錄檔,office之類的任務相當簡單快速,這樣一來,問題核心(病毒)就近在咫尺,一旦攻堅完成,完工就指日可待,甚至指秒可待。

(傳統語言中,一段**中核心處理的部分往往十分之一不到,其餘的都是前期準備與後期清理,指令碼語言沒有這種成本)

還記得我剛才提到過的 積少成多的剩餘精力麼,正是有了剩餘精力,人得以更多地投入學習,而學習得越多,就預示著將來會有更多的剩餘精力,

這些剩餘精力完全可以用在學習計算機安全有關的知識上,可以用在編寫除錯惡意程式上。有的人就這麼做了。

(程式設計師天生好奇,無可厚非,以前delphi開發的病毒也很多,因為delphi易學易用,產生了剩餘精力)

這裡,指令碼語言除了提供出大量剩餘精力外,還有一方面,就是它很擅長系統管理,被稱為是系統管理員的得力好幫手,

正是因為這種擅長與得力,才讓它在「叛變」時,破壞起來可謂多快好省。在這一點上,傳統命令式語言不擅長,留給人的剩餘精力也少,這樣基本上就能解釋本文的標題了。

除了基礎條件,還有觸發條件,那就是使用高效工具的人,沒有得到合理的待遇,且招聘啟事也讓他們失望,

他們只能搞些「見不得人的勾當」來賺點黑色收入,也可能只是想證明自己,「給那些蠢人點兒顏色看看!」。(個人猜測)

便捷的工具,充足的精力,殘酷的現實,多種因素相互作用,最終形成了本文的標題。

以上就是我的推斷,歡迎吐槽。

其實本文的目的 是建議大家去學門指令碼語言(推薦python或ruby),理由是 它可以用來賺取剩餘精力,用的越多賺得越多.

至於賺到的剩餘精力如何用,就看你喜好了. 比如看網頁,閒聊,發呆等(我), 當然你可能更想去踢球或陪老婆逛街.

如果你覺得"俗", 我告訴你,你得到的不僅僅是這些,不同型別的語言,有不同的思想和哲學,

(過程式,物件式,宣告式,函式式...建議閱讀《**的未來》-松本行弘,ruby發明人) 試著去感受不同的思想,聆聽天才們的做事哲學,

最終你將擁有更開闊的眼界,更正確的判斷,更明智的選擇, 當然還有更高的人格魅力.

***************===  2023年6月 補充了一小段 ********************

時間過得真快,轉眼間一年過去了。

幾個月前,我加入了ruby的隊伍,開始學習ruby。([[
ruby很酷,真的很酷,rails很魔幻、前衛。我禁不住向別人推薦。(附件是2023年11月的一段小翻譯。(你完全可以認為 我在給ruby/rails打廣告))
(這一陣子,我用ruby寫了幾個自動生成**的指令碼,很方便,能節約我很多時間)

我剛剛發現乙個學習ruby的中文**,[[ -《笨方法學ruby》,很傻瓜易懂。
我誠心推薦你學習,利用你的閒暇時間,照著網頁上動手做,每天練習一點點就好。(你可以有效利用十一和春節假期)
相信我,你一定會得到豐厚的回報。

(非常抱歉,內容和標題不符,但為了賺眼球,只好出此下策了,望見諒)

********************

正文結束

用vlookup為什麼得出的是NA?

vlookup函式出現na大致有以下幾種原因 1.vlookup引用引數不正確 2.資料格式型別不符 3.資料中有多餘的空格或其它特殊符號 4.引用區域內沒有包含可供查詢的關鍵字 針對以上4點,相應的解決方法是 檢查並重新設定引數 如查詢目標不在首列等 將資料格式型別用value 或text 函式將...

為什麼用介面存常量是一種不良的習慣

因為準備考研好久沒有更新部落格了。今天軟體工程實踐的專案中,有乙個小組成員在專案中使用了介面來存常量。故來討論一下為什麼用介面存常量是一種不良的習慣!為什麼會用介面存放常量呢?首先介面不能例項化,並且使用介面中定義的常量可以用介面名直接呼叫。public inte ce infointe ce 訪問...

做嵌入式程式設計,為什麼用的是C語言而不是C 呢?

1.前言 幾十年來,嵌入式軟體工程師們一直在爭論是否應該使用c 替代c語言進行開發工作。根據2019年ieee和github的市場調查顯示,微控制器製造商提供的軟體大部分都是由c語言編寫。事實上,56 的嵌入式軟體是用c語言編寫的。然而,c 已經逐漸普及,大約23 的新嵌入式軟體專案都是用c 編寫的...