Сообщения

Показаны сообщения с ярлыком "C"

Mail.ru History Reader 3.1

В виду многочисленных просьб в комментариях здесь и на форуме, держите версию 3.1 Исправлены ошибки: Повреждения файла dbs при чтении Не полное чтение переписки Доработан функционал: Чтение ICQ переписок Чтение SMS сообщений Исходники программы, а так же скомпилированная версия теперь доступны на GitHub

Mail.ru History Reader 3.0

Изображение
UPDATE Похоже снова появился интерес к моей программе, поэтому специально для Set_ и Alex . Архив с PDF статьи в 159 номере журнала "Xakep" и исходниками к ней. Примечания по исходникам: программа не без косяков - она не корректно закрывает открытый hMap. MapViewOfFile должен закрываться функцией UnmapViewOfFile, при этом мне необходимо было изменять выделенную память и не записывать изменения в файл... MapViewOfFile нужно было открывать с флагом FILE_MAP_COPY, а CreateFileMapping с флагом PAGE_READONLY... Прошел всего год, и вот настал тот момент, когда благодаря стараниям SOLON7 формат истории был покорен :) По многочисленным просьбам о новой версии (как никак больше 100 человек проголосовало в опросе) я ее родил: Это не полноценный релиз, многое из задуманного еще не написано, просто нет времени. В комментариях отпишите, какие функции вы бы хотели увидеть в релизе. На данный момент программа поддерживает: Сохранение списка e-mail Сохранение переписки в ви...

HEX 2 BIN

Задали вопрос на ачатике, как перевести строку вида "315c4eeaa8b5f8aaf9174145bf43e1784b8fa00dc71d885a80 4e5ee9fa40b16349c146fb778cdf2d3aff021dfff5b403b5" в число. Время ночь, в голове задача написать минимально извращенный код на Си, хотя опытные программисты под Windows могут оправить курить MSDN - CryptStringToBinary , но ведь без велосипеда не интересно. #define BYTE(l,h) (((l) 0x40) ? 0x57 : 0x30; do bin[size++] = BYTE( *hex++, *++hex ); while(hex

Работа с HTTP

Изображение
Кучи вопросов на форуме antichat.ru посвящены работе с HTTP протоколом. В посте я не буду вдаваться в подробности работы с сокетами, а лишь дам примеры программ для отправки GET и POST запросов на JavaScript , PHP , PERL , C , Delphi , Assembler .

WinAPI UI [FAQ]

Публикую это как памятку для себя и для вас, буду стараться пополнять список по мере возможности. Задавайте свои вопросы в комментариях :) Содержание: Как создать окно? Как создать диалог и использовать его в качестве главного окна? Как получить значения элементов окна/диалога? Очень полезные материалы: Основы программирования для Win32 API (Алексей Соловьев)

Скачиваем архивы

P.S: Пишу диплом, поэтому на время разучился мыслить не по ГОСТ-у Недавно пришлось решать задачу обновления программы. Алгоритм получился довольно банальный: Получить текущую версию Сравнить с актуальной версией В случае несовпадения, скачать и заменить оригинальные файлы Для решения поставленной задачи, было принято решение, использовать в качестве файлового сервера веб-сервер и производить обмен данными по протоколу HTTP (см. RFC 2616 ). В качестве веб-сервера я поставил Apache , а программу писал на Си c использованием Winsock . Основной фишкой проекта является то, что програмуля умеет скачивать и сама распаковывать архивы формата 7-zip (см. алгоритм LZMA ), что может пригодиться для хитрого трояна, либо для обновления модулей ботнет-а.

Отправка SMS через bluetooth

Изображение
INTRO Ко мне в ICQ постучался знакомый чел: "xxx: мужик, я чё хотел-то... насколько трудная задача прогу написать (к примеру делфя), которая будет видеть мобильник через юсб и общаться с ним, обмениваться файлами? надо чтоб этот девайс забирал данные из txt-шного файла, кидал на телефон, а телефон по смс кидал на другой телефон. основное это чтобы прога видела телефон и общалась с ним..." Прочитав этот бред я предложил ему написать программу, которая отправляла бы SMS через bluetooth

Свой системный загрузчик с блекджеком и шлюхами

Изображение
В то время, когда у меня еще в помине не было компьютера у моего одноклассника он был, но его старший брат программист чтобы мы не игрались запароливал систему DOS тремя паролями и в случаи не верного ввода одного из них компьютер тупо вырубался. Прошло время у меня появился компьютер, а мечта стать умней его брата осталась ) Проверка пароля учетной записи в windows меня никогда не радовала да и в unix тоже. А что до загрузки систмы? системный загрузчик так почему бы нам его не модифицировать?

Gnome апплет / моя первая программа под nix*

Все началось с того, что я поставил на свой нетбук Ubuntu. После сексуальных извращений с различными deb пакетами и попыток настроить её под себя я понял что ничего хорошего из этого не выйдет.

Base64

Моя модификация вот этого . Понадобилось для HTTP аутентификации // base64 by Gar|k //#define B64_DEF_LINE_SIZE 72 //#define B64_MIN_LINE_SIZE 4 // buf - строка для кодирования // sizebuf - размер строки // rez - буффер для результата // функция возвращает размер полученого хеша int base64_encode(char *buf,int sizebuf,char *rez,int linesize) { static const char cb64[]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; unsigned char in[3], out[4]; int i, len, blocksout=0,count=0; while(count!=sizebuf) { len = 0; for( i = 0; i > 2 ]; out[1] = cb64[ ((in[0] & 0x03) > 4) ]; out[2] = (unsigned char) (len > 1 ? cb64[ ((in[1] & 0x0f) > 6) ] : '='); out[3] = (unsigned char) (len > 2 ? cb64[ in[2] & 0x3f ] : '='); memcpy(rez,out,4); rez+=4; blocksout++; } if( blocksout >= (linesize/4) || count==sizebuf ) blocksout = 0; } *rez++=0; return count; }

Поточный шифр [RC4,VMPC KSA3]

RC4 выдрано из rpcrt4.dll VMPC немного переделанный исходник

Bruteforce MMP / брут паролей сервиса mail.ru

> intro Посмотрел сейчас сюжет про linux, про идеи open source (лиценцию GNU GPL) и решил опубликовать исходники. > WARNING Перед тем как компилировать исходники, настоятельно рекомендую прочесть статью 272 часть 2 (до пяти лет) и статью 138 УК РФ (до трёх лет) - about Функция генерация пароля взята из статьи " Циклический инкремент паролей ", собственно каркас TCP/IP клиента у Криса Касперски , а идеи построения нормального сетевого приложения вычитаны у Йона Снейдера Клиент MMP собственно мой... многопоточность достигается путем открытия сразу N сокетов, которые в дальнейшем живут своей жизнью. + test При тестировании на скорости ~256 кб/c один сокет проверяет 4 пароля в секунду... 4 сокета соответственно 16 (думаю можно и больше не проверял). Приблизительно через 10 минут сервер попросту закрывает все соединения с данного IP (ну я так думаю, потому что помогает переподключение к инету). --==[ СОРЦЫ Bruteforce MMP v 0.01 ]==---