» Оптимизация Delphi кода

8 Июнь 2010 – 19:09

Сегодня решил заняться оптимизацией своего антивируса (да-да, я извращенный вирусолог, имеющий свой антивирус). Поглядел на код и децл ужаснулся: куча лишних операций, присваиваний, сложные действия и прочая лабудень.. Ради интереса запустил сканер. При таком неоптимизированном коде vоя программка прогналась по папке за 5:09 минут. Ок, взялся за оптимизацию.. Привел в порядок типы переменных (убрал лишние конвертирования), поменял циклы (у меня они были в стиле for i:=0 to Length(s) do), заменил операции div 2 на shr 1, поубирал лишние проверки и вообще ненужный код.. Компилируем, тестируем. Опа, та же папочка прогналась за 4:51 минуту. Почти 20 секунд разницы, неплохо так :) Буду работать дальше…
P.S. Оптимизация рулит!

» VR-Online - 10 лет!

17 Май 2010 – 15:46

Ну что ж, одному из моих любимых и повседневно посещаемых порталов - Virtual Reality Online - исполнилось 10 лет! Юбилей как никак! Посему хотелось бы поздравить его с этим праздником, пожелать долгих лет жизни и большого числа посетителей!
К этом дню, кстати говоря, портал выпустил очередной, на этот раз праздничный, журнал. Составляющее его просто не может не радовать: более 230 страниц качественной и интересной инфы для программистов, админов, а также обычных людей, тем или иным интересующимся ИТ сферой. Присутствует там и моя статья, посвященная программированию на Delphi при помощи KOL. Это уже третья статья в этом цикле. Прочитав журнальчик я остался доволен: много на самом деле полезного и интересного материала. Особенно улыбнула меня заметка ZeroXor, посвященная взаимоотношениям между полами и комментарии к ней :) . Во много согласен с ней. И интервью с М. Фленовым по поводу заработка в Канаде меня заставило на несколько минут уйти в раздумья. В общем чего все расписывать, читайте сами - не пожалеете!

» Семинар Dr.Web в Минске: как оно было

17 Май 2010 – 0:37

15 мая в рамках SAS IT Battles был проведен семинар «Dr. Web. Технологии защиты информации».

Все началось с моего отправления с родного Гродно в Минск 14 числа. Уехал в 16:00, приехал в 22:45. Дорога была нормальной, только после жестких сидений уж больно болела пятая точка. По прибытию меня встретили руководитель SASecurity gr Евгений Кучук и Татьяна Давыдовская, девушка Жени и по совместительству его помощница. Вокзал в Минске конечно крутотень, ничего подобного я не видел пока ни в одном городе. Еле нашел второй этаж. Даже представитель Paragon Software Group, Юрий Бадаев, который так же решил приехать на семинар, а заодно и решить некоторые организационные моменты по поводу проведения очередного семинара, сказал, что это просто дворец! Упс, кажется я кое о чем проговорился ;)

Ночевал я у Жени. Перед сном, кстати, смотрели фильм Ип Мэн 2! Замечательный фильмец, всем советую глянуть как 1-ую, так и 2-ую части.

С самого утра, 15 мая, начался трудный, но интересный день. Приехали мы (Таня, Я, Женя) в БГУ где-то в 11:20 утра и приступили к поиску представителей “Доктор Веб”. Нашего докладчика я сразу и не узнал, в связи с его неформальной внешностью (да простит меня Валерий Ледовской). Изначально я подумал, что это студент :) Но созвонившись с Ольгой Демаковой (организитор семинара со стороны Dr.Web) всё стало на свои места, когда она вместе с Валерием подошли к нам (фото смотрим далее).

Сразу же приступили к подготовке семинара. Нашли 433 аудиторию, повесили плакат с символикой компании (см. рисуночеггг), поставили переносной “щит” при входе на этаж. В аудитории стоял рояль, Валерий в свободную минутку показал нам мастер-класс, сыграв на нем. Я конечно не искушен в этих делах, но игра мне понравилась. В это время я с Таней готовили сюрприз для каждого посетителя семинара: подаренные “Доктор Веб” сертификаты (лицензии) на Антивирус Dr.Web, календарики и брелки с логотипом компании, а так же визитки и информационные листовки от SASecurity gr. Кстати, хотелось бы выразить благодарность Dr.Web за подобные подарки, думаю всем посетителям семинара они понравились.

