1
نوشتن یک ویروس ساده برای انجام یک کار در زمان خاص به زبان C++
با سلام ، دوستان عزیز من می خوام یه ویروس ساده تایمر دار به زبان c++ بنویسم که بعد یک ساعت یک فایل رو کپی کنه ، لطفا راهنماییم کنید ممنونم.
2 پاسخ
0
سلام
دوست گرامی شمابرای اینکاربایدابتداتایم فعلی سیستم روبه دست بیاریدوپس ازآن یک حلقه برای تغییرزمان سیستم بنویسیدمثله شبه کدزیر:
Time ();
While (Time()==DesiredTime)
{
باتشکر
1
دوست عزیز به توسینسو خوش اومدید ، خوب فرآیند مخربی که دارید چی هست که بهش میگید ویروس ؟ آیا کپی کردن فایل خاصی هست ؟ این باید مشخص بشه ، وگرنه نوشتن این برنامه ترکیبی از دو کد هست که از دهه هفتاد میلادی تا به حال تغییر چندانی نکردند ! برای مثال کد زیر برای کپی کردن فایل استفاده میشه :
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
int cp(const char *to, const char *from)
{
int fd_to, fd_from;
char buf[4096];
ssize_t nread;
int saved_errno;
fd_from = open(from, O_RDONLY);
if (fd_from < 0)
return -1;
fd_to = open(to, O_WRONLY | O_CREAT | O_EXCL, 0666);
if (fd_to < 0)
goto out_error;
while (nread = read(fd_from, buf, sizeof buf), nread > 0)
{
char *out_ptr = buf;
ssize_t nwritten;
do {
nwritten = write(fd_to, out_ptr, nread);
if (nwritten >= 0)
{
nread -= nwritten;
out_ptr += nwritten;
}
else if (errno != EINTR)
{
goto out_error;
}
} while (nread > 0);
}
if (nread == 0)
{
if (close(fd_to) < 0)
{
fd_to = -1;
goto out_error;
}
close(fd_from);
/* Success! */
return 0;
}
out_error:
saved_errno = errno;
close(fd_from);
if (fd_to >= 0)
close(fd_to);
errno = saved_errno;
return -1;
}
کد زیر هم برای زمانبندی کردن اجرای یک کد در زمان خاص استفاده میشه :
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
#include <stdlib.h>
#include <ctype.h>
#define _MAX_EVENTS 10 // 10 Events Max
#define _MAX_DESCRIPTION 101 // 100 Character Description Max
typedef struct { // typedef a struct called event
int hour; // Store the hour / HH
int minute; // Store the minute / MM
char description[_MAX_DESCRIPTION]; // Store the event description
} event;
// Print the menu selection
void printMenu() {
puts("+------ SCHEDULER ------+\n"
"| 1. New Event |\n"
"| 2. Delete Event |\n"
"| 3. Display Schedule |\n"
"| 4. Save Schedule |\n"
"| 5. Load Schedule |\n"
"| 6. Exit |\n"
"+-----------------------+\n");
}
// Return true if an event is NULL, false otherwise
bool isNull(const event *e) { return e == NULL; }
// Allocate memory for and initialize an event
event *initEvent() {
event *e = (event*)malloc(sizeof(event));
e->hour = 0;
اما به هر حال تا اطلاعات بیشتری در اختیارمون قرار ندید نمیشه کمک زیادی کرد . توسینسو رو به همه معرفی کنید