Hide IP tool, digit host, warez, wolverine, кроссворды

НоНаМыч опубликовал статью, где рассказывается о том, как можно замаскировать IP адрес под бессмысленную, на первый взгляд, строку. Статья интересная, советую прочитать, а после того, как прочитаете предлагаю воспользоваться следующей формочкой, которая позволит маскировать свой адрес не прибегаю к калькулятору и таблице ASCII.

Работает она под любым браузером, использующим старую DOM и знающим, что такое JavaScript (я испытал под Opera 5.12, Internet Explorer 5.01 и Netscape Navigator 4.7).

Способ использования очень простой — в формочку вводите адрес IP (для примера туда уже введен локальный IP-адрес), выбираете опции (для понимания рекомендую прочитать статью), нажимаете «Пересчитать» и наслаждаетесь результатом. :)

http://

Тип адреса:


Не переводить

Десятичный

Шестнадцатеричный

Восьмеричный


Дополнительно:

Имя и пароль

Добавить проценты



Еще несколько замечаний.

Не все прокси признают такие адреса и не все браузеры отдают их в преобразованном виде. Например, мой IE 5.5 через Squid работает только с не преобразованными адресами (впрочем, опции «проценты» и «имя и пароль» работать будут).

Не все браузеры понимают системы исчисления. Opera, например, не принимает десятично-преобразованный адрес, а Lynx — шестнадцатеричный. Мне остается только догадываться как поведут себя, например, Konquier или Mozilla.

С появлением HTTP 1.1 стало возможным использование так называемых виртуальных хостов — когда на одном IP сидят несколько веб-серверов. При указании IP-адреса отвечает сервер по-умолчанию, так называемый «дефолтовый» сервер. Так что, узнав IP-адрес, не забудьте поинтересоваться какой сервер по нему ответит.

Узнать какой IP-адрес отвечает определенному серверу вам помогут утилитки ping (Windows 9x) или nslookup (Windows NT/2000). Просто напишите в окне DOS что-то вроде ping www.host.ru. Четыре числа, разделенные точками — это и есть искомый адрес.

Кстати, эти размышления по поводу цифр навели меня на мысль поискать в Интернете домены состоящие из одних цифр. Вчера я быстренько написал программу на PHP, которая перебирает домены состоящие из одних и тех же цифр.

Так вот, таких маньяков, заводящих такие домены, много. :) В зоне «COM» один маньяк завел домен, состоящий из 63-х нулей. Результаты по «COM» и «RU» можно посмотреть, соответственно, тут и тут.

Warez

Вышел GetRight 4.5b7. Моя любимая качалка, между прочим. Любимая, потому что, в отличие от ReGet’a, не качает файлы «микропорциями», заставляя админов персональных FTP-серверов скрежетать зубами от похожего на двуручную пилу график загрузки. Скачать его можно тут, а кряк к нему тут.

Титульный экран игры «Venus in Fur» версии 6.0 с изображением женщины в красном платье на фоне золотистого интерьера и списком актёров дубляжа.
Электрическая кошка
Обложка книги «Adobe Pet Wolverine» с изображением виверры на снегу, авторами и логотипом Adobe.
Ээ… не знаю что

«Венеру в мехах», известную так же под именем «Электрическая кошка», в Photoshop’e, наверное, видели все, кто знаком с этой программой (если еще не видели — нажмите Shift+Ctrl+Alt и выберите пункт «About Photoshop…»), но мало кто знает, что в Adobe Image Ready, который сопутствует Фотошопу начиная с 5-й версии, тоже есть собственный скрытый экран.

Клавиши те же, а животное другое. Биологию в школе я любил, но распознать ЭТО я не в состоянии. Есть тут биологи? Что это за помесь медведя с собакой? :)

У нас в городе чрезвычайно популярны газеты, где публикуют кроссворды за разгадывание которых можно получить какие-либо призы. Их разгадывание — дело непростое, тут надо обладать не только завидной памятью, но еще и целой горой знаний абсолютно в разных областях жизни.

Тем, кто все-таки решил посвятить свою жизнь получению призов от разгадывания кроссвордов поможет сервис «Помощник кроссвордиста» — замечательно, на мой взгляд, сделанный сервис, который по нескольким известным буквам и длине слова ведет поиск по более чем 58 тысячам слов, причем, если какое-то слово оказалось помощнику неизвестным, вы можете самостоятельно его добавить, внося, таким образом, свой вклад в пополнение словаря.

Я, будучи человеком испорченным, попробовал найти в словаре известное русское слово из трех букв. Не нашел, попробовал добавить, за что меня вежливо тут же послали… Тем же самым словом. :) Впрочем, другое известное русское слово из пяти букв успешно в словарь добавилось, что, признаться, несколько меня ошарашило. Что за дискриминация по половому признаку?!

И напоследок ссылочка на суппортские байки провайдера МТУ. Особенно рекомендую прочитать сказки и доску высказываний юзеров.

Оставить комментарий

RobotWars, SoftWars, warez, патч к WD4, frogs vs. pplz

Чёрно-белый пиксельный рисунок AT-ST из «Звёздных войн» на чёрном фоне, стреляющий красным лучом из правого плеча.
Robot Warfare logo

Вчера, в поисках специализированных языков программирования, забрел на сайт Robot Warfare.

Robot Warfare — это виртуальные войны между роботами, логика которых описывается на специальном, довольно развитом, языке программирования — RW1. Язык довольно прост в изучении и чем-то напоминает очень упрощенный С (песню про пиво на нем я уже написал, скоро выложу).

Войны проходят на специальном поле и делятся на раунды, где роботы сражаются до полной победы одного из них или, при командной игре, до полного уничтожения противника. Таким образом раунды превращаются в битвы интеллектов — ведь побеждает не тот робот, который сильнее или удачливее, а тот, автор которого хорошенько поломал голову над его программной начинкой.

Что бы авторам было над чем поломать голову на карте, кроме противников встречаются ящики со снарядами, стены, камни, ямы и прочие артефакты, а игровое время разбито на такты.

Можно, изготовив своего робота, и хорошенько погоняв его с противниками, которые поставляются вместе с программой, выпустить попастись его на общее поле, что бы, при известной доле успеха, увидеть свое имя в лучшей десятке роботов. Начать рекомендую с чтения документации к языку программирования и исходников чужих роботов. Успехов!

Скачать интерпретатор языка RW1 можно отсюда.

Инфографика «Software Wars» с иллюстрациями и схемами, показывающими конкуренцию между операционными системами и их экосистемами.
Software wars. Уменьшенная

Обновилась карта «Software Wars» — полушутливая карта военных действий на софтварных фронтах. Вести неутешительные — Империя Билла Гейтса успешно атакует по всем фронтам.

Кстати, на том же сайте можно, скачав все карты, проследить всю историю софтварных войн, начиная с марта 1998.

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

И я никогда не подозревал, что существуют: навязчивый страх не понять смысл прочитанного (акрибофобия), страх перед бесконечностью (апейрофобия), наслаждением (гедонофобия), боязнь смотреть в небо (уранофобия) и даже боязнь появления симптомов страха (фонофобия)!!! Полный список разнообразных фобий можно найти вот тут. Надеюсь вы не страдаете акрибофобией? :)

Вышел! Вышел мой долгожданный Русский Апач версии 1.3.20PL30.5. Оригинальный двадцатый Apache вышел довольно давно, а вот русский появился только вчера. Из исправлений — собственно переезд на apache 1.3.20 и пофиксенная ошибка с CharsetEncodeHeaders. Скачать все это добро можно тут, а патч тут.

Появился релиз (3.01) дистрибутива SHS, который включает в себя HTTP, DNS, FTP, SMTP, POP3 и proxy-сервера. Качать его следует вот отсюда, список изменений не анонсирован, но я скачал — релиз все-таки. Правда, все уязвимости, которые я перечислил для бета-версии вот тут в 3.01 по-прежнему работают.

Просили патчик исправляющий 30-дневный баг в WebDrive 4.0? Специально по вашим просьбам мой братишка Олег исключительно в образовательных целях сделал к нему довесок, который работает не только под 95/98/ME, но и под NT/2000. Написан он на C—, так что весит чуть больше двух килобайт.

После того, как вы его скачаете его нужно будет просто запустить, дальше, по идее, он должен все сделать сам.

Логотип сайта Spectator.ru с синим мультяшным персонажем и надписью personal playground на оранжевом фоне.
Спектатор.Ру

У Спектатора юбилей — прошло 888 дней с первой заметки (ого!). ;) С чем я его и поздравляю! Подарить мне ему особо нечего, разве что поставлю ссылку на его сайт у себя. :)

Мем с лягушками: в центре — блендер с водой и лягушками, рядом надпись «the Frogenizer by Joe», «FROGS 3:16», «SMOKE 200», «SPEED 11», «FROG 2000».
Операция «Буря в миксере»

И напоследок… Лягушачья общественность, устав наблюдать за бесплодными попытками общества «Гринпис» что-либо поменять в людском сознании, решила сама расквитаться с главным мучителем животных и представителей других царств — человеком.

Решив, что дальше так продолжаться не может, лягушки решили провести показательную казнь одного представителя ненавистного им человечества. Человек был казнен в огромном перемолочном миксере, заполненном водой.

Репортаж с места казни в формате Flash можно скачать тут (620 Кб). Репортаж предоставлен представителем 11-го канала, эмблему которого вы можете видеть в нижнем левом углу. Спонсором показа выступила фирма Bosch, производящая огромный ассортимент бытовых миксеров.

Оставить комментарий

99 бутылок: RBASIC, MACS

26. RBASIC. Язык RBASIC предназначен для того, что бы предоставить пользователю возможность быстро создавать свои программы для решения задач по ведению радиомониторинга с помощью широкодиапазонных компьютерных сканирующих приемников фирмы Winradio Communications.

Основа языка — BASIC к которому добавлены некоторые конструкции и специальные функции для управления приемниками, такие например, как управления шумоподавителем, громкостью, модуляцией и т. п.

Скрипт, выводящий песню о пиве (beer.rbp)

# Beer song. Written by Evgeny Stepanischev
LET b=99
LET s$=""
FOR i=99 TO 1 STEP -1
GOSUB @beer     
PRINT s$+" on the wall, "+s$+" of beer."
PRINT "Take one and pass around,"
b = b-1
GOSUB @beer
PRINT s$+" on the wall."
PRINT ""    
NEXT i
     
PRINT "No more bottles of beer..."
PRINT "Go to the store and buy some more..."
PRINT "99 bottles of beer."
     
END
       
@beer
LET s$=""
IF b>0 THEN s$ = s$ + str$ (i) ELSE s$ = s$ + "No"
s$ = s$ + " bottle":IF b<>1 THEN s$ = s$+"s"
RETURN

27. MACS (MACrotestSoftware). Язык управления стендом и описания технологического процесса ремонта электронных плат. Для этой цели в языке есть весьма специфические конструкции. Из недостатков языка — отсутсвие возможности описания пользовательских процедур и функций и наличие всего двух типов данных — целых чисел и строк. Из глюков интерпретатора — необходимый последний перевод строки.

Программа, выводящая песню о пиве (beer.mcs)

// Written by Evgeny Stepanischev

cls
 string beer
 string w = " on the wall"
 def b

 for def i=198 to i > 0, i=i-1
 do
    b = i/2

    if b beer = b else beer = "No" endif
    beer = beer+" bottle"
    ifs b!=1 beer = beer+"s"

    if i&1
       beer w ".\r\n\r\n"
    else
       beer w ", " beer "."
       "\r\nTake one down and pass it around,\r\n"
    endif

 done


 "No more bottles of beer...\r\n"
 "Go to the store and buy some more...\r\n"
 "99 bottles of beer."

 pause


