Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Станислав Гошко
Для того чтобы защитить программы от взлома, необходимо знать, против чего мы боремся. Будем считать, что мы являемся разработчиком программного обеспечения и нам противостоит взломщик среднего уровня. Почему среднего? Да потому, что если взломщик выше среднего уровня, то будет очень сложно создать защиту для программы, которую он бы не взломал (если не невозможно).
В большинстве своём крэкеры используют следующий инструментарий:
n отладчики (SoftICE, TRW, Turbo Debugger, ...)
n дизассемберы (IDA, W32 Dasm, Sourcer, ... )
n шестнадцатиричные редакторы (Hiew, Hex Workshop, ...)
n мониторы (FileMon, RegMon, ...)
Теперь рассмотрим, как в основном взламываются обычные программы на конкретных примерах.
Winzip 8.0
Загрузить SoftICE, поставить точку прерывания на GetDlgitemTexta, затем заполнить поля формы Winzip (name, serial_number; заполнить чем угодно) и нажать OK. Появится окно SoftICE, там поставить точку прерывания на 0167:00407AAB и посмотреть данные.
n bpx GetDlgItemTextA
n bpx 0167:00407AAB
n d eax
n В окне данных будет серийный номер, сгенерированный по вашему имени.
Hexworkshop 2.54
Ставим точку прерывания на GetWindowTexta, затем ставим точку прерывания по адресу 0167:004262AF. Трассируем без вхождения (F10) до второго перехода jnz. Этот второй переход выполняться не хочет, изменяем флаг нуля (в окне регистров наводим на Z и нажимаем INS).
Теперь убираем все точки прерывания:
bc *
и закрываем SoftICE – F5.
Вводим имя и фирму, на которую хотим зарегистрироваться. Вот и всё.
Winamp 2.xx
n bpx hmemcpy
n Вводим serial.
n Всплываем в SoftICE.
n Видим что-то вроде:
cmp eax, esi
два раза клацаем на эту строку, жмём F5.
n ? eax (там и хранится регистрационный код).
n Убираем точки прерывания, выключаем SoftICE.
Irfanview 2.0
Данная программа была препарирована за 5 минут, а делалось это так:
n Устанавливаем точку прерывания в SoftICE на MessageBoxA:
bpx MessageBoxA
n Всплывя в Irfan, мы видим кучу разных сравнений и несколько переходов. Моё внимание привлекла функция Kernel32, заполнив форму, я нашёл на неё переход и увидел, что переход находится по адресу: