Home
mr_depth [entries|archive|friends|userinfo]
mr_depth

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

(без темы) [Авг. 25, 2005|12:12 am]
Бл**ь, какой е*лан придумал жизнь?
ссылка1 комментарий|Оставить комментарий

Парад "голубых" [Авг. 16, 2005|02:58 pm]

Read more... )
ссылкаОставить комментарий

Вилы [Авг. 14, 2005|10:57 pm]
Как стихия поработала

Image hosted by Photobucket.com
ссылкаОставить комментарий

Не наша игра [Авг. 10, 2005|12:33 am]
Почему, млин, иногда кажется что есть кто-то «коварный», который дергает все за ниточки. Такой вот кукловод-озорник, который играет ситуациями, подкидывает их. Пусть вероятность события 1 на 1 000 000, но оно происходит. Событие, которое может здорово изменить привычный ход жизни. И тут у «коварного» начинается другая игра. Следующий уровень, «миссия 2», но уже с противоположными целями. Если в «миссии 1» он тебе что-то дает, то в «миссии 2» он непременно должен это забрать, причем методом поизвращенней. Иногда он посылает к тебе подставных герове, статистов, которые играют свою черную роль. Видишь ли, он должен попасть в таблицу High Scores и причем непременно в первые строчки. Такая вот игра, где мы – ее объекты.
ссылка1 комментарий|Оставить комментарий

Даешь качественный код! [Авг. 8, 2005|05:34 pm]
Более месяца назад в моем драйвере всплыл баг с совместимостью с другим драйвером (BestCrypt). Система просто вылетала в синий экран.
После сотен перезагрузок виртуальной машины, анализа сотни крашдампов таки выяснилось, что баг был отнюдь не в моем драйвере, а в этом коммерческом продукте BestCrypt. А, ошибка как всегда, банальна: поленились проверить указатель на NULL. В результате пришлось реализовывать кучу левого кода, чтобы чужой драйвер мог нормально работать.
Кривые руки программистов создают головную боль не только им самим, но и таким рядовым программистам как мы.
Давайте писать качественный код!
ссылка3 комментария|Оставить комментарий

Река в огне [Июл. 31, 2005|06:12 pm]
River in fire
ссылка1 комментарий|Оставить комментарий

Работа [Мар. 30, 2005|09:30 pm]
Кому нужен программист? Работаю за еду.
ссылка5 комментариев|Оставить комментарий

Опять онлайн [Мар. 12, 2005|11:49 am]
Наконец. Через 2 недели после отключения телефона соизволил за него заплатить.
Товарищи, я теперь опять онлайн.
ссылкаОставить комментарий

Праздник, млин [Фев. 23, 2005|08:28 pm]
Бутылка «Премиума». Вижла. MSDN. Linkin Park feat. Jay-Z.
С праздником меня.
С праздником нас.
ссылкаОставить комментарий

Прорыв [Фев. 18, 2005|10:26 pm]
Свершилось! Я нашел баг в драйвере, над которым бился дней 5. От безысходности я начал изменять уже все что можно и что нельзя, даже самые абсурдные моменты. А оказалось, что мьютексы всего лишь ждали не в том режиме. Должны были ждать в режиме пользователя, а ждали в режиме ядра. Зато сейчас неизвестно как поедет себя драйвер, если все же запрос придет от ядра?
Вот только я не смог проследить связи, почему каждый раз у меня вылетали разные ошибки, и почему, когда менеджер сам запускал драйвер и сам же обрабатывал запросы от него, все нормально работало? Одним словом, Microsoft.
ссылкаОставить комментарий

Бред [Фев. 17, 2005|11:46 pm]
Был сегодня в парикмахерской. Подумал, что было бы не очень приятно, если бы зазвонил сотовый. Через пол минуты он зазвонил.
Сидя в кинотеатре мне в голову стукнуло, что кто-то может позвонить сейчас. Позвонил брат.
Мне частенько снится как я тону. Еще отчетливо помню, что пытаюсь дышать под водой, но во сне понимаю, что воды нету, что вдыхаю воздух, пусть и с большим трудом.
До этого мне никогда не снились сны, где я бы мог погибнуть. Теперь я понял. Я утону.
ссылка6 комментариев|Оставить комментарий

Дрова [Фев. 3, 2005|03:03 pm]
Прикольно у меня в драйвере режима ядра реализовано взаимодействие с программой режима пользователя.
Получается что-то типа этого:

прога: Привет драйвер, я прога, тебе что-нибудь от меня нужно?
драйвер: Пока нет, но ты подожди, может и понадобишься.
[проходит время]
драйвер: Слушай, метнись-ка за пивом, а я тебя здесь подожду.
прога: ок.
[проходит время]
прога: Все, сбегала, вот пиво. Что-нибудь еще?
драйвер: Пока все. Но ты не уходи, еще понадобишься.
[проходит время]
драйвер: Все, ты свободна.
[синий экран]
ссылка2 комментария|Оставить комментарий

Microsoft [Янв. 31, 2005|11:52 pm]
Опять Microsoft. У меня это слово скоро перерастет в ругательство. Зачем продавать офигенный пакет IFS Kit более чем за 800 американских рублей, если в нем даже документации нету толковой. Правильно, а зачем? Они знают, как все работает, выложили инклюды, либы, и самую малость доки, а остальное их не волнует. Этого должно хватить. Инклюды конечно сопровождаются комментариями, но это что-то типа «А здесь вот мы что-то делаем, а что для этого нужно, как это работает и где нужно этим пользоваться вас не касается». Выложили интерфейс редиректора (инклюдов более чем на 80! кб), а документации по нему нет ни строчки. Класс. Молодцы. «Догоняйте сами».
ссылкаОставить комментарий