Оставить комментарий

Хак Миранды и SHS 3.00b8, M[S]N, автоспам, чайноплешь

Для начала. Из любопытства бегло просмотрел исходники Миранды. Хотел узнать как там с криптованием пароля… Так вот… С криптованием пароля там плохо, практически никак… Я написал небольшую программку на Перле, которая находит в файле профиля пароль и раскриптовывает его. В качестве параметра ей нужно отдать имя dat-файла Миранды.

use Fcntl;
sysopen F, $ARGV[0], O_RDONLY;
binmode F;
sysread F, $_, -s shift;
close F;

print map {pack 'C',$_-5} unpack "C@{[$_=unpack 'S', $1]}", substr $',_,$_
if /\010Password.(..)/;

За отсутствие проверки на переполнение и чтение файла целиком больно не бейте — вам оно надо? Вы видели человека с символом 0x04 в пароле или файлом логов в пару десятков мегабайт?

Окно настройки ICQ и Password с полями ввода пароля и галочками для использования ICQ и MSN Messenger.
Miranda MSN

Более того, читая те же самые исходники, я выяснил, что в Миранде готово практически все для поддержки MS Messenger.

Буквально всё: диалоги, библиотеки протоколов, необходимые плагины и тому подобное. Не хватает сущих мелочей, так что все это пока отключено. То, что можно видеть на скриншоте — это скрытые настройки, которые я «вытащил» наружу при помощи обычного редактора ресурсов.

Если кому-то интересно убедиться в этом самостоятельно, то скачайте редактор фирмы Symantec (или любой другой) и взгляните на диалог номер 111.

Несколько слов о Small HTTP Server. Макс Феоктистов что-то затих… :)) Новые беты появлялись все реже и реже, а теперь он и вовсе перестал их выпускать. Поискать баги что ли?

Для начала посмотрим, что из того, что я уже описывал в прошлый раз он успел исправить.

  • Исправлен весьма застарелый и, в общем-то, неопасный баг с <#exec >
  • Исправлен баг с вызовом test.shtm?%
  • Так же исправлен баг с переполнением в FTP сервере

Что ж. Практически все, что я успел найти он исправил. Кроме, разве что, бага с Authorize, который, по крайне мере у меня, по прежнему работает. Потратив десять минут, я нашел еще три бага, так что любителям валить серверы своих ближних попрежнему есть чем заняться… :)) Пользуйтесь:

  • Вызов test.shtm?% Макс исправил, а вот test.shtm?%0 по-прежнему вызывает сбой
  • Так же роняет сервер передача одной-единственной строки в заголовке HTTP-запроса — POST
  • Можно уронить сервер запросом GET \

Так что автору есть над чем поработать. :) Надо бы еще как-нибудь посмотреть POP3 и SMTP-сервера…

Ковыряя в SHS я попутно нашел баг, интересный эффектом, который достигается с его помощью. Не знаю чем он вызван, но работает он только под Small HTTP Server.

Если вызвать страницу с текстом, который я привел в таблице (в ней используются SSI, так что сохранить ее нужно с расширением shtm), из-под любого браузера, то в первый раз вы увидите фразу «Вы зашли сюда в первый раз», а после обновления страницы — «Вы перегрузили страницу».

Можно даже считать, что это не баг, а фича. :)) Макс, *это* можно не исправлять. :)

Вы
<!--#if expr="$ACCEPT=*/* || $PRAGMA" -->
перегрузили страницу.
<!--#else -->
зашли сюда в первый раз.
<!--#endif -->

Испытывал эту программу я под IE 5.0, NC 4.7 и Opera 5.02, так что, если вы пользуетесь другими браузерами или версиями, то у вас этот трюк может и не сработать.

Вышла новая Opera. Подробно о том, что нового в версии 5.12 можно почитать тут. Если кратко — новая среда выполнения Java (1.3.1), исправлены некоторые баги, изменения в реализации JavaScript и возможность импорта почты Netscape.

Крупный план морды полосатого кота с закрытыми глазами, который ласково обнимает лапой другого кота, прижимаясь к нему мордой.
Брусничка

По телевизору услышал. Рекламу. «Появился новый отличный измельчитель пищевых отходов, теперь уничтожение пищевых отходов происходит быстро и эффективно…».

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

Специально для любителей кошек: я всего-навсего шучу. :)

Есть еще благородные люди в наше время! Вот «Русский Журнал», правда сам того не подозревая, предоставил отличное средство для борьбы с недругами.

Берем эту вот ссылку:
www.russ.ru/.code/sendbymail.cgi?path=/netcult/museum/20001107_leybov.html&mail=e-mail

Вместо подстроки e-mail подставляем адрес почты лучшего недруга, открываем ее в браузере и много-много раз жмем «обновить». Недругу приходит почта. Много-много почты. Скажем, сотни две шестикилобайтных писем. Думаю, будет весело. Особенно тем вашим врагам, кто на модеме.

Кстати, мне такое можно не слать — у меня на sendmail стоит фильтр на этот адрес. Если хочется сказать мне «спасибо» можно это сделать другим способом. :)

Спектатор выложил в свой «ночник» тексты (см. с седьмого абзаца) сочинений одного китайского студента, учившегося когда-то в московском университете им. Патриса Лумумбы. Читали когда-нибудь китайские переводы на упаковках товаров? Так вот то, что вы читали до этого, просто учебник русского языка, по сравнению с этим… Особенно советую почитать «Мой друг».

Оставить комментарий

NNM, минихак KZN.ru, warez, «линейка», разное

Мужчина с татуировкой «Notorious» на лбу и надписью «WWW.NNM.RU» внизу изображения.
NoNaMe

Проекту NoNaMe, сайт которого я посещаю ежедневно, исполнилось ровно полгода. С чем я поздравляю сам проект, его читателей и авторов.

Желаю им дальнейшего развития, расширения, как объемов выпуска, так и количества рублик, а так же дальнейшего роста посещаемости. Кстати, в том, что посещаемость будет рости я не сомневаюсь.

Если вы еще не были на этом сайте, советую его посетить.

Раз уж я упомянул NoNaMe начну, пожалуй, с хака. :)

Есть такие люди, которые почему-то думают, что шаловливые ручки хакеров, по каким-то причинам обойдут стороной их сайт. Так что ставить пароли на некоторые страницы даже вовсе не обязательно — ведь ссылок на них нет, значит никто не догадается на них зайти.

Специально для таких людей в целом и для создателей сайта KZN.ru в частности, говорю: вот эту (www.kzn.ru/consult/admin.php3), до адреса которой мне, например, догадаться было довольно просто, страницу запереть паролем просто необходимо. Иначе — приходи, кто хочешь, бери что хочешь. Ладно я такой добрый, ничего не меняю,.. а то ведь люди разные бывают…

Ссылку, кстати, не ставлю специально. Мне рефферы в логах не нужны. Copy&paste еще никто не отменял :))

Warez.

Неутомимый Max Feoktistov выпустил SHS v3.00b8. Что в ней нового неизвестно, но у меня есть предположение, что я добился своего и Макс решил довести свой поистине замечательный продукт до ума. В смысле вычистить все баги.

Не менее неутомимая команда, выпускающая Миранду выпустила очередной ночной билд Миранды. В новой версии исправлен баг из-за которого Миранда не компилилась без platform sdk. Полную историю изменений можно найти тут.

Вышла новая версия системы удаленного администрирования Unix-систем Webmin. В новой версии (0.87) исправлены баги, добавлена поддержка Linux SuSE 7.2 и MSC Linux. Полный список исправлений можно найти тут.

Только что получил по аське, пардон, Миранде от Romantik’a. :))

|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|llllllll|
0         1         2         3        4         5         6        7         8         9       10        11      12       13
_______________________________________________________________________________

Если Вы забыли дома линейку, распечатайте это соообщение!
Powered by Урюпинский Завод Измерительных приборов

Надеюсь, владельцы неграфических браузеров, типа Lynx’а, сами смогут догадаться где смеяться :))

Таблица с турами: «Companion SP», автобусные туры по Европе, 2* / BB, цена 0$, 8 дней; комментарий о дешёвом и практичном путешествии.
Тур. Скриншот

«Казанский Портал», а точнее, фирма «Companion SP» порадовала. Предлагает автобусные туры по Европе за (внимание на скриншот) ноль баксов! Надо брать, дешевле не будет!

Ссылку прислал Олег

Официально заявляю, что с этого момента раздел «ссылки по теме» (или как он там был?) упразднен, как ненужный, неудобный и вредный!

Думаю, что меня поддержат все. :) Надо было давно его убрать, но уж так исторически сложилось, что перед тем, как начать делать свою страничку, я вдоль и поперек исходил сайт Андрея Калинина, где и позаимствовал эту странную идею. :)

Закончу еще раз рекламой NoNaMe. Сегодня там появился весьма полезный материал о том как защитить свою аську и какие полезные утилиты существуют расширяющие ее возможности существуют.

Вскользь упомянули про мою WebICQ, которую я когда-то писал. Правда, автор утверждает, что WebICQ написана с применением Java. На самом деле Java там не применяется, применяется JavaScript, тех кто не видит разницы отсылаю на мою попытку разъяснить, что это так.

Всем пока, на сегодня достаточно, вчера у меня был выпускной в КГУ, так что я, несколько, не выспался… ;)

Оставить комментарий

«Моя семья», для «сапера», warez, careware, cтих

Семья из четырёх человек — мама, папа и двое детей — улыбается на фоне голубого неба с облаками; внизу видна часть надписи «Семья» красными буквами.
Томатный сок «Моя семья»

Купил вчера томатный сок «Моя семья». Хороший такой томатный сок, говорю вам как ценитель этого чудесного напитка. :) На пакете — счастливые лица семьи, которые, по всей видимости, только что отведали сабжа.

Теперь все внимание на их глаза. Вот сижу и думаю — со мной то же такое будет? Боже мой, а это лечится? :))

Окно программы «Лучшее время» с таблицей победителей по разрядам: Новички — 4 сек, Любители — 4 сек, Профессионалы — 27 сек, все результаты принадлежат Евгению.
Помощник сапера

Долгими рабочими днями, когда нечем себя занять на работе, люди в общем-то далекие от компьютерных игр, развлекают себя различными «лайнсами», «преферансами» и «саперами». Некоторые достигают невиданного мастерства и ставят просто невиданные рекорды.

А как быть тем, у кого это сделать не получается? Неужели не придумали инструмента, позволяющего ставить рекорды легко и непринужденно?

По крайней мере для игры «Сапер» такой инструмент есть. Это программа «Помощник сапера» изготовленная Валерием Киселевым.

Достаточно сделать несколько первых шагов и передать руководство программе, она сама распознает конфигурацию игрового поля и решит задачу нахождения мин. Делает она это точно так же, как это бы сделал человек — т. е. анализирует цифры на клетках и помечает флажком то место, где должна оказаться мина, так что тупиковые ситуации, которые могут встретится в процессе игры она разрешить не в состоянии, что, думаю, не помешает вам поставить самые невероятные рекорды.

Мне, вот, не помешало :) См. на скриншот.

Warez.

Вышел PHP 4.0.6. Полный список исправлений занимает 6 килобайт, но, если не считать появившуюся поддержку GD 2.0.1, в основном это — багфиксы. Из того, что мне реально сейчас нужно появились array_filter, array_map и mysql_unbuffered_query.

Max Feoktistov неустанно создает все новые и новые беты Small HTTP Server. Новая, уже шестая по счету бета, которая неясно чем отличается от пятой вышла только вчера. У меня подозрение, что Макс сейчас в основном фиксит баги, а, так как у него какое-то болезненное к ним отношение (иначе как объяснить исчезновение некоторых сообщение, исправление в тексте «что нового» постфактум?), то он их не анонсирует.

Честно говоря, я не понимаю, чего он опасается. Да, он продает свою программу, но вот парни из RitLabs или Евгений Рошаль занимаются тем же, но баги анонсировать не опасаются.

123 02 12 
120 3 4 5
5 40 318
14 1 05

Угадайте, что это было? :)) Не поверите! Стихи! Попробуйте прочитать в слух и убедитесь сами. Жаль, но автор мне неизвестен.

Я как-то уже говорил о различный share-, free-, postcard-, ad— и прочих -ware. Но самое удивительное, что создано в этом направлении, это, по моему мнению, CareWare.

По этой лицензии распространяется HTML-редактор Arachnophilia. Для обладания им вы должны на час, день или неделю, по вашему выбору перестать жаловаться на жизнь и начать говорить приятное окружающим вас людям. :))

По-моему, замечательные условия. :)) Кстати, тоже самое можно делать и просто так, а не для того, что бы заполучить этот самый редактор.

На этом на сегодня я закончу.

Оставить комментарий

Технический сбой. Эволюция программиста

Сегодня случилось непредвиденное. В силу неизвестных мне причин (то ли сбой на сервере, то ли кривость FTP-клиента) файл за сегодня на сервере испортился. Надеюсь, что к завтрашнему дню я все восстановлю, а пока выкладываю текст, который я недавно нашел в Интернете. Ему, насколько я понимаю, не один год, но, может быть кто-то еще не видел. Программисты оценят.

===================
High School/Jr.High
===================

 10 PRINT "HELLO WORLD"
 20 END

=====================
First year in College
=====================

 program Hello(input, output)
   begin
     writeln('Hello World');
   end.

======================
Senior year in College
======================

 (defun hello
    (print
     (cons 'Hello (list 'World))))

================
New professional
================

 #include <stdio.h>
 void main(void)
 {
   char *message[] = {"Hello ", "World"};
   int i;

   for(i = 0; i < 2; ++i)
     printf("%s", message[i]);
   printf("\n");
 }

====================
Seasoned professional
=====================

#include <iostream.h>
#include <string.h>

  class string
  {
  private:
    int size;
    char *ptr;

  public:
    string() : size(0), ptr(new char('\0')) {}

    string(const string &s) : size(s.size)
    {
      ptr = new char[size + 1];
      strcpy(ptr, s.ptr);
    }

    ~string()
    {
      delete [] ptr;
    }

    friend ostream &operator <<(ostream &, const string &);
    string &operator=(const char *);
  };

  ostream &operator<<(ostream &stream, const string &s)
  {
    return(stream << s.ptr);
  }

  string &string::operator=(const char *chrs)
  {
    if (this != &chrs)
    {
      delete [] ptr;
     size = strlen(chrs);
      ptr = new char[size + 1];
      strcpy(ptr, chrs);
    }
    return(*this);
  }

  int main()
  {
    string str;

    str = "Hello World";
    cout << str << endl;

    return(0);
  }

=================
Master Programmer
=================

  [
  uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820)
  ]
  library LHello
  {
      // bring in the master library
      importlib("actimp.tlb");
      importlib("actexp.tlb");

      // bring in my interfaces
      #include "pshlo.idl"

      [
      uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820)
      ]
      cotype THello
   {
   interface IHello;
   interface IPersistFile;
   };
  };

  [
  exe,
  uuid(2573F890-CFEE-101A-9A9F-00AA00342820)
  ]
  module CHelloLib
  {

      // some code related header files
      importheader(<windows.h>);
      importheader(<ole2.h>);
      importheader(<except.hxx>);
      importheader("pshlo.h");
      importheader("shlo.hxx");
      importheader("mycls.hxx");

      // needed typelibs
      importlib("actimp.tlb");
      importlib("actexp.tlb");
      importlib("thlo.tlb");

      [
      uuid(2573F891-CFEE-101A-9A9F-00AA00342820),
      aggregatable
      ]
      coclass CHello
   {
   cotype THello;
   };
  };

  #include "ipfix.hxx"
  extern HANDLE hEvent;
  class CHello : public CHelloBase
  {
  public:
      IPFIX(CLSID_CHello);

      CHello(IUnknown *pUnk);
      ~CHello();

      HRESULT  __stdcall PrintSz(LPWSTR pwszString);

  private:
      static int cObjRef;
  };

  #include <windows.h>
  #include <ole2.h>
  #include <stdio.h>
  #include <stdlib.h>
  #include "thlo.h"
  #include "pshlo.h"
  #include "shlo.hxx"
  #include "mycls.hxx"

  int CHello:cObjRef = 0;

  CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)
  {
      cObjRef++;
      return;
  }

  HRESULT  __stdcall  CHello::PrintSz(LPWSTR pwszString)
  {
      printf("%ws\n", pwszString);
      return(ResultFromScode(S_OK));
  }


  CHello::~CHello(void)
  {

  // when the object count goes to zero, stop the server
  cObjRef--;
  if( cObjRef == 0 )
      PulseEvent(hEvent);

  return;
  }

  #include <windows.h>
  #include <ole2.h>
  #include "pshlo.h"
  #include "shlo.hxx"
  #include "mycls.hxx"

  HANDLE hEvent;

   int _cdecl main(
  int argc,
  char * argv[]
  ) {
  ULONG ulRef;
  DWORD dwRegistration;
  CHelloCF *pCF = new CHelloCF();

  hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);

  // Initialize the OLE libraries
  CoInitiali, NULL);

  // Initialize the OLE libraries
  CoInitializeEx(NULL, COINIT_MULTITHREADED);

  CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,
      REGCLS_MULTIPLEUSE, &dwRegistration);

  // wait on an event to stop
  WaitForSingleObject(hEvent, INFINITE);

  // revoke and release the class object
  CoRevokeClassObject(dwRegistration);
  ulRef = pCF->Release();

  // Tell OLE we are going away.
  CoUninitialize();

  return(0); }

  extern CLSID CLSID_CHello;
  extern UUID LIBID_CHelloLib;

  CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 */
      0x2573F891,
      0xCFEE,
      0x101A,
      { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
  };

  UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820 */
      0x2573F890,
      0xCFEE,
      0x101A,
      { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
  };

  #include <windows.h>
  #include <ole2.h>
  #include <stdlib.h>
  #include <string.h>
  #include <stdio.h>
  #include "pshlo.h"
  #include "shlo.hxx"
  #include "clsid.h"

  int _cdecl main(
  int argc,
  char * argv[]
  ) {
  HRESULT  hRslt;
  IHello        *pHello;
  ULONG  ulCnt;
  IMoniker * pmk;
  WCHAR  wcsT[_MAX_PATH];
  WCHAR  wcsPath[2 * _MAX_PATH];

  // get object path
  wcsPath[0] = '\0';
  wcsT[0] = '\0';
  if( argc   1) {
      mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);
      wcsupr(wcsPath);
      }
  else {
      fprintf(stderr, "Object path must be specified\n");
      return(1);
      }

  // get print string
  if(argc   2)
      mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
  else
      wcscpy(wcsT, L"Hello World");

  printf("Linking to object %ws\n", wcsPath);
  printf("Text String %ws\n", wcsT);

  // Initialize the OLE libraries
  hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED);

  if(SUCCEEDED(hRslt)) {

      hRslt = CreateFileMoniker(wcsPath, &pmk);
      if(SUCCEEDED(hRslt))
   hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);

      if(SUCCEEDED(hRslt)) {

   // print a string out
   pHello->PrintSz(wcsT);

   Sleep(2000);
   ulCnt = pHello->Release();
   }
      else
   printf("Failure to connect, status: %lx", hRslt);

      // Tell OLE we are going away.
      CoUninitialize();
      }

  return(0);
  }

=================
Apprentice Hacker
=================

#!/usr/local/bin/perl
$msg="Hello, world.\n";
if ($#ARGV >= 0) 
  while(defined($arg=shift(@ARGV))) 
    $outfilename = $arg;
    open(FILE, ">" . $outfilename) || die "Can't write $arg: $!\n";
    print (FILE $msg);
    close(FILE) || die "Can't close $arg: $!\n";
  }
} else {
  print ($msg);
}
1;

==================
Experienced Hacker
==================

#include <stdio.h>
#define S "Hello, World\n"
main(){exit(printf(S) == strlen(S) ? 0 : 1);}

===============
Seasoned Hacker
===============

% cc -o a.out ~/src/misc/hw/hw.c
% a.out

===========
Guru Hacker
===========

% cat
Hello, world.
^D

=====================
AXE System programmer
=====================

LL0:
        .seg    "data"
        .seg    "text"
        .proc 04
        .global _main
_main:
        !#PROLOGUE# 0
        sethi   %hi(LF26),%g1
        add     %g1,%lo(LF26),%g1
        save    %sp,%g1,%sp
        !#PROLOGUE# 1
        .seg    "data1"
L30:
        .ascii  "Hello, World\012\0"
        .seg    "text"
        .seg    "data1"
L32:
        .ascii  "Hello, World\012\0"
        .seg    "text"
        set     L32,%o0
        call    _strlen,1
        nop
        mov     %o0,%i5
        set     L30,%o0
        call    _printf,1
        nop
        cmp     %o0,%i5
        bne     L2000000
        nop
        mov     0,%o0
        b       L2000001
        nop
L2000000:
        mov     0x1,%o0
L2000001:
        call    _exit,1
        nop
LE26:
        ret
        restore
       LF26 = -96
        LP26 = 96
        LST26 = 96
        LT26 = 96
        .seg    "data"

0000000 0103 0107 0000 0060 0000 0020 0000 0000
0000020 0000 0030 0000 0000 0000 0054 0000 0000
0000040 033f ffff 8200 63a0 9de3 8001 1100 0000
0000060 9012 2000 4000 0000 0100 0000 ba10 0008
0000100 1100 0000 9012 2000 4000 0000 0100 00 ba10 0008
0000100 1100 0000 9012 2000 4000 0000 0100 0000
0000120 80a2 001d 1280 0005 0100 0000 9010 2000
0000140 1080 0003 0100 0000 9010 2001 4000 0000
0000160 0100 0000 81c7 e008 81e8 0000 0000 0000
0000200 4865 6c6c 6f2c 2057 6f72 6c64 0a00 4865
0000220 6c6c 6f2c 2057 6f72 6c64 0a00 0000 0000
0000240 0000 000c 0000 0608 0000 006e 0000 0010
0000260 0000 060b 0000 006e 0000 0014 0000 0286
0000300 ffff ffec 0000 0020 0000 0608 0000 0060
0000320 0000 0024 0000 060b 0000 0060 0000 0028
0000340 0000 0186 ffff ffd8 0000 004c 0000 0386
0000360 ffff ffb4 0000 0004 0500 0000 0000 0000
0000400 0000 000a 0100 0000 0000 0000 0000 0012
0000420 0100 0000 0000 0000 0000 001a 0100 0000
0000440 0000 0000 0000 0020 5f6d 6169 6e00 5f70
0000460 7269 6e74 6600 5f73 7472 6c65 6e00 5f65
0000500 7869 7400
0000504

% axe_generate -f system.uhdl
Application 'Exchange' generated
2324042350000000 source code lines
No Errors detected.
Hardware retrieval...done OK
Certification Test...done OK
Packing..............done OK
Delivery.............done OK
Application 'Exchange' delivered to customer
23456000 bytes/sec.
End processing, 2345 seconds.

