Элементарный взлом программы сделать очень легко. В интернете я как-то читал статью о инструментах взлома программ, и вот решил сам хрякнуть программку. Не знаю почему, но выбор пал на DriverMax 4 (точную версию не помню). Скорее всего потому что у сестры был ноут, а надо было собрать оттуда все драйвера для сноса Висты. Ну дак вот... Для взлома программы нам понадобятся две программы - Win32 Disassembler и HackerView. Знания ассемблера конечно требуются, но так как там чисто сравнивается то, что мы ввели, достаточно знать назначение команд je, jne, jmp и подобных. Теперь перейдем к взлому... Для начала установим программы W32Dasm и HackView. Потом нам надо установить саму жертву взлома - ДрайверМакс. Я ничего против этой программы не имею (наоборот очень уважаю), но защита там, пардон, сделана через одно место. Итак, запускаем программу. В программе выбираем регистрацию. В форме ввода вводим всякую чепуху для того, чтобы получить хоть какое-то сообщение. После этого записываем его (куда угодно, но я предпочитал писать в Блокнот - удобнее), так как нам пригодится это в будущем. Теперь найдем саму программу, и сделаем ее резервную копию (на случай, если взлом не удастся). Затем открываем Wdasm. В нем нам надо загрузить саму программу, это требует времени для дизассемблирования, так что надо ждать... После того как загрузится программа, щелкаем Refs->String Data References. Там собрана база всех строк программы. Ищем там ту, которая выписана ( функции поиска нету, так что крутим прокрутку, пока не найдем такую строку - а она должна быть точно). Нашли - щелкаем. После щелчка сзади дизассемблер перейдет на ту позицию, где эта строка отображается. Чуток поднимемся по коду, пока не найдем оператор сравнения (je,jne). В строке состояния отметится позиция в коде (Называется Offset). И там будет число в Hex-системе (например 00001С43 - последний знак h не переписываем - он показывает на систему счисления). Его выпишем тоже... И так надо найти около 5 значений, близких и стоящих выше по коду... На всякий случай :-) Теперь очередь за HackView. Открываем его - он в DOS-оболочке. На экране появится что-то наподобие Фар-Менеджер - тут нам надо найти файл программы жертвы. После его открытия на экране мы увидим нечитаемый текст. Нажмем F4, а там выберем опцию Decode - теперь перед нами ассемблерный код. Затем жмем F5, и вводим наше число(которое выписали в дизассемблере) - сразу переместились на данную позицию. Теперь вы можете изменить значение команды - надо теперь объяснить назначение данных команд: je - равно - код 74; jne - не равно - код 75. Этого вполне достаточно, чтобы программу ломануть. Меняем параметр и сохраняемся... Теперь пытаемся запустить программу - если вы изменили байт правильно, то при введении любого серийника программа поблагодарит за регистрацию и снимет лимит времени. Если же произошла ошибка, то программа или не сделает ничего, или вылетит. Что ж, тогда надо вернуться на исходные позиции и повторить процедуру... Однако замечу, что взлом такой возможен только при слабой защите программы. А ведь есть много систем защиты - упаковщики, псевдокоды, запутывание кода, программы для загрязнения кода (обфускаторы) и защиты от дизассемблеров и дебаггеров. Чтобы ломануть такие программы, нужны не только более мощные процессоры в голове, но и оборудование более высокоуровневое... А чтобы ломануть такую программу, ничо умного не требуется... Так что удачи!
Кстати, для определения, что программа запакована или нет есть хакерская утилита PEiD. Она если файл запакован, скажет, какой упаковщик был использован. А если упаковщика нету, то будет отображено в какой IDE написана программа. Также можно воспользоваться любым редактором ресурсов. Если программа запакована, то ресурсы просмотреть будет нельзя.