hack

Сложности сохранения онлайнового видео

Все началось с того, что мне захотелось найти полюбившийся мне в Англии мультик "Pitt & Kantrop". Он шел по телевизору рано утром, как раз в то время, когда мне нужно было вставать, и просмотр этого мультика помогал мне проснуться. Хороший, добрый детский мультик про первобытное племя, сталкивающееся с вполне себе современными социальными проблемами. Местами смешно, местами поучительно.

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

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

Делаю я подобные вещи не в первый раз, и, в принципе, уже набил руку. При наличии FAR'а поковыряться в кэше браузера и найти файлик с видео - раз плюнуть. Однако в данном случае метод не прокатил - видеофайлов в кэше не оказалось. Но поскольку отчеты о свободном пространстве на диске явственно показывали, что видео куда-то сохраняется, я продолжил поиски. Читать дальше

Давненько я не брал в руки шашки...

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

Для нас, представителей дешевой оффшорной рабочей силы, в банке существует система учета рабочего времени. Придя на работу, сотрудник должен зайти на соответствующую веб-страничку под своим логином/паролем и нажать на кнопочку "я пришел". В конце рабочего дня еще раз нажать на нее же: "я ушел". Разница во времени между этими двумя моментами заносится в базу данных, и впоследствии на основании этих данных банку выставляется счет за каждого из нас.

О том, что это надо делать, мне сообщили на втором месяце моего пребывания в Лондоне, но это так, мелочи :-) И к письму прилагалась просьба информировать обо всех случаях когда я забыл нажать кнопку, дабы наверху могли это поправить.

Так вот. Первым фактором послужило то, что мне сделали замечание, что я слишком часто забываю нажать на кнопочку, и что, мол, я один такой. Вот в это я, извините, не поверю никогда в жизни - мне слишком хорошо известна роль человеческого фактора в автоматизированных системах. Я скорее поверю в то, что я единственный, кто сообщает о том, что забыл нажать, и не ленится написать письмо об этом. А вторым фактором был приезд в Лондон [info]barateli (aka dimachertov), который искренне и всей душой ненавидит эту систему и считает, что она глупа и порочна.

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

(Оказалось, что задача и правда не из простых, но мы ее решили)

А мораль тут, кстати, довольно неожиданная. Мы с [info]barateli на собственной шкуре ощутили эффективность "парного программирования" - методики из арсенала Extreme Programming. Никто из нас по отдельности не решил бы эту задачу: я без него уперся бы в какой-то один безнадежный подход, а он без меня не довел бы до логического завершения ни одну из своих идей. А в паре мы идеально дополняли друг друга: он беспрестанно генерировал идеи, а я либо сходу отфильтровывал совсем уж безумные, либо цеплялся за них и реализовывал. Он, в свою очередь, не давал мне закопаться в ненужные детали, не имеющие на данный момент практического значения.

Вот так мы и провели этот вечер: сидя за одним компом, с горящими глазами обсуждая возможность или невозможность того или иного подхода (порой чуть ли не на спор!), и в четыре руки переписывая код снова и снова, придавая ему все более и более причудливые формы. И в итоге родился подход, который пробил-таки брешь в системе защиты. Конечно, от прототипа, демонстрирующего техническую возможность нажать на кнопку из JS-скрипта, до работающей программы еще предстояло потрудиться, но главное было сделано.

В этот день я впервые за долгое время возвращался с работы довольный. А спустя еще пару вечеров я написал первую тестовую версию программы, которая отметила мой приход на работу ровно в 9:00, несмотря на то, что на самом деле я с утра был на встрече, проходившей в другом здании, и к компьютеру пришел только в без четверти 10.

P.S. Сегодня пришло в голову, что если, следуя маджентовской традиции, придумывать для проекта имя из греческой мифологии, то лучше, чем Prometheus, не найти :-) И не надо сарказма, я прекрасно помню, чем кончил Прометей!

Current Music: Ozzy Osbourne - S.I.N.
Tags: job, prank, technology
Читать дальше

Biohazard warning!

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

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

Смешно, да? Убежденного антиспаммера отключают за спам. Это же прямо как у Лукьяненко в "Сумеречном дозоре":
 — ...Не делайте так больше, не плодите зла вокруг!
     Давно мне уже не было так стыдно. Светлого мага учили не делать зла!


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

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

Уже чисто для галочки и окончательной очистки совести я скачал свежий AVZ4, которым обычно пользуюсь для анализа операционной системы на предмет вирусов. Запустил и обнаружил странное упоминание о том, что ключевые системные вызовы перехвачены непонятным файлом DefLib.sys. Причем когда я полез его искать, оказалось, что его еще и в системе не существует.