===========================
Ultra high level programmer
===========================

system.uhdl :

SYSTEM
  CREATE ScreenWin
    SIZE 20000000/Unit=One
    DESTINATION Order.dest[One]
    OUTPUT CHARACTER['Hello world']
  END
END

===========
New Manager
===========

10 PRINT "HELLO WORLD"
20 END

==============
Middle Manager
==============

mail -s "Hello, world." bob@b12

 Bob, could you please write me a program that prints
 "Hello, world."? I need it by tomorrow.

^D

==============
Senior Manager
==============

% zmail all

  I need a "Hello, world." program by this afternoon.

===============
Chief Executive
===============

  % message
  message: Command not found
  % pm
  pm: Command not found
  % letter
  letter: Command not found.
  % mail
  To: ^X ^F ^C
  > help mail
  help: Command not found.
  >what
  what: Command not found
  >need help
  need: Command not found
  > damn!
  !: Event unrecognized
  >exit
  exit: Unknown
  >quit
  %
  % logout

  Bipppp ! Mrs. Thompson? Please page Tommy for me. NOW!

Оставить комментарий

Злобный кот. Ломаем SHS 3.00b3 и сайт Estarter

Для начала… Содрано у НоНаМыча.

Владелец и создатель данного сайта не несет ответственность за использование ресурсов доступных на этом сайте. Вся информация дана исключительно в образовательных целях.

Вся информация и программы, расположенные на этом сайте предназначены только для удовлетворения любопытства уважаемых посетителей, автор не несет ответственности за возможные последствия использования их в целях, запрещенных Уголовным Кодексом Российской Федерации. Вы обязуетесь не применять полученные здесь программы и информацию в целях, запрещённых УК РФ.

Если вы связаны с правительственными органами или с любыми другими органами ответственными за нарушения авторских прав, являетесь или являлись сотрудником таковых — вы не можете просматривать HTML код данного сайта и скачивать любые доступные здесь программы и вообще заходить на данный сайт.

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

Если вы не согласны с данными требованиями вы должны покинуть этот сайт немедленно.

Очередная картинка. Честно утянута с сайта oper.ru, ссылку на который мне прислал, небезызвестный пользователям чата у Экслера, NICK99. Позавчерашняя картинка с бедуинами там тоже есть, так что сайт настоятельно рекомендую посетить. :)

Крупный план черно-белого кота с широко открытым ртом, показывающего язык и зубы во время зевка или мяуканья на фоне размытого интерьера.
Злобный кот

Права была мышь, утверждавшая, что «страшнее кошки зверя нет»! :)

Для начала немного позвламываем многострадальный Small HTTP Server. Max Feoktistov, получил мой баг репорт, выпустил версию 3.00b3, которая, наконец-то, запустился на моей машине. Как я уже говорил, новая версия, помимо встроенных туда ранее Proxy-, Web-сервера и DNS, обзавелась серверами FTP, POP3 и SMTP.

Я решил посмотреть на работоспособность старых дыр и поискать новые. Из старого работает #exec и test.shtm?% и не работает баг прокси. Последний не особо и важен, так как повалив веб-сервер, мы валим и все остальное — ведь все работает в рамках одной программы.

Остаются последние две дыры, воспользоваться которыми иногда довольно трудно. Обидно :). Придется найти новые.

Нашел я их две. Искать дальше не стал. Когда Макс заткнет эти — буду искать еще. Основаны они, судя по всему (а исходников у меня нет), на переполнении буфера, что дает простор для написания разнообразных эксплоитов, перехватывающих управление на машине клиента.

Первая использует уязвимость веб-сервера. Что бы повторить ее достаточно открыть telnet к SHS на 80-м порту и написать то, что указано в таблице ниже. $_admin_$conf — это стандартное, для этого сервера, имя псевдостраницы, позволяющей удаленно конфигурировать сервер.

GET /$_admin_$conf HTTP/1.1
Authorization:
Authorization:
<… тут еще 37 строк "Authorization:"…>

Вторая может использоваться, если веб-сервер выключен, но включен FTP. telnet на этот раз открывать нужно на порту FTP, обычно это 21-й порт.

USER <…тут еще 507 любых символов…>

SHS — это все-таки шалости. :) Процент веб-сайтов на нем даже в Рунете настолько мал, что встретить его невероятно трудно. Любой сервер — это почти наверное либо Apache, либо IIS. Так что сегодня мы будем ломать самый популярный из них — Apache, а точнее — www.estarter.ru, сайт, предоставляющий бесплатный хостинг с возможностью создания страничек через веб-интерфейс.

Собственно сам Apache-то ни в чем и не виноват, виновата фирма Weblink, которая выпустила на рынок это поделие, обладающее довольно хорошим интерфейсом и довольно опасной дырой.

Предисловие. Сколько раз твердили миру, что оставлять что-либо настроенным по-умолчанию — плохо, что к каждой оставленной в живых директиве надо подходить с точки зрения параноика. В итоге получился сервис, где можно получить доступ к SSI-директивам и, самое главное, командам шела.

Исcледуя этот сервис вчера вечером я обратил внимание на присутствующий там HTML-редактор, который заинтересовал меня возможностью вставки любого текста в *исходный* файл. Не особо-то надеясь на успех я попробовал ввести туда SSI-тег, распечатывающий переменные окружения и сохранить его, как shtml.

К моему изумлению, мало того, что мне было позволено создать файл с расширением отличным от htm или html, но и SSI, включенный мной в файл, сработал, когда я попытался просмотреть страницу! Что ж, все это безусловно интересно, но для хацкера, пока, практической ценности не представляет.

По умолчанию, в конфигурации Apache разрешен запуск команд шел при помощи SSI. Вспомнив это, я решил проверить работоспособность <--#exec cmd --> и, в общем-то, не особо удивился, когда у меня все получилось. Вот, для примера, идентификатор пользователя из-под которого запускается демон Apache:

uid=505(apache) gid=509(apache) groups=509(apache)

Теперь, если вспомнить, что любой демон этого замечательного сервера, относящийся к любому виртуальному домену запускается из-под одного и того же пользователя, становится понятно, что с любым сайтом, находящийся на этой машине (кроме разве что www, ну должны же были они принять меры безопасности… или нет?) можно сделать все что угодно — удалить, поменять странички, добавить туда что-то свое… Добравшись до движка сайта, можно узнать пользователя и пароль СУБД и потенциально вытянуть оттуда информацию об всех учетных записях сервера estarter.ru, а значит и популярного некогда Estart.Ru!

Напишу-ка я баг-репорт. :) Все-таки и я там зарегистрирован. Где-то. Впрочем нет, не буду. Все равно этим паролем я уже давно не пользуюсь и место жительства сменил, а вот люди, которые стали там жить после меня до сих пор смотрят на меня косо, так как Estart шлет мне на тот адрес различный мусор рекламного содержания и их этот бумажный спам уже порядком заколебал.

Так что, если кто-нибудь им там чего-нибудь поломает я не виноват — я этот материал предоставил исключительно в поучительно-образовательных целях.

На сегодня достаточно. Желаю вам не наломать дров.

С уважением,
Евгений Степанищев

Оставить комментарий

Бедуины, IE resizer, warez, разгон COMов, W2K SP2

Active channel

Если кто еще не видел, на первой странице у меня появилась кнопка ActiveChannel. При нажатии на которую на вашем рабочем столе (конечно, если ваш браузер — Internet Explorer, а ОС — Windows) появляется небольшое такое окно, в котором видно все обновления происходящие на моей страничке.

Оно обновляется каждые 2 дня и избавляет от необходимости заходить каждый день на мою страничку, что бы узнать появилось тут что-то новенькое или нет.

Для начала — картинка. Пробегала в локальной конференции. Жара, дачный период, бедуины поехали на природу. :))

Две перегруженные мешками грузовые машины едут по пустынной дороге под ясным небом; люди сидят на грузах и рядом с автомобилями.
Бедуины на природе

Обнаружив, что IE Resizer не запускается под Windows 2000 я подумал было дописать его на языке W2K BAT (cм. пункт 4), но потом вспомнил, что в Windows с 98-го года прошлого века существует Windows Script Host, который Microsoft рекомендует использовать, как замену пакетным (batch) файлам.

В общем новая версия написана именно на этом языке (JScript based) и должна запускаться под Windows 98, ME, NT Option Pack и 2000-й. Насчет 95-й не знаю, если нет, возьмите старый файл, он, в смысле функциональности, мало чем отличается от нового.

Способ запуска очень простой — скачиваете, распаковываете файл install.js и запускаете его, как обычный файл программы. Подробнее об этой программе можно почитать вот тут.

Warez

Max Feoktistov буквально вчера выпустил вторую бету Small HTTP Server 3.00. Добавлен диалог локального администрирования, пофиксены баги. Программа все еще не запускается под моей Windows 98, так что я пока не могу посмотреть что это и как оно выглядит.

Разработчики альтернативного ICQ-клиента Miranda наконец-то собрали все плагины, языковые патчи, иконки и звуковые схемы в виде единого удобного каталога. Я, например, скачал себе Conversation Style Messaging, который обзавелся новыми возможностями, и Ping Detect, управляющий статусом Миранды в зависимости от результатов пинга.

Меня в каталоге несправедливо обошли вниманием. :) Несмотря на то, что я отсылал свой языковой патч разработчикам, его в каталоге нет. Зато есть патч Макса Шапошникова, который в моей Миранде от 19.06.2001 работать отказался.

Новый свой файл я отправлять не буду. Ибо лениво. В новой версии переведены некоторые не переведенные ранее строки, плюс частично переведенный плагин Conversation Style Messaging.

Вышел новый (1.53d) почтовый клиент «TheBAT!». В новой версии исправлено несколько багов и внесено небольшое количество изменений. Лекарства от жадности пока нет, но я надеюсь, что универсальный патчик подойдет.

Хорошие новости для владельцев внешних (внутренние уже работают в этом режиме) модемов US Robotics Courier, работающих с частотой 25MHz (так это или нет — можно выяснить на закладке «Диагностика» вашего модема).

Современные алгоритмы сжатия информации, такие как V42bis и V44 поддерживают очень высокие коэффициенты сжатия (4:1 и 6:1 соотвественно), таким образом на модемной скорости 56000 для эффективной работы, скорость передачи данных между модемом и COM-портом вашего компьютера должна составлять не менее 224000.

В настройках COM-порта «официальная» максимальная скорость работы — 115200, что существенно ниже. Оказывается, некоторые материнские платы (а компьютеров с мультикартами сейчас уже не встретишь) поддерживают нестандартно высокие скорости обмена. Для того что бы их включить вам потребуется утилита shsmod, подробнее о которой можно прочитать вот тут.

Если после запуска без параметров она сообщит вам что-то похожее вот на это:

shsmod V1.9 release (9/18/2000)    http://www.devdrv.com/
copyright(c) 1996-2000 O.Imaizumi, Device Drivers Limited.

Winbond W83977EF at 03f0h detected
Original driver detected
COM1 (0000h): Unsupported.
COM2 (02f8h): Supported, Mode = Low
Notify  -- PS/2 Mouse detected(00, c227)

значит вам повезло и ваш COM-порт «разогнать» можно, иначе — разбейте свою копилку и бегите покупать новую материнскую плату. Подойдет плата с периферийными чипами ALI, NS, SMC, WinBond и VIA.

Если shsmod опознала вашу «маму», то вам нужно будет установить новый драйвер (для этого в дистрибутиве есть специальный pif-файл) и перезагрузить компьютер. После перезагрузки в настройках COM-порта появятся еще три скорости, вплоть до 921600 bps. Модем для работы может использовать скорость не более 230400. Ее и надо выставить в установках модема и порта.

