سلامی به بلندای اسم ویروس 32 ، به بزرگی عرش کدر ، به نابی بودن اتکر ، به خوبی میکروب و سلامی به بزرگی و عظمت چاپلوسی خودم D: امروز دیدم سی کوچولوی من جاش این وسط خالیه ): ، اومدم چند تا تابع کوچولو معرفی کنم که برای .... لازم میشه :|
*کامپایلر = DEV C++ . دو سی پلاس پلاس
*ویژوال میژوال نداریم /: کلا طبیعت سر لج برداشته بامن :| با همین کار کنید دیگه |:
امیر جان خوبی؟ پست قشنگیه ؟ واسه تو نوشتمشا :| (با نیموس اشتباه گرفته نشود D: )
زیاد حرف زدم؟ باشه بابا اموزش بدون وراجی معنی نداره که |: ، خب بریم D:
خب اول کتابخونه ها رو اضافه کنید (بیشترشون با ایناست ، میتونید یسری هاشونم حذف کنید ، به جز windows.h ) :
#include<windows.h> //نمیتونه حذف شع . به دلیل استفاده مکرر از توابع ویندوزی |:
#include<iostream> // میتونه حذف شه!
#include<vector> //اگه کتابخونه خط قبل نباشه این وجود نداره و خطا میده
#include<fstream>//برای استفاده از توابع فایل ها
//#include<virus32>
//#include<virus32.blog.ir>
using namespace std;
دو تا کتابخونه اخر رو حتما داشته باشینا D:
آیا یک درایو یا دایرکتوری وجود داره؟! مقدار برگشتی true یا false :
BOOL DirectoryExists(LPCTSTR szPath){
DWORD dwAttrib = GetFileAttributes(szPath);
return (dwAttrib != INVALID_FILE_ATTRIBUTES && (dwAttrib & FILE_ATTRIBUTE_DIRECTORY));
}
اگه خواستید سرعت بیشتری داشته باشید اول تابع های ریز inline بزارید اما حواستون باشه زیاد از تابعتون استفاده کنید حجم برنامتون بالا میره.
لیست کردن فایل های یک درایو یا دایرکتوری :
vector<string> GetFile(string folder , string format){
vector<string> names;
string search_path = folder + "/*." + format;
WIN32_FIND_DATA fd;
HANDLE hFind = ::FindFirstFile(search_path.c_str(), &fd);
if(hFind != INVALID_HANDLE_VALUE) {
do {
if(! (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ) {
names.push_back(fd.cFileName);
}
}while(::FindNextFile(hFind, &fd));
::FindClose(hFind);
}
return names;
}
تابع قبل بهتون وکتور (یه چیزی شبیه به ارایه میده) ، طرز استفاده :
GetFile("V:\\" , "*");
GetFile("V:\\" , "jpg");
GetFile("V:\\" , "exe");
...
اگه طرز استفاده از وکتور و دیدن فایل ها رو هم بلد نیستید تو کامنت ها بگید بگم (فک نکنم کسی بلد نباشه!)
مخفی کردن فایل (دادن اتریبیوتس D: به فایل):
DWORD attributes = GetFileAttributes("E:\\virus32.txt");
SetFileAttributes("E:\\virus32.txt", attributes + FILE_ATTRIBUTE_HIDDEN);
اجرای دستور سی ام دی :
ShellExecute(0, "open", "cmd.exe", "/C echo i'm Tatality ", 0, SW_HIDE
آیا برنامه با دسترسی ادمین باز شده؟
BOOL IsProcessElevated(){
BOOL fIsElevated = FALSE;
HANDLE hToken = NULL;
TOKEN_ELEVATION elevation;
DWORD dwSize;
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken)){goto Cleanup;}
if (!GetTokenInformation(hToken, TokenElevation, &elevation, sizeof(elevation), &dwSize)){goto Cleanup;}
fIsElevated = elevation.TokenIsElevated;
Cleanup:
if (hToken){CloseHandle(hToken);hToken = NULL;}
return fIsElevated;
}
اجرای یک برنامه با دسترسی ادمین :
ShellExecute( NULL,"runas","Virus32Coder32attacker32microb32attrib32.exe",NULL,NULL,SW_SHOWNORMAL);
بوممم! تموم شد دیگه حس ندارم زیاد بزارم براتون }:
با تشکر از شما که انقد به سی ++ علاقه داری D: خوبی امیر جان؟ D: (با نیموس اشتباه نشود با دی ار خودمم :| )
*باشد که رستگار شویم در سال 1400* :| الان ویروس به جرم سیاسی کردن وب از مجلس اویزونم میکنه :|
نویسنده: Attrib 32
ممنون داداش :)
پستت عالی بود :)
کیف کردم :)
ممنون