Где-то в 12:15 стартовал сам семинар. Основные темы, которые были затронуты - “О компании”, “Современные угрозы”, и “Решения Dr.Web”. По ходу семинара наш докладчик при помощи презентации задавал вопросы всем слушателям, за правильные ответы давались призы - футболка с фирменной надписью “Dr.WEB”. Кол-во слушателей в принципе порадовало, хотя могло бы быть и больше: все же 15 мая для Беларуси в связи с некоторыми праздниками являлся рабочим днем. На фото видно, в каком формате проводился семинар. После доклада (да и во время его проведения) любой желающий смог задать свой вопрос. А их было очень много, даже Валерий сказал, что такого у них еще не было. Ну да, наши студенты любят информацию :) Длился семинар около 2-ух часов, может даже чуть-чуть больше, завершившись где-то в 14:15 по Минскому времени. Те, кто задал самые интересные вопросы по мнению Ольги и Валерия, получили бейсболки с логотипом компании.

После семинара Я, Женя, Таня, Ольга, Валерий, Юрий и Сергей Barmentalisk решили перекусить. Зашли в кафе “Кружка”, что находится в торговом центре “Столица”. Там за кружкой пива и разными вкусными блюдами дружно побеседовали о проблемах рынка ПО в Беларуси, о сертификации продуктов, поделились разными впечателениями. Гости нашей страны оказались, по их словам, довольными столицей и местным населением. И это хорошо, не зря же Беларусь славится своей гостепреимностью!

После кафе мы проводили наших гостей до пунктов отправления на родину и дружно попрощались. Надеюсь, что это был не последний визит представителей “Доктор Веб” в нашу страну. А представителя Paragon Software Group мы еще планируем увидеть.

В целом я остался очень доволен семинаром и знакомством с новыми, приятными людьми. Все, кто не смог посетить семинар, в ближайшее время смогут прочитать мой отчет в газетках, а так же увидеть фото и видео на официальном блоге Фестиваля Информационных Технологий SAS IT Battles. Следите за новостями!

» Всемирно известному кодеру - 18 лет!

5 Май 2010 – 17:05

Булка, с ДР! (с) Идея Андрея Соловьева ;)

Да-да, вот такой я не скромный. Сегодня, в этот чудесный день, мне исполнилось 18 лет. Вот и оно, совершеннолетие по законам нашей страны! Но с ним, как известно, приходит и большая ответственность, да и ума уже должно прибавиться, чай не ребенок :) Ровно в 0:01 меня успели поздравить, и пока был в универе. Спасибо всем, кто не забыл и написал приятные слова. Что ж, теперь осталось еще отпраздновать, причем так хорошенько… А потом сессия, надеюсь ее я переживу! Кстати, это будет, наверное, самое ходовое пожелание при сложившихся обстоятельствах, и очень, в принципе, нужное! Но еще не вечер :)

» Нахер свой антивирус!

29 Апрель 2010 – 0:40

Да-да, именно так! Нахер удали свой антивирус! Если ты еще сомневаешься, делать это или нет - читай дальше.

80% из всех существующих антивирусных продуктов не стоят своей цены и близко, если вообще чего стоят! Проведя пару тестов и почитав несколько заметок я пришел к такому неутешительному выводу. Антивирусная индустрия уже просто бесится с жиру, все не очень хорошо работают клали хер на безопасность пользователя. Деньги, деньги, и еще раз деньги! Качество не всралось никаким боком! Хуева туча ложных детектов?? Нихуя не детектим из Zero-day угроз? Кому какое дело, зато наша вирусная база содержит 3.867.873 вирусные сигнатуры!! И это вам не абы что! И все это добро, вкусно приправленное гламурным интерфейсом для блондинок для удобства пользования стоит всего-то 35$ (да-да, я говорю сейчас про говно-антивирус от дяди Жени Касперского). Вывод сделан на основе следующих тело-движений:

Читаем пост от VaZoNeZ - Касперский просто отжигает! Поменяли расширение файла и все, файл уже согласно эвристике катит на троянчик. Я вот подумал, может мне сделать на Паскале такой же антивирусик? А чем плохо? Антивирусная база будет на 4.000.0000 записей, разве мало?? Заказать мой антивирус можно уже сейчас по весенне-летней скидке в 25%, пишем на мыло.
Далее я решил пойти дальше и провести пару своих тестов. Создал пустой проект на Delphi 2006, откомпилил и залил на VirusTotal. Результат заставил биться в конвульсиях:

Result: 10/39 (25.64%)

И не просто там какой-нибудь “Suspicious file”, а четкое решение: Trojan/W32.Agent.393216.CS или там Trojan-Clicker.Win32.Delf.arh.
Ладно, теперь напишем пустой проект на C++ (IDE и компилятор от DevC++ 4.9.9.2). Сперва подключаем только “stdlib.h”, а в main-функции только return 0. Проверяем и вот что имеем:

Result: 2/39 (5.13%)

Круто я закодил Trojan.Agent.IRC в одну строку кода, кто меня переплюнет?? Причем сразу два в одном: дроппер и IRC бот сразу (Trojan-Dropper.Win32.Small.bxm)! Я кул-хацкер, на колени жалкие авторы Sinowal и Rustock!
Теперь попробуем подключить другую библиотеку вместо первой, я выбрал банально “iostream”, думал хоть так будет мне счастье. Не тут-то было:

Hoax/Win32.BadJoke.gen

Мои шуточки, видимо, пришлись не по вкусу какому-то Antiy-AVL, непонятно вообще откуда нарисовавшемуся антивирусу.

В общем вывод Вы должны были сделать уже после прочтения заметки про Лепрозории Касперского: качество современных АВ - говно! Нехуй платить такие деньги за цифровой ветер! А я пошел блевать, ибо моя неуравновешенная психика не смогла перенести такие нагрузки…

» Куда катится вирмейкинг?!

11 Апрель 2010 – 1:30

Не знаю каким хуем долез до форума журнала “Хакер”, но не это главное. Тема топика - “Какой язык программирования самый лучший для написания сильных вирусов?”. Да, уже сам вопрос говорит сам за себя..
Прочитав полностью вопрос автора и ответы не него я хотел блевать просто офигел от отупевшего населения нашей планеты.. Вот этот вопрос меня ну просто убил:

А на асме и ассемблере можно совершать действия с настройками BIOS–а на материнской плате???

Это полный пиздец.. Хотят писать вирусы, тусуются на “хакерских” форумах - и не знают о том, что асм и ассемблер - один хер.

С++ еще как катит(хотя для вирусов пожалуй лучше С без плюсов).

Вот так вот товарищи, C для написания вирей круче, чем C++, как заявил какой-то юзер с кол-вом сообщений = 26. Спасибо приятель, буду знать!
Читать полностью »

» “Присягнувшие тьме” - Жан-Кристоф Гранже

10 Апрель 2010 – 21:09

Буквально пару минут назад дочитал книгу Жана-Кристоф Гранже “Присягнувшие Тьме”. Мнение - охуенная! Да, детективчик выдался крайне сочным и такого поворота дел я явно не ожидал.

По сюжету книги обычный майор полиции Парижа узнает о том, что его лучший друг попытался покончить жизнь самоубийством. Он и его друг - ревностные католики, посему такой поворот дел никак не укладывается в голове главного героя. И он начинает свое расследование, знакомясь с группой сатанистов, “лишенных света” и прочих непонятных и подозрительных личностей.
Читается книга интересно и до последнего момента даже не догадываешься, кто стоит за всеми событиями.

Язык изложения материала несколько необычный, но читается лигко. Всем, особенно тем, кто любит читать детективы, настоятельно советую почитать эту книженцию - не пожалеете! А я планирую почитать другие книги автора. :)

P.S. Описание книги на OZON

» Новые и запланированные статьи

9 Апрель 2010 – 1:29