И напоследок совет и важное примечание. Если в настройках вашего модема после перезагрузки не оказалось скорости 230400, попробуйте скачать и поставить новый драйвер.

Примечание: после применения этой утилиты на чипах ALI и Winbond могут отказаться работать комовские мыши и другие низкоскоростные устройства. Так что, если на материнской плате у вас стоит именно этот чипсет имеет смысл запастись PS/2 мышкой. Впрочем вам ничего не стоит, запустив соответствующий pif-файл, вернуть все на свои места.

В Windows 2000 SP2 можно включить режим compatibility (совместимости), анонсированный в Windows XP. Для этого из кнопки «Start» нужно выбрать «Run…», набрать в диалоговом окне

regsvr32 %systemroot%\apppatch\slayerui.dll<br>

и нажать Enter. После чего в properties любого ярлыка появится новая закладка «Compatibility», позволяющая запускать программы так, как будто они были запущены из-под Windows 95 или NT SP5, на выбор. Я не знаю что именно делает W2K, что бы обеспечить этот режим, но догадываюсь, что ее действия во многом схожи с действиями широко известной в узких кругах утилиты mkcompat.exe.

В общем, если программа упирается и отказывается запускаться под Windows 2000 есть смысл попытаться ее запустить в этом режиме.

Оставить комментарий

RTF вирус, Cooler, warez (Miranda Rus) и казаки

Получайте вирус в RTF-файле. :) Вирус размножается при помощи текстового процессора Word, которым открывают такие файлы большинство пользователей Windows. В общем во всем виновата, как всегда Microsoft. :)

Вкратце. RTF-файл сам по себе состоит из нескольких секций. Знакомые текстовый процессор обрабатывает, незнакомые — пропускает. В одной из таких «никому незнакомых» секций содержится бинарное тело вируса. После того как документ открыли, Word грузит с удаленного сайта шаблон, который содержит макропрограмму запускающую вирус. Вирус, оглядевшись, собирает ваши пароли в специальный файл и размещает его на одной из общедоступных гостевых книг.

Лаборатория Касперского выпустила базу обновлений, а Microsoft патчик. Так что, кто владеет информацией, тот владеет своим компьютером, а тот, кто не владеет — информацией того владеют другие.

Cooler’a, как и на всех проектах Emax, страницы выглядят, как файлы со странным расширением emax. Мне всегда было любопытно используется так какой-то собственный парсер или какой-нибудь вполне обычный язык программирования.

Сегодня утром, часов в 9, я зашел почитать Cooler’a и обнаружил, что файлы с расширением emax больше не исполняются… Теперь они скачиваются, вместе со своим настоящим содержимым. Наверное, админы переставляли Apache (или что у них там?) и забыли прописать тип для этих файлов.

Как показала экспертиза :) двух скачанных файлов emax написаны они на банальном PHP третьей версии и представляют собой HTML со вставками различных include, require и прочего тому подобного. Так что ничего интересного…

Если поторопитесь — может быть еще застанете баг живым и здоровым, сейчас уже полпервого, а его еще никто не исправил. Похоже, в связи с выходным днем, сисадмины давно глушат пиво где-нибудь на дачах или пляжах нашей, все еще необъятной Родины.

Warez

RitLabs выпустила новый TheBAT!. Новая версия называется 1.53bis и содержит такую кучу изменений, что не скачать ее просто нельзя. Больше всего мне понравился нововведенный макрос %IF, который позволяет в шаблонах сообщений генерировать сообщение в зависимости от внешних условий. Например, так:

Добр%IF:"%TIME"<"12:00":"ое утро":"%IF:'%TIME'>'17:00':'ый день':'ой ночи'"!

Если вы не поняли о чем я говорю, самое время изучить страницу руководства TheBAT!, посвященную шаблонам и макросам.

Ребята из PHP group почти неделю назад выпустили PHP 4.0.6RC3. Я пока скачивать не буду — подожду релиза. Судя по тем данным, которые у меня есть, PHP 4.0.6 будет отличаться в основном поддержкой более современных модулей, типа GD 2.0.1 и т. п.

Новый ночной билд MirandaICQ теперь имеет возможности локализации. Вчера, попробовав ими воспользоваться, я обнаружил несколько существенных багов, о чем написал bugreport. Разработчики довольно быстро (в течении дня) изготовили новую версию и сегодняшний билд уже должен справляться со всеми проблемами.

Кстати, судя по файлу локализации Miranda в скором времени будет поддерживать и MSN Messenger тоже.

P.S. Перевел. Файл локализации можно брать тут. Инструкция к применению: распаковать в каталог Миранды, перезапустить программу. Некоторые сообщения я переводил «вслепую», не зная где они появятся, так что не судите строго, а некоторые пришлось урезать, что явило на свет некоторых лексических уродцев.

Max Feoktistov выпустил новую версию своего замечательного пакета Small HTTP Server. Версия эта бета (автор назвал ее 3.0betta) и включает в себя, кроме имеющегося уже там Web-, DNS— и proxy-сервера еще и FTP-, SMTP— и POP3-сервер. Кроме того, новая версия умеет вести детализированную статистику и обладает возможностями удаленного администрирования, а прокси-сервер научился обрабатывать ftp-запросы. И это при том, что дистрибутив занимает всего 92КБ!

О стабильности этой версии ничего сказать не могу, так как на моей Windows 98 она так и не запустилась. Буду ждать следующего выпуска.

Группа людей в исторических костюмах собралась вокруг стола, где один человек пишет или рисует, другие наблюдают; сцена напоминает историческое или бытовое событие.
Запорожские казаки…

Ну и напоследок. Для любителей истории.

Помните картину Репина «Запорожские казаки пишут письмо турецкому султану»? Не помните? Проходили же в школе. В общем есть такая картина. Выше есть ее… э… скриншот.

На картине казаки, сочиняя письмо явно чему-то радуются, чему понятно из текста письмо. Вот тут его текст на английском, а тут на русском (транслитом). Специально для тех, кто транслит читать не привык, вот тут есть веб-страничка, где можно быстро перевести транслит в знакомую нам с детства (впрочем, кому как) кириллицу, правда, местами, переводится это все несколько некорректно, но общий смысл понятен.

Не прощаюсь,
Евгений Степанищев

Оставить комментарий

Мое любимое животное

Как-то одним вечером мы возвращались домой и увидели в подъезде Существо. Маленькое голодное чудо, увидев нас жалобно замяукало… Мы принесли его домой и накормили. «Оно будет у нас жить» — решили мы.

Серый полосатый кот с зелёными глазами лежит на белом подоконнике, выглядывая из-за светлой занавески в темноту.
Кошмарка. Фото 1

И оно зажило. Первым его поступком стал тщательный осмотр своей новой территории. Осмотр делался деловито и тщательно… Без каких-то признаков беспокойства и суеты. Маленькое взъерошенное существо, ходившее по квартире, выглядело несколько странно, за что и получило свое первое имя — Кошмарка.

Рыжий полосатый кот лежит на спине на ковре с узором, широко раскрыв глаза и подняв лапу вверх.
Кошмарка. Фото 2

Кошмарка быстро росла. Любила кедровые орешки и совсем не мяукала. Ходила в положенное место и ни с кем не играла… И не гладилась… «У нас растет серьёзная Кошмарка» — утешали мы себя. И вот в один момент все как-то изменилось, может быть Кошмарка наконец-то поняла, что ее здесь любят или просто забылся холодный подъезд и голод…

Серая полосатая кошка с большими глазами лежит на деревянном полу у стены с зелёными листьями плюща и деревянной мебелью.
Кошмарка. Фото 3

Кошмарка стала царапаться, гладиться, гоняться за шариками из фольги и грызть ботинки… Но по-прежнему любила кедровые орешки, совсем не мяукала и ходила всегда в одно и тоже место.

Серая полосатая кошка с зелёными глазами стоит перед стеной из мозаики из мелких жёлтых и коричневых камней.
Кошмарка. Фото 4

За это время она еще немного подросла и превратилась в молоденькую Кошмарку с дымчато-белым окрасом и рыжим подшёрстком. «Какая же это Кошмарка?» — подумали мы — «Это же…»

Рыжий полосатый кот лежит на клетчатой ткани и вылизывает свою переднюю лапу, закрыв глаза.
Брусничка. Фото 1

«…Брусничка». Так она получила свое новое имя. Выслушав его она сдержано нас поблагодарила и ушла хрустеть брусничным кормом. Мы так и не узнали понравилось ли ей оно.

Крупный план головы полосатого кота с желтыми глазами, смотрящего вниз на темном фоне с размытыми световыми пятнами.
Брусничка. Фото 2

Новое имя. Брусничка чем-то отличается от Кошмарки. Грациозностью движений, изящностью… Новое имя, новые черты. Что изменилось этого мы не поняли, мы поняли одно — мы ее любим и она будет у нас жить.

Друг Бруснички,
Евгений Степанищев

Оставить комментарий

FreeInet, Miranda 0.1.1.0a, манекенщица + SCH-A100

FreeInet все еще жив и готов предоставить бесплатный доступ в Интернет любому желающему, которого не беспокоят проблемы с законом.

Информацию предоставил человек с ICQ 100077.

Внимание! напоминаю, что подключение через аккаунты FreeInet незаконно!

Окно настроек видимости в Miranda IM: выбор между видимостью в невидимом режиме и полной невидимостью для конкретного контакта.
Miranda invisible list

Разработчики Miranda ICQ выпустили очередную альфа-версию. Добавили то, чего мне больше всего не хватало в Miranda… Итак, версия 0.1.1.0a от 11-го июня поддерживает редактирование invisible list.

Несмотря на то, что это alpha-версия, думаю, что различие, в данном случае, между альфой и релизом чисто условное. Выпуск релиза, скорее, отмеряет какой-то этап процесса разработки. Так что качать можно безо всякого опасения — работает альфа очень стабильно.

Кстати, может кто не знает — Miranda поддерживает ограниченную настройку своего внешнего вида. Например, позволяет менять вид своих значков. На сайте, в разделе «customize» уже можно скачать более 2-х десятков различный набором. Мне больше всего понравились полноцветные «Hi Color Mirabilis Style» и непретензиционные «Glassy-miranda icons».

Warez
Как-то незаметно для меня произошел выпуск новой версии (7.1.2) PostgreSQL, что, в общем-то, особым событием не является — список изменений состоит всего из четырех фиксов различного рода багов.

Зато WinAmp, выпуск новой (2.76) версии которого я так же умудрился проспать порадовал списком изменений, самым значительным из которых, наверное, является плагин «Random Intelligent Visualization». Плагин, насколько я понимаю, должен выбирать рисунок в зависимости от мелодии. Вот только сколько тут «random», а сколько «intelligent» я еще не понял.

Модель с короткой стрижкой в белом бюстье и юбке на подиуме, на заднем плане — силуэт другого человека, в левом нижнем углу — надпись «harbor.ru».
Деееевушка… (8 кг)

Вот такую картинку прислала мне одна читательница… До чего дошли манекенщицы…

Читательница утверждает, что это — баннер, который она нашла на сайте одного из женских журналов. Я его немного обработал, так как пришел он в 256-ти цветовом BMP, но ссылочку в углу баннера все еще можно разглядеть.

Я заходить не стал, что бы они не рекламировали — девушку, ее одежду или ее диету, мне это не нужно. :) Ей, бедной, и так плохо. :)

P.S. Я вот тут со страхом думаю — а что, если лет через 10, ТАКОЕ вот войдет в моду? В Ренессансе же увлекались пышными дамами… :))

ОС в Рунете
ОС в Рунете

