| Установка и использование IDA Pro |
Дизассемблер позволяет получить ассемблерный текст программы из машинного кода (.exe или .dll модуля). Многие дизассемблеры могут определять имена вызываемых программой API-функций. IDA Pro отличается от других дизассемблеров тем, что он способен опознавать имена не только API-функций, но и функций из MFC (Microsoft Foundation Class - используется программами, написанными на Visual C++) и OWL (Object Windows Library - используется программами, написанными на Borland C++), а также стандартных функций языка Си (таких как fread(), strlen() и т.д.), включенных в код программы. |
Просмотров: 10354 | Скачиваний: 2567 |
Подробнее
|
|
| Регистрация WinZip 7.0 (beta) |
В этой статье мы попытаемся почувствовать себя настоящими исследователями программ. Конечно, это будут только первые робкие шаги, но именно они обычно являются определяющими для всей остальной работы в этом направлении. Нашей целью будет регистрация всемирно известной программы WinZip 7.0 (beta). В статье рассматривается build 1243, для более новой программы возможны некоторые отличия в адресах. Скопировать программу Вы можете с нашего FTP-сервера. Устанавливаем и запускаем WinZip. Сразу после старта появляется окно, сообщающее о том, что программа не зарегистрирована. Если программу не зарегистрировать это окно будет появляться при каждом новом запуске. Это неудобно! В меню Help выбираем пункт About WinZip... В появившемся окне нажимаем кнопку Register. Открывается окно регистрации. Вводим в поле Имя имя, под которым хотим зарегистрировать программу (я использовал Fox Mulder). В поле РН вводим любую информацию (я обычно использую 200001, чтобы потом при необходимости его легко было опознать) и нажимаем кнопку ОК. Появляется окно, сообщающее, что введена неполная или неверная информация. Обращаю Ваше внимание на это окно. Это типичное окно MessageBox (окно сообщения). Его отличительными чертами являются: |
Просмотров: 8326 | Скачиваний: 631 |
Подробнее
|
|
| Беседа о функциях |
При написании программ, часто возникает такая ситуация, когда необходимо одну и ту же последовательность команд использовать в разных частях программы. Было бы неразумным дублировать ее в каждом таком месте |
Просмотров: 7335 | Скачиваний: 885 |
Подробнее
|
|
| Разговор о регистрах |
Вступление Регистры является составной частью процессора. Они используются для временного хранения информации. Интенсивное использование регистров в программе определяется тем, что скорость доступа к ним намного больше, чем к ячейкам памяти. 32-х битные процессоры имеют 16 регистров. Мы рассмотрим лишь основные и наиболее часто используемые из них: регистры общего назначения, указатель инструкций, регистры сегментов и регистр флагов. Регистры общего назначения 32-х битные регистры общего назначения eax, ebx, ecx, edx, esi, edi, ebp и esp могут хранить следующие типы данных: Операнды для логических и арифметических операций Операнды для рассчета адресов Указатели на ячейки памяти |
Просмотров: 8796 | Скачиваний: 948 |
Подробнее
|
|
| Введение в режимы трассировки SoftICE |
Сегодня продолжаем учиться использовать SoftICE. Каждый исследователь программ должен уметь трассировать программы. Трассировкой мы будем называть процесс пошагового выполнения программы. Под шагом программы обычно понимается выполнение одной команды, но здесь есть некоторые тонкости, которые как раз связаны с режимами трассировки. |
Просмотров: 8280 | Скачиваний: 2716 |
Подробнее
|
|
| Исследование Opera 3.50 |
Впервые я услышал об браузере Opera, когда находился на одном из англоязычных cracker’ских сайтов. На этом сайте (как и на всех остальных) люто ненавидели все, что каким-либо образом связано с Microsoft, в результате чего каждые 30 секунд мой браузер MS IE 4.0 умолял меня заменить его на некий браузер Opera, находящийся по такому-то адресу. Позже, прочитав в журнале КомпьютерПресс статью, посвященную этой замечательной программе, я сразу же отправился на сайт компании-разработчика и скачал себе trial-версию Opera 3.50. Программа действительно очень хорошая – быстрая, небольшая, удобная. Это единственный браузер, способный составить какую-либо конкуренцию MS IE и NN. Интересно то, что время, которое вам предоставляет фирма-разработчик не является непрерывным промежутком времени между некоторыми числами, а складывается из количества дней, в течение которых вы пользовались этой программой. Т.е. 30 day trial по существу здесь означает 30 запусков программы в разные дни, поэтому для проверки expired time просто перевести время на 30 дней вперед недостаточно. |
Просмотров: 7253 | Скачиваний: 827 |
Подробнее
|
|
| Исследование компонентов Delphi |
Я работаю кем-то наподобие системного программиста, и вот увидел в Сети некий Компонент для Delphi, грозящийся сильно облегчить мне жизнь. Чтобы быть "канкретным", Компонент этот зовётся ODAC и означает сиё Oracle Data Access Components, версия 1.20, скопировать можно отсюда. Компонент этот выделяется среди прочих тем, что позволяет подключаться к Oracle- базам минуя BDE. Очень удобно, ибо не нужно на каждого клиента ставить BDE и теоретически должно работать раза в два быстрее. Скачал я его, инсталлировал в палитру компонентов, скомпилировал примеры, которые с ним поставляются (настоятельно рекомендую всегда это делать). Казалось бы всё совсем уже работает, но вот на исходе рабочего дня выяснилось, что оно не хочет работать без Delphi IDE в данной версии, а чтобы такого не было, предлагается купить нормальную версию всего за каких-то 69$ (и даже просто за 00 cents, что совсем уже удивительно). Я, конечно, не то чтобы уж какой-нибудь патологический жмот, но это сумма сейчас составляет половину моего monthly salary, так что эту мысль я отверг сразу. И стал я думать - как бы мне обойти сию неприятность. Было два подхода: |
Просмотров: 7481 | Скачиваний: 1251 |
Подробнее
|
|
| Исследование ReGet 1.3.2. |
К чему такой эпиграф ? А к тому, что на развелось слишком много народу, считающих себя более умными, чем другие; оно, конечно, что-то в этом может быть и есть. Однако, что-то мало кто из них может написать описание препарирования программы в понятной форме1). В общем, это их проблемы, а свою проблему в виде этой статьи я выношу на всеобщее обозрение Отчего бы не сломать более новую версию ? - спросит меня пытливый читатель. И будет совершенно неправ. Самая главная причина в том, что я живу в той же поганой стране 2), что и авторы сей не самой плохой программы на свете, и испытытываю на собственной заднице те же прелести проживания здесь, что и они. Короче, сокамерники мы, как бы. Так что зачем же так гадить людям - им ведь тоже нужно бабки делать как-то, вот когда следующая версия ReGet появится, тогда и 1.40, может быть, посмотрю. А пока, если шило в одном месте не даёт покоя, можете сами попробовать. |
Просмотров: 7323 | Скачиваний: 1121 |
Подробнее
|
|
| Исследование Multi-Edit 8.0. Программа с интересной защитой |
Пригодится как для начинающих так и для более продвинутых, заодно убеждаешься, что не всякую программу можно взломать только с помощью SoftICE - иногда надо думать головой. Вступление Недавно мне попался в руки такой редактор - Multi-Edit 7.0. Замечательная вещь, с почти не ограниченной функциональностью, поддержкой любого компилятора - одним словом - лучший редактор для программиста. Потом я поискал и нашел более новую версию - Multi-Edit 8.0. В ней добавлена поддержка Borland Delphi, C++ Builder, Watcom C, а также - прием/передача файлов по FTP. К сожалению, эта версия защищена - при загрузке появляетс сообщение о том, что это демо-версия, в процессе работы появляется то же сообщение, причем каждые 15 минут. Кроме того не работает поддержка FTP и действительно отсутсвует проверка английского правописания. Скопировать программу можно с сайта American Cybernetics. |
Просмотров: 8037 | Скачиваний: 976 |
Подробнее
|
|
| Как отучить игры от проверки CD-ROM (на примере Hellfire) |
Суть проблемы состоит в том, чтобы доказать программе, что винчестер на самом деле совсем не винчестер, а CD-ROM. Или скажем - как в данном случае - в выдаче за локальный CD сетевого, ну один CD на работе, а играть-то всем охота! Приступим. Цель - Функция GetDriveType(). Она возвращает тип диска, имя которого ей передали. Вот ее прототип: UINT GetDriveType |
Просмотров: 7751 | Скачиваний: 1025 |
Подробнее
|
|
|
|
|