Windows編程之注冊(cè)表編程基礎(chǔ)



歡迎關(guān)注我的新博客https://pino-hd.github.io,最新的博文都會(huì)發(fā)布在上面哦~

Windows編程之注冊(cè)表編程

關(guān)于注冊(cè)表,是Windows的一大特色,也是在Windows滲透過程中用得到的,不過我一向覺得Windows的注冊(cè)表太過神秘(好吧,是因?yàn)樘嗔?。。。),那么今天學(xué)會(huì)了操作注冊(cè)表的一些操作,包括
RegCreateKeyEx, RegOpenKeyEx, RegQueryValueEx, RegSetValueEx, RegDeleteValue, RegCloseKey

代碼

#include <Windows.h>
#include <stdio.h>


int main(int argc, char* argv[]) {
    HKEY hKey;
    DWORD dwType;
    char d[255];
    DWORD nLen = sizeof(d);
    char* data = "https://www.baidu.com/";
    RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Internet Explorer\\Main", REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, &hKey);
    RegQueryValueEx(hKey, "Start Page", 0, &dwType, (LPBYTE)d, &nLen);
    printf("before change: %s\n", d);
    memset(d, 0, strlen(d));
    RegSetValueEx(hKey, "Start Page", 0, REG_SZ, (BYTE*)data, strlen(data));
    RegQueryValueEx(hKey, "Start Page", 0, &dwType, (LPBYTE)d, &nLen);
    printf("after change: %s\n", d);
    //RegDeleteValue(hKey, "Start Page");
    //RegQueryValueEx(hKey, "Start Page", 0, &dwType, (LPBYTE)d, &nLen);
    //printf("after delete: %s\n", d);
    RegCloseKey(hKey);
    return 0;
}

這里稍微說一下這段代碼的含義,總的作用就是修改ie瀏覽器的默認(rèn)頁面,改成baidu的首頁。那么首先利用RegOpenKeyEx打開注冊(cè)表,并且將句柄放到先前聲明的hKey中,
這里的參數(shù)前兩個(gè)比較好理解,分別是注冊(cè)表的主鍵和子建,第三個(gè)REG_OPTION_NON_VOLATILE意思是將注冊(cè)表項(xiàng)存入文件中,使得重啟后修改有效,相反的就是REG_OPTION_VOLATILE,意思是重啟后無效,KEY_ALL_ACCESS的意思是打開子建后允許任意操作,最后一個(gè)是用來存放句柄的。

之后我們使用RegQueryKeyEx函數(shù)進(jìn)行查詢,這里第三個(gè)選項(xiàng)為保留值,一般為0,第四個(gè)是我門聲明的一個(gè)DWORD變量,這個(gè)是用來存放查詢的注冊(cè)表值的類型,第五個(gè)是用來存放查詢后的值的緩沖區(qū),然后是緩沖區(qū)的大小。

查詢后我們?cè)诶肦egSetValueEx函數(shù)進(jìn)行修改,第三個(gè)選項(xiàng)為保留值,一般為0,第四個(gè)選項(xiàng)是要修改的注冊(cè)表的類型,這里是REG_SZ,之后是要修改的數(shù)據(jù)的緩沖區(qū)以及他的大小。

當(dāng)然了,使用RegDeleteValue即可刪除注冊(cè)表選項(xiàng),參數(shù)也很簡(jiǎn)單,一個(gè)句柄,一個(gè)要?jiǎng)h除的名字

最后用RegCloseKey來關(guān)閉注冊(cè)表的句柄即可。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容