最近出差,偶有閒暇,寫了個簡單的殼,先宣告下,此殼部分內容借鑑看雪論壇某位大俠(現在搜尋找不到了,所以名字忘記了)名為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物件...