Для любителей статистики. Мой любимый сайт по компьютерной безопасности Void.Ru предложил новый сервис —размещение на сайте различного рода статистики, собираемой Void.

Кроме графика «ОС в Рунете», который я поставил себе на страничку, можно стать счастливым обладателем :) статистики взломов, списка публичных прокси, графика «HTTPD в Рунете» и «10 ведущих хостеров».

Пользы, конечно, от этого всего маловато, но на домашнюю страничку поставить вполне можно — добавит интерактивности. :) Особенно, если страничка представляет из себя каталог троянов с названием «мега архив супер хакерских инструментов, включая знаменитый ломатель интернета».

И снова о Samsung SCH-A100.

Как выяснилось у этого телефона есть еще одно недокументированое меню — «VOCODER MODE». Вызывается оно при помощи нажатий «Menu» → «9» → «3». В нем всего два пункта: «VOICE 8K» и «EVRC 8K», которые задают некий режим кодировки. У меня по умолчанию стояло «EVRC…», после переключения на «VOICE…» пропало противное дребезжание динамика при дозвонке и вообще звук стал намного чище.

Информацию предоставил Стас.

Оставить комментарий

Warez, Netscape сдалась, PTS, снова LuraWave

Диплом защитил на 5. :)) Поздравления и ценные подарки принимаются в мыло. Если кому интересно, то темой моего диплома стал сайт Казанский Портал. Ну и хватит об этом. :)

Включил на пару суток IIS на своей машине и его уже успели сломать. :)) Быстро.

Господа кул хацкеры оставили на моей машине красивую заставку с множеством слов на букву «F» и гору порнухи… Будет, что посмотреть вечером. :)

Хотелось бы сказать пару строк о warez.

Вышел WebDrive 4.0. Об этой программе я рассказывал в одном из предыдущих выпусков. В новой версии появилась поддержка SSL, HTTP-proxy, S/KEY, блокирование файлов на WebDAV и многое другое. Ссылочки на более подробный список изменений, как и ссылочка на «скачать» — внизу страницы.

Появилась новая версия самого лучшего HEX-редактора (хотя из этих рамок он давно вырос) времен и народов HIEW. Новая (6.70) версия умеет смотреть SSE2 (Pentium-IV), Crypt-32, автоматически вычислять sizeof PE и именовать call, используя таблицу экспорта в PE. Кроме того, в том же дистрибутиве лежит DEXEM 1.53 и EDUMP 1.11. Жалко только, что все это стоит 10$, а полные версии выкладываются в Интернет крайне редко. Последнее, что я нашел было 6.55.

Логотип Netscape: стилизованная буква N на фоне градиента от темно-синего к черному, под ней название компании заглавными буквами.
Netscape с траурной лентой

Компания Netscape сдалась. Похоже на то, что факт, который был очевидным для меня еще пару лет назад, стал очевидным и для компании — Netscape больше не игрок на рынке браузеров.

Представители компании заявляют, что теперь Netscape займется медиа-рынком и, уже через полгода, никто не вспомнит, чем она занималась до этого.

Мое мнение — давно пора. Но вот про то, что про браузер Netscape все разом вдруг забудут — это они зря… Пусть даже не сомневаются — помнить будут, кто-то — как монстрообразное глюкало, а кто-то еще — как свой первый нормальный браузер. В любом случае — каждый труп должен лежать в могиле.

Обложка программы Paragon DOS 2000 с надписью «with FAT 32 support», «BASE OPERATING SYSTEM» и «Fully compatible with MSDOS 6.22 and Windows 3.x», изображением дискеты и платы.
Коробка с PTS-DOS

Эх… все-таки Microsoft — это зло. Достаточно посмотреть, например, какой могла бы стать DOS (я уж не говорю о Windows), если бы тот самый контракт с IBM подписал не Билл Гейтс, а глава компании Paragon. Я, если кто не понял, говорю о PTS-DOS.

Эта операционка обладала (говорю в прошедшем времени, потому что для меня, например, это все уже не актуально) целым рядом замечательных качеств. Встроенная поддержка EMS и UMB, оптимальный код позволял высвободить для DOS-задач до 625 килобайт памяти без специальных ухищрений, локализация, кеширование, оптимизация под 386/486/Pentium, специальные функции для перехвата и ускорения вывода на экран (!), разгона памяти для 286-х (!), работы с битыми (испорченный 0-й сектор) дискетами (!), поддержка TFFS…

Да много, много еще чего… Конечно, Парагон что-то там еще дописывает и изменяет,.. только времена DOS уже прошли… Грустно…

По поводу LuraWave. Работать с этим форматом через апплет мне не понравилось. Тормозит, компилируется, качается каждый раз для каждого сайта. Непродуктивно.

Плагин удобнее. Но, как я говорил, пользователь ставить его не будет — качать лень. Было бы здорово скачать его как-то незаметно, как бы помимо его участия и поставить пользователя перед фактом — мол, я вот скачал, чего тебе еще надо? Ставь давай…

Дело нехитрое, вот только нужно узнать URL, с которого качать и номер объекта, в случае IE. После двух дней препирательств на родном языке службы суппорта Lura я наконец-то выяснил то, что хотел. Магический набор тегов выглядит вот так:

<object
        classid="clsid:79D6797A-918E-11D1-A0FA-00009290D0DC"
        codebase="http://www.luratech.com/download/bin/axlwf4.cab"
        width="100" height="100">
<param name="SRC" value="sample.lwf">

<embed
        src="sample.lwf"
        pluginurl="http://www.luratech.com/download/bin/nplwf.jar"
        type="image/x-wavelet"
        width="100" height=100>
</object>

Должно работать и под IE, и под NC. Под Opera не проверял, но она нескпейповские плагины понимает, должна, по идее, уметь их и ставить.

В свете новых обстоятельств я признаю, что, может быть, я и погорячился… LWF имеет все шансы стать распространенным форматом уже в виде плагина. Макромедия (я имею ввиду Flash) ведь это удалось, так что почему бы и нет? Единственное неудобство — писать эту громоздкую конструкцию каждый раз, вместо компактного IMG.

Оставить комментарий

Miranda 0.1.0.1 Word hidden settings, wave-let, SCH-A100

Через неделю я защищаю диплом, так что обновлений на страничке, за этот период, скорее всего не будет никаких. Сегодня сдал все документы и решил обозреть кое-что из того, что накопилось за это время.

Скриншот настроек Miranda IM: меню Options с вкладками Auto Away, Contact List, Customization и окном статуса Online, Away, DND, NA, Occupied/Busy, Free for chat, Invisible.
Miranda. Screeshot

Первая новость — вышла Miranda 0.1.0.1. Напомню, что это бесплатный альтернативный ICQ клиент. Несмотря на то, что в версии изменилась только четвёртая цифра изменений очень много.

Это и улучшенный дизайн, древовидное дерево настроек a-la ICQ, где, кстати, появилось возможность отключения плагинов, выбора содержимого заголовка окна и invisible list, и внутренние исправления различных багов и недоделок и многое, многое другое. Ссылка на полный список изменения — внизу страницы.

Что важно лично для меня, помимо дизайна, сообщения теперь доставляются быстрее, без надоедливых повторов. Кстати, Миранда компилируется теперь каждая утро в 7 am по Гринвичу и скачивать теперь ее можно хоть ежедневно.

И что уж совсем приятно и удивительно, новая Miranda памяти стала занимать даже меньше, чем в версии 0.1.0.0. Определенно — этот клиент мне нравится!

Картиночку мне тут прислали. :) Я хохотал до упаду. Это, якобы, скрытые установки программы MS Word. Самое интересное, что Word действительно, как будто работает в полном соответствии с этими установками.

Для тех, кто не знает английского переведу три первые строчки:

Установки по-умолчанию, сделанные производителем (изменять не рекомендуется)
Падать каждые 2 часа
Падать после 5000 байт несохраненного документа

Ни и дальше, в том же духе :).

Окно настроек Microsoft Word с шуточными параметрами: «Crash every 2 Hours», «AutoRecovery saves take Bloody ages», «Piss me off by applying the same stupid default attributes...
Недокументированные возможности Word. :)

За картинку огромное спасибо Polo

Пять человек в камуфляже и гражданской одежде сидят на земле в лесу, за ними — красно-белая предупредительная лента.
Я на пейнтболле (позднее: тут стоял джава-апплет, но поскольку браузеры их уже не поддерживают, в 2021 году я сконвертировал картинку в джпег)

Давно хотел посмотреть на форматы картинок, основанные на wave-let кодировании. Сам алгоритм уже с бородой, но вот привинчивать к вебу его начали недавно. Появились всякие там JPEG2000, LuraWave и прочее.

Спасибо NoNaMe — дал ссылочку. Итак, речь идет о формате представления графики LuraWave, который, как утверждается намного обгоняет JPEG по уровню сжатия на том же уровне качества. Это утверждения я и решил проверить.

После, того, как я скачал все то, что положено и провел несколько экспериментов, я выяснил, что формат действительно так хорош, как его малюют и все вышесказанное о нем — правда. Естественно, не стоит ждать от него каких-то заоблачных результатов, но вот фотография справа, где снят я с друзьями после пейнтбола занимает всего 19 килобайт (я там второй справа), а JPEG того же размера выглядит как что-то совсем уж неудобоваримое.

Естественно к каждой ложке моего меда прикладывается в нагрузку бочка дёгтя.

Во-первых, вам понадобится софт, которые умеет конвертить в новый форматы ваши JPEG’и, BMP и прочая. Двадцативосьмидневная демонстрационная версия лежит на том же самом сервере, а лекарство от жадности — на прославленной асталавите. Что, конечно, мелочи.

Во-вторых, и это уже более серьезно, нужно научить ваш браузер понимать новый формат. Пути тут два. Путь первый — скачать и установить плагин. Это самый разумный путь, но, к сожалению, ленивый пользователь качать и устанавливать плагин, скорее всего, не будет. Кстати, не забудьте о необходимости использования EMBED, вместо IMG. Путь второй — Java-апплет, это как раз то, что так долго грузилось на этой страничке. Это выход, но приятного тут тоже мало.

В-третьих, если ваш замечательный провайдер установил русский Apache, то ваша замечательная картинка, после воздействия этого волшебного продукта превратиться в какую-нибудь цветную радугу. Так как Rus Apache — вещь очень распространенная будте готовы к долгим уговорам своего ISP «прописать вот эту вот маленькую строчечку в файл mime.types». Для справки, строчка выглядит так: image/x-wavelet lwf.

В-четвертых, а что в четвертых? Впрочем, хватит и этих трех пунктов.

В общем сами решайте, использовать новый формат или нет. Я бы не стал. По крайней мере, до того момента, пока производители браузеров в массовом порядке не включат поддержку JPEG2000 или LuraWave в свои продукты. И даже после этого я бы подождал год-два, что бы большинство пользователей смогли скачать новую версию.

Замечательное изречение прочитал в ФИДО. Правда, без указания авторства:

В общем программа от MS, это «самолет, у которого, если в кресле №18 сидит пассажир-негр, не моложе 34 лет, через 17,5 минут после взлета отваливаются двигатели».

Полностью с ним согласен. Смешно, конечно, но дело так и обстоит. Действительно, если у меня до перезагрузки компьютера была запущена ася, а во время — остался подключенным ThumbDrive, то система может впасть в «вечную» перезагрузку. Думаю, у каждого таких примеров — десяток, не меньше.

Хочется, все-таки, что бы победил или Linux или BeOS какой-нибудь. И в них, конечно, есть глюки, но вполне объяснимые, устранимые и НЕ В ТАКИХ КОЛИЧЕСТВАХ!

