ProTeuS
14.08.2006, 16:15
Мишень: HP-crackme (http://securityprobe.net/other/ProTeuS/HP.zip) (272кб)
Что еще нужно:
1. OllyDbg + плагины
2. ImpRec 1.6 Final
3. IDA
4. Ну и, естессно, некривые руки ;)
Для кого это написано?
Сею статья я написал, прежде всего, для новичков в крекинге, которым (как я слышал) зачастую не все понятно в несколько однобоком современном подходе к вопросу крекинга. Ведь со временем прямо на глазах исчезают туторы, где бы не описывалось только один из подходов реверсинга (только распаковка, восстановление импорта, правка в памяти кода программы, нахождение верного серийник, или пропатчивание проги), а все они использовались комплексно. Предчуствую, что "асы" крекинга c ухмылкой прочли прошлую строку и начнут мне твердить, что, например, распаковка - это уже больше половины выполненой работы. Но, несмотря на это, я решился написать тутор "от А до Я" - от ручной распаковки "жертвы" до ее взлома патчингом файла и нахождением верных регистрационных данных. Думаю, многим начинающим будет полезно "прощупать" различные варианты взлома крекми.
Ручная распаковка
http://securityprobe.net/other/ProTeuS/crackme.jpg
Так выглядит наш крекми
Запустим OllyDbg и загрузим в него наш крекми. Мы остановимся на EP и увидим такую картину:
http://securityprobe.net/other/ProTeuS/olly_load.jpg
Находим оригинальную точку входа
видим, что вызывается какая-то функция, которой передаются 3 аргумента. Далее выполняется прыжок на тоже пока не известный код. Замечаем, что по адресу 00482019 находится массив интересных строк. Судя по ним, наша программа запакована паковщиком PKLite и чтобы ее исследовать, модифицировать ее придется распаковывать. (пойдя путем наименьшего сопративления было решено воспользоваться плагином автораспаковки в PEID 0.92, но ему, почему-то, пакер пришелся "не по зубам"). Немного протрассировав код можно узнать, что по адресу 0040200F находится процедура распаковки упакованного "тела" программы. После завершения ее работы крекми в памяти будет находиться в полностью функционильном состоянии. Чтобы его отдампить нужно найти OEP. Самое интересное то, что сразу после процедуры распаковки и выполняется прыжок на эту самую OEP (JMP 00468A48). Жмем F8 и очутимся на ней. Теперь можно и дампить. Для этого можно использовать плагин к Оле OllyDump (Plugins-OllyDump-DumpDebuggedProcess-Dump). Появляется такое окно:
http://securityprobe.net/other/ProTeuS/oep.jpg
дампим...
Что еще нужно:
1. OllyDbg + плагины
2. ImpRec 1.6 Final
3. IDA
4. Ну и, естессно, некривые руки ;)
Для кого это написано?
Сею статья я написал, прежде всего, для новичков в крекинге, которым (как я слышал) зачастую не все понятно в несколько однобоком современном подходе к вопросу крекинга. Ведь со временем прямо на глазах исчезают туторы, где бы не описывалось только один из подходов реверсинга (только распаковка, восстановление импорта, правка в памяти кода программы, нахождение верного серийник, или пропатчивание проги), а все они использовались комплексно. Предчуствую, что "асы" крекинга c ухмылкой прочли прошлую строку и начнут мне твердить, что, например, распаковка - это уже больше половины выполненой работы. Но, несмотря на это, я решился написать тутор "от А до Я" - от ручной распаковки "жертвы" до ее взлома патчингом файла и нахождением верных регистрационных данных. Думаю, многим начинающим будет полезно "прощупать" различные варианты взлома крекми.
Ручная распаковка
http://securityprobe.net/other/ProTeuS/crackme.jpg
Так выглядит наш крекми
Запустим OllyDbg и загрузим в него наш крекми. Мы остановимся на EP и увидим такую картину:
http://securityprobe.net/other/ProTeuS/olly_load.jpg
Находим оригинальную точку входа
видим, что вызывается какая-то функция, которой передаются 3 аргумента. Далее выполняется прыжок на тоже пока не известный код. Замечаем, что по адресу 00482019 находится массив интересных строк. Судя по ним, наша программа запакована паковщиком PKLite и чтобы ее исследовать, модифицировать ее придется распаковывать. (пойдя путем наименьшего сопративления было решено воспользоваться плагином автораспаковки в PEID 0.92, но ему, почему-то, пакер пришелся "не по зубам"). Немного протрассировав код можно узнать, что по адресу 0040200F находится процедура распаковки упакованного "тела" программы. После завершения ее работы крекми в памяти будет находиться в полностью функционильном состоянии. Чтобы его отдампить нужно найти OEP. Самое интересное то, что сразу после процедуры распаковки и выполняется прыжок на эту самую OEP (JMP 00468A48). Жмем F8 и очутимся на ней. Теперь можно и дампить. Для этого можно использовать плагин к Оле OllyDump (Plugins-OllyDump-DumpDebuggedProcess-Dump). Появляется такое окно:
http://securityprobe.net/other/ProTeuS/oep.jpg
дампим...