The Prodigy



Ирония судьбы ... сетестроителей


Осторожно! Ремонт! (ФОТО)


Что такое СОН. Это должен знать каждый!


GPS навигация


Сейшелы - Маврикий. Часть 10. Ночное приключение!


АйСтокФото


Хак-квест №2: Antichat Quest - Clear Conscience


Когда нефть подешевеет? (Разрыв мозга №2)



[Win32] Проблемы сплайсинга

Висела как-то у меня в фоне утилитка нашей разработки, в которой перехват API-функций осуществляется методом сплайсинга… тестировал, в общем. И понадобилось мне поставить MetaSploit Framework (с DNS-cache poisoning-ом поэкспериментировать хотел). Запускаю приложение - БАЦ - упало… Повторяю попытки - аналогично… Долго не мог ничего понять, пока не осенило выключить нашу тулзу. Без нее все заработало! Начал копать дальше. Обнаружилось, что если запустить 2 копии нашей штуковины - “захученные” приложения падают.

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

Opera + SoftIce - WSASend под сплайсинг-прицелом

С установкой Driver Studio на WinXp под VMWARE пришлось помучаться. Точнее, с отображением окна. Да и многое уже подзабылось, пришлось освежать память. Но все было не зря. Все-таки, SoftIce - сильная штука. Сразу определил, что на втором экземпляре DLL-ки передача управления осуществляется в невалидные адреса. То бишь JMP в небо. И наступило прозрение.

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

Это все исправимо, зато пришло осознание другого момента. Если сплайсинг-хук установят приложения П1 и П2 по очереди, но П1 раньше сделает “анхук” - автоматически отключается хук в П2. То есть, с установкой нет никаких проблем. Приложений в цепочке может быть сколько угодно, и все будет отлично работать. Но вот если какое-то из них делает откат - автоматически отключаются все переходы, установленные позже. Такие вот дела…

Фотосессия

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

К счастью, временно выкрутился из ситуации, и фотосессия состоялась. :)

dsc_1162.jpg

Читать дальше »

The Prodigy? SOLD OUT!!!

Не думал, что будут такие сложности с билетом на одно из декабрьских выступлений “The Prodigy” в Лондоне. Наконец, заветный билетик у меня. :) А дело было так…

the prodigy ticket

Читать дальше »

Как я падал с высоты 4500 метров…

Я сделал это! :) 55 секунд в свободном падении и еще минут 5-7 спуск на парашюте в тандеме с инструктором.

KMiNT21 - парашютист

Читать дальше »

Я знаю - тебе понравится. К гадалке не ходи!

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

А ведь есть же люди, которым тоже нравятся комедии “Джей и Боб наносят ответный удар” и “Эй, чувак, где моя тачка?”, но при этом они терпеть не могут всякие фэнтези про дурацких гномо-эльфов, или как их там… Так почему бы не попробовать спрогнозировать понравится мне кино или нет на основе именно их оценок?

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

А тут вдруг вчера Maniac скинул ссылку, где я прочитал:

Читать дальше »