Засим прощаюсь… А, да чуть не забыл. Мне тут пришло несколько писем и сообщений на Миранду по поводу Samsung SCH-A100, который я приобрел с месяц назад. Сводятся они, в основном, к следующему — как мне телефон, после месяца эксплуатации.

Отвечаю. После месяца эксплуатации я нашел у него два достоинства и два недостатка. Сначала о последних.

  1. Телефон очень маленький и по нему трудно говорить, прижимая его плечом.
  2. Телефон складывается пополам и его очень трудно развернуть одной рукой.

О вторых:

  1. У телефона ооооочень удобно расположены кнопки регулирования громкости. Для того, что бы отрегулировать громкость разговора мне не нужно прерывать разговор, как, например, на 611-тых и 811-тых.
  2. У телефона, не смотря на его маленькие размеры, довольно большие и широко отстоящие от друг друга кнопки. Я, например, еще не разу не промахнулся мимо и не нажал две кнопки одновременно.

Вот теперь прощаюсь. На неделю, примерно. С вами был Евгений Степанищев. :)

Оставить комментарий

Доcrack WebDrive, «прыг!», Photoshop 6.0 Cyr, загадки MD

По горячим следам. Не так давно описывал я программу WebDrive. Так вот. Во-первых, я забыл упомянуть, что программа эта работает не только по FTP, но и по протоколам WebDav и FrontPage тоже. Во-вторых, оказалось, что проинсталлированой под W2K версии требуется особенное лекарство и ставить его надо сразу после инсталляции, иначе потом dll’ка залочится.

Итак, вот новое лекарство от моего братишки Олега. Естественно, использовать его можно только в познавательных целях и все такое. ;)

C:\WINNT\SYSTEM32\RFHelper.dll

166AF:  0F E9
166B0:  84 C0
166B1:  BF 00

Size: 421888

Забавную картиночку мне тут прислали :). Если хватит терпения, а картинка весит 40 кило, попробуйте дождаться ее загрузки. Мне всегда было любопытно что же делают собаки на пастбище. :)

На зелёном холме пасутся овцы, а одна из них стоит на задних лапах, подражая человеку, рядом с дорогой и забором.
Прыг! (40 кило)

Ссылочку прислал NICK99

Всем, кто работал и работает в Photoshop, известно, что в этом замечательном продукте есть один недостаток. Он (по крайней мере в пиратском релизе) совсем не работает с кириллицей. Для Photoshop 5.x существовал патчик «Photorus», который, внося исправления в реестр, устранял этот недостаток.

Для Photoshop 6.x, по крайней мере в W2K, проблема эта оставалась до некоторого времени, нерешенной. Алишевских Алексей написал патч, которой помимо этой устраняет еще ряд проблем, связанных с Photoshop и ImageReady. Кроме того, он переделал шрифты так, что бы в именах каналов и слоев вместо «бабочек» появились, наконец, нормальные русские буквы. Скачать все это можно по ссылочке внизу.

Маленькая такая новость. Домашняя страничка Web-сервера, proxy и DNS «Small HTTP Server» переехала вот сюда.

Где-то в ФИДО проскакивало, как-то:

А ты разве не знал? MD98 при невозможности достучаться до
DHCP-сервера, берет себе рандомный адресок из подсетки 169.254.0.0/16

PS: причем нигде об этом не упоминая.

Сколько еще загадок и тайн несет в себе Windows? :)) Я вот, в W2K, правда, нашел несколько загадочных скриптовых файлов, явно системного происхождения, написанных на каком-то неизвестным мне языке. Причем совершенно не ясно какой интерпретатор эти скрипты запускает, зачем он это делает и неужели Винде мало четырех (batch, js, vbe, war dialer, никого не забыл?) ее практически встроенных интерпретаторов?

На сегодня это все. Не прощаюсь.
Евгений Степанищев

Оставить комментарий

99 бутылок: KiXtart, Omens

24. KiXtart. Язык пакетных файлов. Достаточно простой, наглядный и функциональный. Интересны конструкции вывода на экран и принципы построения функций. Функции (точнее подпрограммы) можно строить при помощи блока Function или, как в BASIC’е, через GOSUB и метки. Что мне понравилось — KiXtart предоставляет большую свободу в форме записи. Так, например, операторы можно разделять переводом строки, табуляциями, пробелами.

Скрипт, выводящий песню о пиве (beer.kix)

; Beer song. Written by Evgeny Stepanischev

Function Beer($n)
  If $n
    $n
  Else
    "No"
  Endif

  " bottle"
  If $n<>1 "s" Endif
EndFunction


FOR $beer = 99 TO 1 STEP -1
  Beer ($beer) " on the wall, "
  Beer ($beer) " of beer."

  ? "Take one and pass around,"

  ? Beer ($beer-1)
  
  " on the wall."??

NEXT

"No more bottles of beer..." ?
"Go to the store and buy some more..." ?
"99 bottles of beer."

25. Omens (Object manageMENt System). Язык, сочетающий в себе черты Cи, Cи++ и Java. Например, конструкции он унаследовал от Си, принципы работы с указателями и ссылками — из Си++, а описания классов — из Java.

В данный момент язык и система разработки (компилятор в платформо-независимый байткод и интерпретатор) находятся в стадии бета-тестирования. Наверное, поэтому циклы for и while интерпретатор (даже в файлах примеров) выполнять отказался из-за чего мне пришлось использовать рекурсию.

Сам Omens разрабатывался, как платформонезависимая среда со встроенным облегченным механизмом описания и манипулирования сложными данными, в том числе и с базами данных (DB2, Oracle, MS SQL, dBASE, MS Access, …). Из интересных особенностей — у программы может быть несколько точек входа.

Программа, выводящая песню о пиве (beer.oms)

//  Beer song. Written by Evgeny Stepanischev

class beer {
    private void PrintBeer(byte n) {
        if (n>0)
        system.out.print(lang.ltoa(n)); else
        system.out.print("No");
        system.out.print(" bottle");

        if (n!=1) system.out.print("s");
    }


    private void For(byte i) {
        PrintBeer(i);
        system.out.print(" on the wall, ");
        PrintBeer(i);
        system.out.print(" of beer.");

        system.out.println("Take one and pass around,\n");
        PrintBeer(i-1);
        system.out.print(" on the wall.\n\n");
        if (i>1) For(i-1);
    }


    public void main() {
        For(99);

        system.out.print("No more bottles of beer...");
        system.out.println("Go to the store and buy some more...");
        system.out.println("99 bottles of beer.");
    }
};


Оставить комментарий

FreeInet, размножение танков, TheBAT, домофоны

FreeInet все еще жив. Напоминаю, это проект, предоставляет бесплатный нелегальный доступ к сети Интернет. Какое из двух прилагательных для вас важнее выбирайте сами, мое дело — предупредить. Итак, у нас сегодня целых две ссылочки.

Первую я нашел у НоНаМыча и сходить по ней можно отсюда. Время от времени там появляются вполне рабочие скрипты для доступа.

Вторую мне традиционно прислал человек с неприлично короткой аськой 100077. Это ссылка на оригинальный проект FreeInet, переехавший на этот раз вот сюда. Кстати, проект обзавелся довольно приличным дизайном.

Любопытная фотография пролетела сегодня в локальной (для меня) конференции… Хотите знать как размножаются танки? :) Вуаля!

Группа солдат в камуфляже стоит рядом с двумя танками на песчаной местности; один танк перевернут на бок, другой стоит на гусеницах, на заднем плане видны холмы и деревья.
Как размножаются танки?

Не надоело постоянно искать патчи к TheBAT!? Мне — надоело. Человек с ником MANtiC0RE предлагает универсальное, по его словам решение. Кряк подходит для всех TheBAT! версий 1.4x — 1.5x, имеющихся на данный момент и, возможно, будет подходить (какое-то время) и дальше. Далее с его слов:

для использования скопиpовать в каталог thebat и запустить. естественно надо выйти из thebat’a. далее, заpегистpиpовать ключиком, что пpогpаммка выдаст на экpан. или ищите кейген от Rowdy, он на каждом углу валяется.

Скачать можно по ссылке в конце. Конечно, использовать его можно только в образовательных целях, бла-бла-бла.

Узнал в одной из конференций. Уж не помню в какой, сорри. Оказывается у многих домофонов (это такие разбитые ящики, выженные зажигалками и исцарапанные бог знает чем, висящие на двери некоторых подъездов) есть так называемый «полицейский код». Один из таких кодов — 1390, к каким именно домофонам выясняйте сами. :)

Была такая весчь во времена DOS’а и Windows 9x (для тех, кто не в курсе, сейчас времена W2K и Whistler :) — ramdisk. Умела создавать виртуальные диски в памяти. Если памяти некуда девать создание такого диска, иногда, весьма оправдано — скорость работы с ним на несколько порядков выше.

Логотип «RAMDISKNT» с эффектом свечения и надписью «VERSION 1.3» в правом нижнем углу.
Ramdisk NT. Лого

К NT и W2x драйвер ramdisk’a не прилагается, что несправедливо. Тот же Quake, если играть в него с ramdisk’a, просто летает. Несправедливость исправил в меру благородный John Lajoie, который написал RamdiskNT. В меру, потому что за труды свои он просит целых 35$. Что, в общем-то, тоже легко поправимо, внизу есть ссылочка.

А на последок немного warez’a.

Вышел FarNavigator 1.8b6. Из нового — три новых горячих клавиши (переподключиться к серверу, создать список файлов во всех подкаталогах и показать все версии файлов на VMS-сервере), исправлена пара багов.

На сегодня это все, а завтра я все же выложу песню о пиве. :)

Оставить комментарий

Забей скрепку, вирус для TheBAT!, warez

Фирма Майкрософт порадовала. :) Специально для ненавистников скрепки в MS Office выпустила такую вот игрушку, написанную на Flash. В игре три раунда, в первой скрепку предлагается закидать резинками, во второй — расстрелять из степлера, в третьем — прикрепить иголками.

Самый сложный раунд — третий, скрепок много, попасть в них достаточно трудно и они постоянно открепляются. Самый забавный — второй, степлер в роли nailgun (привет любителям Quake) — это что-то! :)

Вообще-то игрушка проходится очень быстро, у меня на это ушло всего 10 минут.

Скриншот игры «Craft Paperclip» в Microsoft XP: рука держит зелёный скрепку, на экране — три скрепки и панель с кнопками «Cut Copy» и «Paste».
Третий уровень
Скриншот игры Office XP: «GAME OVER», зажимание скрепки клипсой, статистика: 76 выстрелов, 41 попадание, точность 53%, время 1388 сек.
Конец игры

Да, чуть не забыл. Вот сама ссылочка.

Господин Касперский предупреждает о появлении опасного вируса под TheBAT!. Жаль только не говорит под какую версию. Вирус представляет из себя jpg.pif-файл, а BAT, насколько я помню уже давненько сообщает, что открывать файлы из почтового клиента — плохо, а *.jpg.pif и *.jpg — вещи разные. В общем, если хочется почитать поподробнее, червя зовут «Статор».

Теперь, что касается warez.

К моему любимому ICQ-клиента Miranda вышло еще два плагина. Первый называется «Logger2» и позволяет собирать сведения о различных событиях, второй, «Conversation Style Messaging» заменяет диалог пользователя, предоставляя несколько функций, которых нет в стандартном диалоге. Кстати, внимательно прочитайте инструкцию по установке!

Первый я не ставил, а во втором нашел два недостатка. В плагине не реализована функция «добавить пользователя» и, если сообщение не было доставлено, нет возможности изменить способ его доставки.

