![]() |
eXeL@B —› Вопросы новичков —› Взлом защиты |
Посл.ответ | Сообщение |
|
Создано: 16 мая 2013 21:59 · Личное сообщение · #1 Доброго времени суток. Крекинг изучаю не очень долго, и каждый раз пытаюсь взять программы с защитой посложнее, на этот раз наткнулся на вот такую программу http://gfile.ru/aY90 При ее запуске вылезает окошко с выбором регистрации на ПК или на Имя. после выбора появляется окно , а в нем текстовое поле с четырехзначным кодом и ниже кнопка "ОК" по ее нажатию программа закрывается. Программа написана на Delphi 2010. Смотрел через IDR, и там есть главная форма - сама программа. А вот как к ней выйти не могу сообразить, через какие процедуры. пробовал изменять выполнение процедуры по нажатию кнопки регистрации на создание главной формы, в программе просто вылетала ошибка. подскажите , как быть. буду очень благодарен ![]() |
|
Создано: 16 мая 2013 22:06 · Личное сообщение · #2 Начни с FormCreate, потом посмотри с точки входа, ну и в процедурах инициализации может быть что-то важное. Это так, общие советы, спрятано может быть где угодно, нужно смотреть саму программу. ![]() |
|
Создано: 16 мая 2013 22:54 · Личное сообщение · #3 |
|
Создано: 17 мая 2013 08:19 · Поправил: ELF_7719116 · Личное сообщение · #4 skew пишет: Ну я саму программу скинул, точнее ссылку указал, так что если хотите сами посмотреть "Знаете, я сделал большое дело - кинул ссылку, а Вам то всего навсего осталось взломать...". Одно из двух: 1) Вы идете в запросы на взлом 2) Берете отладчик и начинаете самостоятельно ее ковырять Code:
В процедуре по адресу 0071A39C, есть вложенная процедура(0071A078) которая собирает инфу о твоей системе(сначала о диске, через CreateFile->DeviceIoControl, а если админа нет, через GetVolumeInformation, затем CPU, и BIOS материнки), после проводит некоторые операции и сабмитит твою инфу по адресу http://qubebot.ru/agr/checkreg.php. (full_reg_code=XXXX-XXXX-XXXX-XXXX, prog=TRADER), в ответ приходит набор буков с двумя равно в конце (по секрету скажу, что это хэш BASE64): NXY3OA0KMjAxMy0wNS0xNw==, который расшифровывается как 4078 2013-05-17 (число, дата). Число используется чтобы найти файло с расширением .nona, в той же папке, где и traider.exe C:\target_folder\TRADER4078.nona... остальное можно почерпнуть в процедуре по адресу 0071F188. Code:
![]() |
|
Создано: 17 мая 2013 09:57 · Поправил: skew · Личное сообщение · #5 ELF_7719116 пишет: Знаете, я сделал большое дело - кинул ссылку, а Вам то всего навсего осталось взломать...". Одно из двух: Я не то имел ввиду. Сама программа меня нисколько не интересует, а только ее защита, приводя примеры, какие сделали вы в голове откладывается и из частей таких примеров складывается подробная картина, а так как многие программы написаны по одному принципу, то их будет взломать уже проще, так как когда-то, какие то хорошие люди помогли разобраться с одной. ![]() |
|
Создано: 17 мая 2013 10:11 · Личное сообщение · #6 |
|
Создано: 17 мая 2013 10:45 · Личное сообщение · #7 ELF_7719116 парой и люди могут намудрить так, что мозг ломается)) И если не трудно подскажите, всегда хотел узнать, вот код 0071FDB6 | EB 5A JMP 0071FE12 0071FDB8 | E9 AF94CEFF JMP 0040926C идут по порядку. Почему стоит нижний переход(зачем), если переход случится выше и никак тот, что ниже не заденет ? ![]() |
|
Создано: 17 мая 2013 10:47 · Поправил: Veliant · Личное сообщение · #8 |
|
Создано: 17 мая 2013 11:21 · Личное сообщение · #9 |
|
Создано: 17 мая 2013 11:29 · Личное сообщение · #10 Veliantтак нет если же стоит Jmp то если я вообще соображаю, то это моментальный переход, следовательно джамп ниже выполнится не может так как его перепрыгнули. ELF_7719116Кстати оказывается все было еще проще чем я думал, спасибо тебе )) От того адреса порылся в разных направлениях, нашел процедуру проверки покупки и теперь прога , как лицензия)) ![]() |
|
Создано: 17 мая 2013 11:58 · Личное сообщение · #11 |
|
Создано: 17 мая 2013 12:06 · Личное сообщение · #12 ELF_7719116XDD. Я же говорю мне интересно только обучение, поэтому и рад )) А если бы хотел навредить создателям просто выложил бы ее в паблик и всего то. Теперь хочу попробовать сделать так чтобы при нажатие "регистрация" программа становилась купленной. А то оказывается на каждом действие в программе стоит проверка на лицензию, а это долго менять. Теперь надо сообразить как это реализовать ![]() |
|
Создано: 17 мая 2013 12:53 · Личное сообщение · #13 skew пишет: Теперь надо сообразить как это реализовать У нас есть флаг регистрации(значение типа BOOL), если он равен 0 -> программа зарегистрирована, если 1 - над покупать. Клоню к тому, что несложно увидеть, что перед входом в функции проверки и следующей связи с сервером есть такой интересный переход: Code:
А теперь вопрос: ![]() |
|
Создано: 17 мая 2013 13:35 · Поправил: skew · Личное сообщение · #14 |
|
Создано: 17 мая 2013 14:41 · Личное сообщение · #15 skew Сейчас я Вас немного обрадываю ![]() Тут все хитрее, чем казалось! Оказывается есть еще такой участок кода, где проверяется флаг регистрации + несколько дополнительных проверок(меня в конце концов смутил тот факт, почему JNE и так далеко прыгает): Code:
Все что с "Error Licence" связано я поднопил/перепрыгнул. Вышел на это место, установив аппаратную точку останова по чтению/записи 7EDCF4. ![]() |
|
Создано: 17 мая 2013 15:59 · Поправил: skew · Личное сообщение · #16 |
|
Создано: 17 мая 2013 16:25 · Личное сообщение · #17 skew Первично проверяется там, а после уже вторично 00777473 CMP BYTE PTR DS:[7EDCF4],0 ... Самое главное: когда Добавить->Ok проверяется снова. дело в том, что как раз там же, где UNICODE "Error Licence" внизу идет процедура подключения к серверу, мы в любом случае должны туда попасть, а не перепрыгивать: Code:
![]() |
|
Создано: 17 мая 2013 18:25 · Поправил: skew · Личное сообщение · #18 ELF_7719116 то есть надо прыжок переставить в точку подключения, но через проверку? а если просто на просто поставить вместо JE -> JMP. Дабы не сравнивать ни с чем а попросту пропустить сверки с активацией Не пойму, поставил джамп на 0077FD35 /E9 823B0000 JMP 007838BC Запускаться запускается, добавляет тоже нормально, а подключаться не хочет. просто нажимаю "Подключиться" и ноль эмоций, просто ничего не выполняет ![]() |
|
Создано: 31 мая 2013 12:05 · Личное сообщение · #19 skew пишет: Сама программа меня нисколько не интересует, а только ее защита, приводя примеры, какие сделали вы в голове откладывается и из частей таких примеров складывается подробная картина, а так как многие программы написаны по одному принципу, то их будет взломать уже проще, так как когда-то, какие то хорошие люди помогли разобраться с одной. Защита в этой программе ни какого отношения к общепринятым методам защиты не имеет. Так что опыт может пригодиться только для одного - для взлома линейки программ nona-soft. ELF_7719116 пишет: "трейдеры" разоряться теперь из-за недополученных рублей Это навряд ли. Доход с этой программы "только на пиво". Массовой она не может быть по определению, т.к. число пользователей ограничено узким кругом играющих в Perfect World. Понятно что в случае появления взломанной версии в паблике данное ПО исчезнет из продажи и работы в этом направлении в рамках "для всех" будут прекращены. ![]() |
|
Создано: 31 мая 2013 16:08 · Личное сообщение · #20 |
|
Создано: 31 мая 2013 16:11 · Личное сообщение · #21 |
|
Создано: 31 мая 2013 17:15 · Личное сообщение · #22 |
|
Создано: 31 мая 2013 17:21 · Личное сообщение · #23 |
|
Создано: 31 мая 2013 17:27 · Личное сообщение · #24 |
|
Создано: 31 мая 2013 17:56 · Личное сообщение · #25 |
![]() |
eXeL@B —› Вопросы новичков —› Взлом защиты |