Это мой первый туториал, и поэтому я решил начать с чего-то попроще :). Не так давно прочитал статью о исследовании программы BadCopy99. В ней искали правильный серийник, но мы пойдём другим путём и сделаем из Unregistered version что-то наподобие кейгена. Для начала проверим exe-шник на наличие packer-ов. Запускаем PEID и открываем в нём (я предпочитаю drag-and-drop) наш BCopy99.exe. ASPack 1.07b -> Alexey Solodovnikov – выходит надо распаковывать. Это можно делать как вручную, так и с помощью всяких ASPack_to_Unpack-еров. После распаковки повторяем предыдущий шаг и видим – Borland Delphi 4.0 - 5.0. Отлично, превосходно, прога написана на Delphi (как далее выяснится на 4-той версии), поэтому пользоваться будем DeDe. Грузим распакованную программу в DeDe и везде жмём OK. После обработки переходим на вкладку Forms и видим всего 2 формы: TMainForm и TRegForm. На TRegForm, Button1.Caption = ‘OK’, и значит надо смотреть Button1 on Click. Переходим на вкладку Procedures и выбираем Button1Click. Ближе к концу кода видим такие строки: * Possible String Reference to: 'BadCopy' | 00473EFF B9943F4700 mov ecx, $00473F94 * Possible String Reference to: 'Register Code Error !' | 00473F04 BAD03F4700 mov edx, $00473FD0 а немного выше: * Possible String Reference to: 'BadCopy' | 00473ED9 B9943F4700 mov ecx, $00473F94 * Possible String Reference to: 'Check Register Code OK , Thanks for | your register' | 00473EDE BA9C3F4700 mov edx, $00473F9C а ещё выше, в глаза бросаются такие строки: * Reference to: System.Proc_00403E94 | 00473E1A E87500F9FF call 00403E94 00473E1F 0F84D8000000 jz 00473EFD Это и есть проверка номера на правильность! Меняем jz на jnz и при вводе неправильного кода прога радостно скажет нам, что она зарегана и создаст ключевой файл, который может быть использован даже в не crack-нутой программе, т.е. так можно делать key-файлы на любые имена :).