Microsoft - враг рода человеческого. [Янв. 19, 2005|12:34 am]
В который раз убеждаюсь, что мелкомягкие - враги рода человеческого. То, что винда платная, это в порядке вещей. Пускай. Но то, чтобы девелопить под нее над им платить деньги за всевозможные SDK - это уже чересчур. Чтобы лицензировать IFS Kit, чтобы написать драйвер файловой системы, надо отстегнуть порядком 900 американских рублей. Ну разве это нормально? Сама ось должна быть платной, а SDK, документация и всемовзможная спецификация бесплатной. Это мое мнение.
ссылка2 комментария|Оставить комментарий

Все можно выразить через килограммы [Янв. 13, 2005|12:28 am]
Вольт через килограмм.
Мощность P=UI => U=P/I
Энергия P=A/t
Работа A=Fl
Сила F=mg
A=mgl
P=mgl/t
U=mgl/(tI)
1В=1(кг*м/с2*м/с)/A
1В - перемещение за 1 сек одного килограмма обратного ампера на 1 м с ускорением 1 м/с^2.

Продолжение следует.
ссылка2 комментария|Оставить комментарий

Надоело [Янв. 10, 2005|11:14 pm]
Надоело! Зачем мне все это? Зачем ботанить эту схемоту?
Зачем стремиться получить хороший балл? Зачем? Ведь я все равно через неделю
все забуду. Ведь можно же на все забить и надеяться на волю случая. Ведь это же
так просто. Живи, и не думай что завтра. «Что мы сегодня сдаем? Китайский?
Сейчас докурю и пойду».Но самолюбие не дает все бросить. «Ведь как же, столько
сил уже потратил и чтобы все бросить посреди дороги?». Млин, так и свихнуться
недолго. Если к 5-му курсу у меня поедет крыша, обещайте, что придете навестить
меня в отделение :).
ссылка5 комментариев|Оставить комментарий

Теория невероятностей [Янв. 4, 2005|08:46 pm]
Mr. Depth. 10.21.2004

Теория невероятностей. Основные положения.

В данной статье будут изложены основные выкладки из работы «Теория невероятностей» доктора альтернативных наук (по его собственной инициативе его имя не называется).

Read more... )
ссылка1 комментарий|Оставить комментарий

Способ защиты SWF файлов от декомпилирования. [Янв. 2, 2005|04:11 pm]
Точнее здесь речь пойдет о том, как защитить ActionScript код, а не сами ресурсы flash-файла. Вопрос о защите ресурсов пока остается открытым.
Небольшое введение в технологию защиты. Проигрыватель Flash разбирает байт-код скрипта по мере его выполнения. Если какой-то участок кода никогда не может быть выполнен, он и не будет обработан проигрывателем (если кто-то не согласен, с удовольствием приму замечания).
Например:
if (false)
{
никогда не будет выполнено;
}

Декомпиляторы же наоборот, обрабатывают весь байт-код. Этот нюанс можно использовать для того, чтобы «повесить» декомпилятор. Например: Imperator FLA 1.6 замечательно «вылетает» при добавлении команды ActionWith (код 0x94) с нулевым размером. Flash Decompiler 1.10 это пропускает.
Можно попробовать защитить код по следующей схеме.
[1]: Push in stack [2], [3]
[2]: Your ActioScript code
[3]: Jump to 5
[4]: Jump to 2
[5]: end

По такой схеме написаны некоторые программы по защите флэшек.
Перед скриптом добавляем команду помещения в стек. В стек помещаем весь ваш код. Управление после пункта [1] перейдет сразу к пункту [4]. Далее выполнится ваш код, и в [3] произойдет jump в конец скрипта.
Декомпиляторы обычно декомпилируют следующий весьма содержательный код:
break;
Недостаток этого метода в том, что не могут быть обработаны скрипты размером >64 кб, т.к. можно указать размер инструкции только 2-мя байтами :(.
Но нам же это не подходит!
Можно использовать следующий способ.
[1]: Push in stack 1 (Boolean)
[2]: if (!true)
{
что-нибудь плохое;
}
[3]: Your ActioScript code

Данный фрагмент мне также встречался в некоторых программах по защите флэшек.
Байт-код [1] и [2] будет следующий:
[1]: 96 02 00 05 01
[2]: 9d 02 00 03 00 ff ff fe

Как видите, данный способ лишен недостатка предыдущего.
Если подобный код вставить во все теги с ActionScript, то есть шанс спрятать исходники ваших скриптов.
Теперь можно скачать с macromedia.com спецификацию SWF формата и за вечер написать свою программку.
Demo-версия мой программы выйдет где-нибудь ближе к февралю (если повезет). В ней заложены похожие принципы, но встраиваемый код куда больше и главная ее цель – это «повесить» декомпиляторы.

P.S. Не исключено, что уже есть декомпиляторы, которые запросто обходят все эти фишки. Так что надеяться на многое не стоит.
ссылка3 комментария|Оставить комментарий

navigation
[ viewing | most recent entries ]

Реклама