На этой неделе вышли две мои новые статьи в КГ: “Исследование утечек за 2009 год: виды, каналы распространения, защита” и “SAS IT Battles - Вебкаст Пользователи DefenseWall не заражаются“. Идея первой статьи я думаю понятна из названия, вторая - это отчет по прошедшему веб-семинару “Пользователи DefenseWall не заражаются”, прошедшему под флагом SAS IT Battles. В ближайшее время будет еще одна, посвященная обзору скорого релиза продуктов компании Agnitum - Outpost 7.0. Новые функции, улучшения, интерфейс - в общем чего ожидать от новой версии. А так же планирую дописать статью на VR про KOL - все, бля, никак руки не дойдут. Идей на новые статьи пока нету.. Буду думать :???:

» Обновление LightSMTP

3 Апрель 2010 – 18:18

Буквально вчера я обновил мой компонент LightSMTP, призванный помочь Delphi программистам с задачей отправки почты через протокол SMTP. “Да таких компонентов куча!” - скажут некоторые. Согласен, Synapse, Indy, ICS SmtpCli и прочие. Но все они делают бинарник нагруженным, добавляя примерно 70 Кб. Для тех, кому важен размер готового проекта, это очень много. Использовать в приложениях, написанных на WinAPI их тоже нельзя, а иногда так нужно! Да и юзеро-ориентированность моего компонента побольше будет, чем у вышеперечисленных. Единственное, что я признаю - так это тот факт, что мой компонент не поддерживает отправку на спец. порт TLS (например работа с smtp.google.com). Пока что я не придумал, каким образом организовать поддержку, но возможно в будушем реализую ее.
В общем я все же не буду вести долгую дискуссию о том, какой компонент лучше, все же решать вам. Проще описать то, что он может:
Компонент поставляется в двух версиях: Design-Time (VCL) и Run-Time (API). Первая версия годна для использования в “оконных проектах”, вторая для приложений, не имеющих окон и написанных на WinAPI. Обе версии имееют одинаковый функционал:
1) Собственно банальная отправка текста письма
2) Формат сообщений: обычный текст или HTML
3) Поддерживается авторизациия
4) Возможность задать charset письма
5) Поддерживает отправку файлов (их кол-во компонентом не ограничено)
6) Поддерживает рассылку копий письма по списку получателей
7) Заголовок XMailer - указываем название вашего почтовика
8 ) Добавляет только 7-9 Кб к готовому бинарнику
9) Всякие мелочи…

Спасибо отдельное Саше Личкатому за его замечания по поводу отправки пустых строк и HTML формата письма. К набору компонентов имеются исходники, демонстрирующие пример работы с API и VCL версией компонента. Скачать и поюзать можно по ссылке - LightSMTP (300 Кб)

» Замена информации в exe файле на Delphi

1 Апрель 2010 – 19:41

На форуме VR был задан вопрос о том, как программно сменить информацию о версии (и подобном) у чужого *.exe файла. На первый взгляд мне показалось, что проблема решается быстро. Тем более, что я когда-то вроде уже реализовывал подобное. Но при многочисленных попытках написать код, у меня ничего не получилось… Вспомнил про GetFileVersionInfo, накопал инфу - не, не то. Вся эта батва помогает только узнать инфу из файла, но не изменить ее. А наша задача другая. Подумав, я решил, что поскольку данные о версии программы хранятся в ресурах, то и для замены их надо юзать UpdateResource. Перерыв весь инет, в результате я все же нашел то, что мне надо было. Но времени это отняло прилично, так как весь код, что предлагали на разных форумах, оказывался нерабочим и кривым как турецкая сабля. Даже на профессиональном форуме для кодеров, причем закрытом и платном (!), ни один из Гуру (без тени преувеличения, потому как там были такие громкие подписи - “Guru” :) ), не смог дать однозначного ответа или рабочего кода. Некоторые фрагменты быдло-кода, к моему удивлению, были убоги и ужасны, и вообще я бы за такое кастрировал!
В итоге я все же набрел на ангоязычный блог и вкурил то, что надо. Всем, кому может это пригодится, выкладываю аккуратненько собранный алгоритм:
Читать полностью »


Страница 2 из 9«12345»...Последняя »