Вышла новая версия MySQL 3.23.38. Различного рода изменения и багфиксы. Ссылки на «скачать» и список изменений ниже.

Opera, наконец-то, выпустила «русскую» версию своего браузера Opera 5.11. Мне как-то не понятно стремление этой фирмы разделять версии по национальному признаку. Вместо того, что бы, как все нормальные фирмы, выпускать локализованные версии, эти, для полной поддержки русского, делают отдельную русскую версию! Т.е, если я знаю несколько языков, то мне, для полноценного браузинга, в перспективе нужно будет пользоваться разными версиями, для разных национальных сегментов Интернета! Ссылочка — внизу.

На сегодня это все. Завтра можно не приходить, будут «песни о пиве». :)

Оставить комментарий

KEYB.COM, warez, SecureBAT!, e-mail via FTP

Привет!
Всех, кто считает себя причастным к этому празднику, с Днем Победы! C этого и начнем… :))

Сидел вчера под Windows 98. Работал под FAR. Все хорошо, но оглушительное пищание динамика при переключении раскладки клавиатуры меня несколько… как бы это помягче… достало. В общем, моя психика, не выдержав подобного издевательства, попросила мозг принять меры.

В общем патчится KEYB.COM. Эта софтина находится обычно в подкаталоге COMMAND каталога Винды. Та версия, которую я патчил, весила 20135 байт, так что будьте внимательны. Ущербные байтики перечислены в таблице чуть ниже.

KEYB.COM

0F12: E4 EB
0F13: 61 16
0F5F: 50 EB
0F60: E4 0C

Warez
Только-только вышел PHP 4.0.5, а PHP team уже приступила к разработке 4.0.6. Уже доступен 4.0.6RC1. Изменения коснулись, в основном, GD (в связи с появлением второй бета версии) и OpenSSL.

RitLabs выпустила TheBAT! 1.52f. Что там нового уж не знаю, сравнивать списки исправлений довольно лениво. Не забудьте заново пройтись патчиком. Ссылку я давал позавчера.

Как-то незаметно для меня вышел один из моих любимейших плагинов к FAR — FarNavigator (в прошлом — ProxyFTP). Новая версия — 1.80b5, это багфикс. Должен быть исправлен, найденный лично мной, баг с падениями плагина на плохом канале.

Фирма RitLabs (автор TheBAT!) начала выпуск нового продукта — SecureBAT!. Это полнофункциональный почтовый клиент, построенный по образу и подобию TheBAT!, но главный акцент в нем сделан в пользу защиты вашей почты от чужих глаз. SecureBAT! умеет шифровать все хранимые на диске файлы, выполнять защиту передаваемой информации с использованием OpenPGP или S/MIME и многое другое.

Вообще ребята из RitLabs — молодцы. В свое время они практически полностью отказались от защиты почты в TheBAT!, оно и правильно — лучше никакая, чем настолько легко ломаемая система, по крайней мере не создает чувство ложной безопасности. И все это время, оказывается, они работали над созданием полностью секурного агента… молодцы, определенно!

Продаю идею. Нет, просто отдаю в хорошие руки :). Почту, в последнее время, все чаще и чаще используют, как средство обмена бинарными файлами. Неудивительно, только вот транспорт e-mail совсем не предназначен для передачи бинарников.

Бинарники, вообще говоря, сначала переводятся в текст (слышали о base64 и ююке? вот это оно и есть), а уже потом уже пересылаются. Что сильно сказывает на размере передаваемого файла, иногда настолько сказывается, что сидя на модеме на размер этот без слез смотреть невозможно. Менять что-то в протоколе уже поздно, да и не предназначалось это все хозяйство для передачи чего-то отличного от текста… это уж так… надстройка.

Для передачи бинарников, вообще говоря, есть FTP (ну и еще великое множество менее распространенных протоколов). Вот об этом и речь.

Лирическое отcупление. Вообще в FTP передача файлов сделана довольно оригинально. Диалог между сервером и клиентом идет на одном канале (обычно порт 21), а передача файла — на другом (обычно порт 20). В отличие от недиалогового HTTP, где файлы передаются по одному и тому же каналу, но ему можно, он устроен по-другому. Да и это все тоже держится на паре костылей, связанных с появлением докачки и keep-alive. Конец лирического отступления.

Так вот. Было бы неплохо, что бы по SMTP (почтовый протокол) и присным передавался только текст. А вот, если нужно передать бинарник, в тексте письма можно было бы дать ссылку на файл, благо протокол позволяет, а сам файл закачивать на FTP адресата.

На другом конце, мейл-сервер (ведь письма хранятся на сервере), когда адресат пошлет запрос на получение письма сверяется с заголовком почтового клиента и проверяет его на предмет поддержки этого нового сервиса. Далее, если клиент понимает такие ссылки, отдает ему письмо без изменения, почтовый клиент связывается с FTP и качает оттуда файл; иначе почтовый сервер связывается с FTP сам и внедряет скачанный файл в тело письма, отдавая письмо с бинарником «по старинке».

Вуаля. Проблемы две.

Первая — воровство чужих файлов с FTP-сервера решается простым именованием файла так, что бы его имя трудно (лучше — невозможно) было угадать, а так же запретом на FTP чтения содержимого директория и перезаписи файлов. Хотя лучшее решение, наверное, совместить почтовый и FTP-сервер и отдавать файлы только на тот IP, с которого было произведено соединение. Могут, конечно, возникнуть проблемы с файрволами и проксями, но, в конце концов, клиент всегда может попросить открыть соединение на другом порту или отдать почту «по старинке».

Вторая — закачка мусора. Тут все сложнее. Вариант с сертификацией утомителен, и для разработчика, и для пользователя. Что же остается? Удаление постфактум, это когда, по прошествии какого-то интервала, если не пришло соответствующее письмо файл удаляется. И есть еще вариант с введением второго FTP-сервера.

Последний мне нравится. Обычное электронное письмо ведь не сразу отсылается адресату, почтовый клиент сначала отсылает его тому почтовому серверу, с которым он работает, тот в свою очередь — на сервер адресата и уже только потом письмо попадает куда надо. То же самое можно сделать и с файлом.

Схема такова. Вводится еще один FTP-сервер, на стороне отправителя. На нем запрещено просматривать список файлов, удалять их и читать.

Почтовый клиент соединяется с сервером, отдает ему текстовое письмо, сервер разрешает передачу файла, клиент передает файл, причем неважно как этот файл называется, сервер его на своей стороне переименовывает во что-то другое (причем так, что бы не затереть другие файлы) и внедряет в письмо некие данные для скачивания. Письмо отправляется на сервер адресата. Сервер-адресат, получив такое письмо, и, основываясь на полученных данных для скачивания (ими, я думаю будет какой-то логин, пароль с правом на чтение и удаление и, собственно, ссылка на файл), скачивает сам файл и удаляет его на сервере.

Кроме того, сервер номер раз (тот, который на стороне отправителя) должен переодически «подчищать» файлы и соответсвующие им аккаунты на скачивание, сверяясь с логами (т. е. если файл скачали, но не удалили, его нужно удалить).

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

На сегодня, думаю, хватит. Не прощаюсь, Евгений Степанищев.

Оставить комментарий

Miranda plug-ins, WebDrive, GSM vs. CDMA, warez

Скриншот интерфейса программы с таблицей данных, содержащей даты, время и текстовые записи, а также кнопки управления внизу окна.
Miranda history+

«Миранда», альтернативный ICQ-клиент, о котором я упоминал в прошлый раз, начинает потихоньку обрастать плагинами.

Для версии 0.1.0.0 сейчас уже можно скачать два плагина «History+» и «Split screen». Первый изменяет внешний вид окна истории так, как это видно на скриншоте справа, что делает второй я еще не разобрался. Инсталлируются они крайне просто — достаточно скачать их, распаковать и переписать в папку «plugins» директории Миранды. Деинсталлируются — простым удалением.

Скриншот FileZilla: окно Site Manager с сервером Bar FTP и монитор с логами успешных FTP-команд (200, 226).
Скриншот. WebDrive
Скриншот. WebDrive
Скриншот. WebDrive

Я много работаю с Веб-серверами и мне приходится довольно часто редактировать файлы, в основном через FTP.

Перебрав много FTP-клиентов, в основном, совмещенных с файловыми менеджерами, я так и не нашел то, что меня устраивало. Мои требования, в общем-то, очень простые: хотелось найти нечто такое, что работало бы с веб-сервером, как с простым диском.

Samba мне не подходит, не везде есть, да и работает все это в пределах одной сети, NFS лучше, по опять же есть не везде, да и клиентов под Windows я что-то не нашел.

В общем совсем я загрустил, пока не наткнулся на WebDrive. Программа эта (внимание!) представляет FTP-сервер, как еще один диск в системе. Причем абсолютно прозрачно для любой программы.

Теперь я, редактируя файл на сервере через FAR, запросто могу переключиться с редактора на панель файлов, сохранить файл через F2, переместить и скопировать его без каких-либо проблем! Впрочем, должен предупредить. Под Windows 9x время от времени появляются какие-то глюки при работе с директориями, но это не смертельно.

Большим достоинством программы является обилие настроек соединения, можно, в частности указать режимы создания файлов, распознавание типов, параметры прокси и т. д. и т. п. А небольшой недостаток, в виде затруднения на отметке 20 дней исправляется благодаря моему братишке, Олегу, который написал небольшой патчик. Ибо те, что удалось найти в Интернете, работать отказались. Скачать его можно по ссылке внизу.

Все, устал я от GSM. Устал говорить, считая секунды, надоели высокие цены, тарифы по минутам. Перешел на CDMA.

Достоинства — минута от 60 копеек, безлимитный — 66 у.е. за месяц. Недостатки — нет роуминга, качество явно хуже. Ну и пусть. Зато могу говорить теперь столько сколько смогу выговорить. :)

Вот трубки еще дорогие… Выбирал-выбирал, выбрал себе Samsung SCH-A100. Из того, что здесь можно купить — самая лучшая модель. 117 грамм, 80×42×22,8 мм, 4 часа 10 минут разговора, 170 часов в ожидании, графический анимированный дисплей, калькулятор, вибровызов, планировщик, факс и прочее и прочее.

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

Увидеть это корейское чудо можно на семидесятипятикилобайтном Java-аплете справа (если дождетесь загрузки и ваш браузер поддерживает Java), который я утянул с сайта Sota1.Ru. Думаю они в обиде за это на меня не будут — они ведь его тоже не сами написали.

В общем, однозначно, рекомендую. Из недостатков — только отсутствие клипсы, так что чехол нужно покупать в любом случае.

Чуть не забыл. Мне известны две недокументированные возможности. Вызываются очень просто, первая — кнопка «Menu», потом «8» (экран каких-то характеристик сигнала) и «Menu», «9» (настройка контрастности).

Warez.

Вышел новый TheBAT 1.52c. В новой версии, помимо исправлений различных багов, присутствуют достаточно любопытные вещи. Например, напоминалка дней рождений, новый «центр сообщений» и прочее. Полный список можно увидеть по ссылочке внизу. Довесочек — там же (спасибо NoNaMe). Кстати, по словам того же Нанамыча, новая версия на старую просто так не поставится, придется сносить. Сам я еще не пробовал, но для меня это звучит странно.

P.S. К вечеру появился TheBAT! 1.52d.

Кроме того, из софта, за выпуском которого я обычно слежу, вышел PostgreSQL 7.1.1 — промежуточная версия перед выпуском 7.2. Исправлены несколько багов и ничего нового. Подробный список исправлений — по ссылочке внизу.

На сегодня, пожалуй, хватит. Всем пока! :)

Оставить комментарий