乙個簡單的殼原始碼

2021-05-12 15:08:14 字數 758 閱讀 9704

最近出差,偶有閒暇,寫了個簡單的殼,先宣告下,此殼部分內容借鑑看雪論壇某位大俠(現在搜尋找不到了,所以名字忘記了)名為shell的程式。

主要實現有以個方面的功能:

1,對text塊進行rc4加密,組織程式被ida等靜態工具分析。

2,替換程式中的部分api函式,讓其執行到api函式時能跳到殼執行相關**後再跳回。

3,在殼中加了crc和自己隨便寫的乙個checksum用來檢驗程式的完整性,以用來防止程式被修改。

4,加了部分anti。

此殼可擴充的空間:

1,可增加更多anti.

2,可擴充套件為輸入表加密。

3,因為加殼後的程式被替換了api函式,所以執行時必定會跳回殼**中執行,因此如果給殼做vm的話,可大大加大難度!此點本人已實現,但不好放出來:)

4,目前只支援exe檔案,可擴充套件為支援dll檔案的加殼。

摘錄此殼的主要流程:

createfilebak(openfilename);//加密前先建立備份檔案

pefiletoencrypt.oninitpe(openfilename);//建立映像檔案,初始化 pimage_dos_header dosheader等資訊

bool isvalid=pefiletoencrypt.checkifvalidpe();//由pe檔案裡面的資訊來判斷是否為pe檔案

if(isvalid)//目前只支援對exe檔案加殼

} else

pefiletoencrypt.closehandleofpe();

乙個簡單的殼原始碼

最近出差,偶有閒暇,寫了個簡單的殼,先宣告下,此殼部分內容借鑑看雪論壇某位大俠 現在搜尋找不到了,所以名字忘記了 名為shell的程式。主要實現有以個方面的功能 1,對text塊進行rc4加密,組織程式被ida等靜態工具分析。2,替換程式中的部分api函式,讓其執行到api函式時能跳到殼執行相關 後...

乙個socket原始碼

vc編寫伺服器 式的聊天室 2009 9 11 本文參考了 visual c 6.0完全自學手冊 中的示例 一 流程說明 客戶端客戶端建立流式套接字 呼叫connection向伺服器傳送連線請求 連線成功後使用建立與之關聯的的csocketfile物件和carchive物件 使用carchive物件...

乙個socket原始碼

vc編寫伺服器 式的聊天室 2009 9 11 本文參考了 visual c 6.0完全自學手冊 中的示例 一 流程說明 客戶端客戶端建立流式套接字 呼叫connection向伺服器傳送連線請求 連線成功後使用建立與之關聯的的csocketfile物件和carchive物件 使用carchive物件...