前沿拓展:
如何進入注冊表
“故形短活吸找年在windows200對銷沖臺愛勞階親0或以下版本,開始--運行--regedit--回車 ,就OK了!
在windowsXP里開始--運行--regedit--回車進1擊臉告隨顯6位注冊表編輯器,開始--運行--regedit32--回車進32位注冊表編輯器,許多在16位注冊表編輯器不能編輯的重要東東,就必須進32位注冊表編輯器!
強烈建議你在進行注冊表編輯前,給注冊表備份!“”
Windows程序開機啟動的方式有很多,但是通過注冊表啟動應該是最簡單的方式了。
注冊表
注冊表(Registry,繁體中文版Windows**作系統(tǒng)稱之為登錄檔)是Microsoft Windows中的一個重要的數(shù)據(jù)庫,用于存儲系統(tǒng)和應用程序的設置信息。早在Windows 3.0推出OLE技術的時候,注冊表就已經(jīng)出現(xiàn)。隨后推出的Windows NT是第一個從系統(tǒng)級別廣泛使用注冊表的**作系統(tǒng)。但是,從Microsoft Windows 95**作系統(tǒng)開始,注冊表才真正成為Windows用戶經(jīng)常接觸的內容,并在其后的**作系統(tǒng)中繼續(xù)沿用至今。
打開注冊表
打開方式很多,個人習慣用搜索方式打開,用cmd也很方便。
注冊表的數(shù)據(jù)結構
注冊表由RegCreateKey創(chuàng)建一個KEY,并返回相應的HKEYRegOpenKey打開注冊表,得到一個HKEY,用來作為下面這些函數(shù)的第一個參數(shù)。RegOpenKeyEx同RegOpenKey類似,一般很少用,增加了一個訪問控制類型參數(shù)。RegSetValue設置一個HKEY的默認值RegSetValueEx設置一個HKEY除默認值以外其它的值RegQueryValue獲取一個HKEY的默認值RegQueryValueEx獲取一個HKEY除默認值以外其它的值RegDeleteKey刪除一個KEY,此KEY不能包含子KEYSHDeleteKey刪除一個KEY以及所有子KEYRegDeleteValue刪除KEY里面的值RegCloseKey關閉注冊表
開機啟動Windows通過注冊表設置開機啟動
在注冊表中**到“計算機HKEYLOCALMACHINESOFTWAREMicrosoftWindowsCurrentVersionRun",可以看出VBoxTRay會在開機時候啟動。
查看進程如下:
如果想要僅下一次開機運行,之后都不再運行可以在“計算機HKEYLOCALMACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnce”中**作。
開機啟動源代碼
下面的代碼通過開機自啟動execel和本應用程序,使用的方式是在鍵"HKEYLOCALMACHINESOFTWAREMicrosoftWindowsCurrentVersionRun"寫值。同時,還有注冊表常用的一些**作。
#include <Windows.h>#include <iostream>using namespace std;int WriteReg(char* path, char* key, char* value);/************************************@ Brief: 開機啟動@ Author: 無情劍客@ Created: 2020/08/25 傳統(tǒng)節(jié)日七夕@ Return:************************************/void autostart(){ //1. 開啟啟動execel WriteReg("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "execel", "C:\Program Files (x86)\Office 2007\Office12\EXCEL.exe"); //2、得到本程序自身的全路徑 TCHAR strExeFullDir[MAX_PATH]; GetModuleFileName(NULL, strExeFullDir, MAX_PATH); //3. 開機啟動當前程序 WriteReg("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "Register", strExeFullDir);}/************************************@ Brief: 打開注冊表,讀取Key對應value@ Author: 無情劍客@ Created: 2020/08/25 傳統(tǒng)節(jié)日七夕@ Return:************************************/int ReadReg(char* path, char* key, char* value){ HKEY hKey; int ret = RegOpenKeyEx(HKEY_CURRENT_USER, path, 0, KEY_EXECUTE, &hKey); if (ret != ERROR_SUCCESS) { cout << "打開注冊表失敗" << endl; return 1; } //讀取KEY DWORD dwType = REG_SZ; //數(shù)據(jù)類型 DWORD cbData = 256; ret = RegQueryValueEx(hKey, key, NULL, &dwType, (LPBYTE)value, &cbData); if (ret == ERROR_SUCCESS) { cout << value << endl; } else { cout << "讀取注冊表中KEY 失敗" << endl; RegCloseKey(hKey); return 1; } RegCloseKey(hKey); return 0;}/************************************@ Brief: 寫注冊表,如不存在自動創(chuàng)建@ Author: 無情劍客@ Created: 2020/08/25 傳統(tǒng)節(jié)日七夕@ Return:************************************/int WriteReg(char* path, char* key, char* value){ HKEY hKey; DWORD dwDisp; DWORD dwType = REG_SZ; //數(shù)據(jù)類型 int ret = RegCreateKeyEx(HKEY_CURRENT_USER, path,0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwDisp); if (ret != ERROR_SUCCESS) { cout << "創(chuàng)建注冊表失敗" << endl; return 1; } ret == RegSetValueEx(hKey, key, 0, dwType, (BYTE*)value, strlen(value)); if (ret != ERROR_SUCCESS) { cout << "注冊表中創(chuàng)建KEY VALUE失敗" << endl; RegCloseKey(hKey); return 1; } RegCloseKey(hKey); return 0;}/************************************@ Brief: 刪除注冊表@ Author: 無情劍客@ Created: 2020/08/25 傳統(tǒng)節(jié)日七夕@ Return:************************************/int DelReg(char* path){ int ret = RegDeleteKey(HKEY_CURRENT_USER, path); if (ret == ERROR_SUCCESS) { cout << "刪除成功" << endl; } else { cout << "刪除失敗" << endl; return 1; } return 0;}int main(int argc, char * argv[]){ char value[32] = {0}; autostart(); WriteReg("Software\burning", "微信**", "無情劍客"); ReadReg("Software\burning", "微信**", value); // C++ 程序暫停,等待用戶輸入回車后再繼續(xù)執(zhí)行 cin.get(); return 0;}
運行結果如下,當開機之后,Register程序和execl的都啟動起來了。
寫在最后
注冊表之強大超出想象。玩過Dota的都知道Win7之后,游戲不能全屏,其實游戲畫面的分辨率就是在注冊表中設置的,因此可以通過注冊表來實現(xiàn)全屏,文件關聯(lián)設置也可以通過注冊表來實現(xiàn),Windows的用戶帳號密碼也都在注冊表中有記錄,當然密碼是散列的,還有很多強大的功能。。。
注冊表設置開機啟動,很容易被檢測出來,但是如果把進程隱藏起來,甚至于注冊表文件隱藏起來,那就不是很容易檢測了。
**
更多內容,歡迎關注我微信**:無情劍客。
拓展知識:
原創(chuàng)文章,作者:九賢生活小編,如若轉載,請注明出處:http://xiesong.cn/39281.html