Очередной раунд поисков в Интернете показал, что у меня сидит нечто по имени Backdoor.HideLogon, и оно превращает мой компьютер в "зомби", исполняющий команды из "Центра". Вполне возможно, что выводок троянцев пришел именно оттуда.

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

Current Mood: shocked
Current Music: Мельница - Дорога сна
Читать дальше

О нештатном использовании радиотехники

Мне на день рождения подарили замечательное устройство под названием "FM-трансмиттер". Это маленькое устройство, которое берет сигнал с любого аудиоплеера и передает его в эфир на заданной частоте. Для автомобилиста вещь просто незаменимая. Компакт-диски, конечно, штука удобная, но каждый раз писать диск для того, чтобы послушать что-то в машине - это неинтересно. А так - можно слушать музыку с чего угодно, главное, чтобы у этого "чего угодно" было гнездо для наушников.

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

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

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

Утром в машине я сделал то, чего никогда раньше не делал: настроил автомагнитолу на частоту 101.0FM (кто не знает - это частота самарского радио "Шансон"). Прокуренный голос немедленно стал вещать о тяготах жизни за решеткой.

Я злобно ухмыльнулся, включил передатчик и стал крутить на нем частоту. Когда дисплейчик показал 100.95, и без того хриплый голос стал хрипеть еще больше и стал как бы потише. А когда загорелось 101.0, наступила тишина.

Ухмылка из злобной превратилась в злорадную. Я подключил к передатчику заранее подготовленный mp3-плеер, отпустил "паузу" - и голос Ронни-Джеймса Дио наполнил машину, напоминая мне, что если я буду слушать дураков, то настанет власть толпы.

Как ни странно, но на идею меня натолкнул вот этот диалог. Ну все, дайте мне теперь только добраться до ближайшей маршрутки. Будет вам и "Учительница первая моя" на "Русском Радио", и "Ларек" со "Снежинкой" на "Шансоне"!

P.S. Или лучше все-таки Вертинского и Утесова? :-)

Current Mood: mischievous
Current Music: Dio - We Rock
Читать дальше

Побег из зоны, или Боремся с борьбой с видеопиратством

Зачем, например, держать бюро пропусков при гостиницах? Жулик все равно дает три рубля и проходит - а честный человек идет в бюро пропусков. Значит, что такое бюро пропусков? Это перепись честного населения!

М. Задорнов, "Страна героев"


Представьте себе ситуацию. Я приполз домой с работы, приготовил ужин, достал один из приобретенных в Штатах DVD - причем не с чем-нибудь, а со с детства знакомым фильмом "Флетч". В переводе Гаврилова я его знаю наизусть, и я не мог упустить возможность посмотреть этот фильм в оригинале. Весь в предвкушении приятного вечера втыкаю его в домашний кинотеатр... а тот говорит: "обломись! не могу воспроизвести диск".

До меня, естественно, тут же доходит, что я стал жертвой борьбы с DVD-пиратством. Вся ирония в том, что всю жизнь я смотрю пиратские диски и не испытываю никаких трудностей, а именно сейчас, когда у меня на руках совершенно законно купленный диск, за который я отдал ни много, ни мало, двадцать баксов - увидеть вот такое вот. Обидно? Не то слово. Обидно до слез.

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

Но, по счастью, существует Интернет. У моего поколения, похоже, есть твердая вера в то, что Интернет может решить любую проблему, и в данном случае эта вера себя вполне оправдала. Через пять минут я узнал, что у всех бытовых DVD-проигрывателей есть недокументированная возможность снять зональную защиту - через скрытое инженерное меню или через тайную последовательность шаманских действий. Еще через пять минут я нашел таковую последовательность для своего кинотеатра. Она и правда выглядит очень по-шамански:
- отключить кинотеатр от сети;
- через тридцать секунд подключить обратно и включить его обязательно с дистанционного пульта;
- на пульте же нажать Enter, набрать пятизначный код и снова нажать Enter.

Пока я все это проделывал, система не подавала виду, что как-то по-особому воспринимает все эти действия. Но в момент нажатия последней кнопки на дисплейчике высветилось "Good-bye" - и система тихо отключилась.

Когда я снова включил кинотеатр, диск всосался, как ни в чем не бывало. Ура, товарищи!

Current Mood: cheerful
Current Music: Whitney Houston - I Have Nothing
Читать дальше

Собранный материал