- - * - WhiteUnicorn - * - -




* #WhiteUnicorn/ StartPage/ Heap/ Quest.Grazd >


Как получить вкладыш о гражданстве

Серия "Бюрократические квесты"

==================================================================
Tutorial 001
Как получить вкладыш о гражданстве 
(c) CS:ED
==================================================================

1. Объект взлома.
   Вкладыш о гражданстве - это бумажка, которая вкладывается в паспорт
   старого образца. Она необходима для получения загран паспорта, 
   перепрописки и прочих гадостей.

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

2. Головной модуль.
   Для начала необходимо найти программу ТЖК (почему так называется
   - никто не знает). Сделать это можно любым из известных способов
   - анализ списка подобных заведений вашего района или внаглую - 
   используя прогу типа "Телефон местного отделения милиции". 
   На ваше усмотрение.

3. Точка входа.
   Нужно заметить, что запускать ТКЖ надо в строго определенный промежуток
   времени - "Приемные часы". Его можно узнать из файла read.me, который обычно 
   висит на двери ТЖК.

4. Паспортный стол.
   Ставим брек-пойнт на это время, вываливаемся в модуль ТЖК
   и ищем вызов процедуры "Паспортный стол". Название не всегда можно увидеть
   явно, поэтому просто входим по F8 во все встречающиеся вызовы и ищем что-то 
   типа комнаты, в которой несколько столов (за ними обычно сидят тетки 
   какие-нибудь). Если видим, что это не то, то вы всегда можно
   нажать F12 и оказаться в вызывающей функии, т.е. за дверью, в коридоре ТЖК.
   Если внешним осмотном не удается определить принадлежность функции, можно 
   сделать запрос типа "А где тут Паспортный стол?" или "А это Паспортный стол?".
   По полученной строке с определенной долей вероятности можно определить
   адрес искомой функции.
   (На адреса вне текущего сегмента кода внимания можно не обращать.)

5. Очередь (самый длинный этап).
   Если вы все сделали правильно, то вы сейчас внутри функции "Паспортный стол"
   и, скорее всего, видите, что первой же строкой стоИт вызов процедуры "Очередь"
   К сожалению, вы _должны_ пройти ее по F10, т.е. по шагам, и только тогда
   она завершится успешно.

   Можно, конечно, попытаться проскочить этот этап, прыгнув сразу в конец
   процедуры, но обычно это приводит к краху программы. :(
   Можно так же попробовать сделать так, чтобы одна из внутренних функций 
   "Очереди" вернула 1 в регистр eax, что означает, что вы ей знакомы и можете
   перепрыгнуть в строку сразу за проверкой возврата функции. 
   Но метод весьма ненадежен, битхак почти никогда не дает положительного
   результата, поскольку проводятся многочисленные проверки целостности екзешника. 
 
   Хуже всего то, что программа хорошо запоминает все ваши попытки пройти 
   этот этап и если вы полезете еще раз  немедленно, то, скорее всего,
   нарветесь на серию непонятных сообщений об ошибках при проходе процедуры 
   "Очередь".
   Если вы все-таки сделали такую попытку (10 шансов из 100 что она все-таки
   удастся и вы сэкономите кучу времени) и она провалилась, то лучше выждите
   хотя бы день.

6. Тетка.
   Ну вот - так или иначе вы дошли до конца "Очереди" и вышли из нее.
   Теперь вы перед одной из теток. Надо заметить, что их несколько и какая
   из них попадется именно вам - предсказать заранее нельзя. Но все 
   действуют почти одинаково, разница только в формулировке сообщений о 
   некорректных действиях.

   В качестве входного параметра функция "Тетка" принимает ваш паспорт 
   (вы же не забыли заранее разместить это дело в памяти и запомнить адрес ? ;).

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

7. Время.
   Результат функции "Тетка" - смещение в time сегменте относительно _текущего_
   системного времени. Иногда сообщается абсолютное время, но это бывает
   значительно реже.

8. Получаем рег... ээээ... т.е. вклыдыш о гражданстве :)
   Дальше все просто - вычисляем абсолютное значение времени (если получили
   смещение) ставим бряк на это время, и трассируем программу до входа в 
   модуль "Местное отделение милиции". 
   Лезем в функцию "Паспортный стол", находим там вызов функции 
   "Начальник паспортного стола", проходим уже знакомую нам "Очередь" 
   (но это другой экземпляр той же функции, хоть и работает точно так же)
   и берем владышь о гражданстве.

=================================================================================
... Была бы голова, а уж с чем бодаться - мы всегда найдем :)
=================================================================================




* #WhiteUnicorn/ StartPage/ Heap/ Quest.Grazd >



- - * - Anastasija aka WhiteUnicorn - * - - LJLiveJournal
PFPhotoFile