eXeL@B —› Крэки, обсуждения —› Подмена API функции |
<< . 1 . 2 . |
Посл.ответ | Сообщение |
|
Создано: 14 октября 2006 05:03 · Личное сообщение · #1 Доброго времени суток! Немного занимаюсь крякингом, и тут попалась программа IconLover v4.12. Программа триальная и работает только 30 дней. Загоняю в SoftIce и натыкаюсь на следующее: 001B:0040B228 CALL KERNEL32!GetLocalTime 001B:0040B22D MOV CX,[ESP+0E] 001B:0040B232 MOV DX,[ESP+0A] 001B:0040B237 MOV AX,[ESP+08] Т.е. запрашивается время(точнее число, месяц и год). Достаточно поменять например смещение на 0B(001B:0040B22D MOV CX,[ESP+0B]). В таком режиме программа будет бесконечно работать(только если ее крякнуть до первого запуска, т.к. она запоминает последнюю дату), считая, что у нас дата 0.0.0000. Лезем в exe файл hex редактором по адресу 0040B22D и .... ничего! Программа запакованна. Проверяем ее PEID-выдает asprotect. Распаковщик stripper 213b9 ее не берет - я так думаю одна из последних версий asprotect(2.22 или какая еще). Теперь вопрос: появились следующие мысли: Вариант 1. Возможно ли подменить/перехватить API функцию GetLocalTime, не влезая в атакуемую программу? Вариант 2. Возможно ли другой программой(допустим "виртуальным" кряком) изменить программу(точнее ее данные) прямо в памяти, после ее запуска. Но тут возникает следующая проблема, как сделать точку останова(остановить процесс) после распаковки, но до первого запуска функции GetLocalTime. Саму прогу можно взять тут: www.aha-soft.com/iconlover/iconlove.zip Особо строго не судите - я пока новичёк в этом деле Всем заранее спасибо. |
|
Создано: 17 октября 2006 08:02 · Личное сообщение · #2 |
<< . 1 . 2 . |
eXeL@B —› Крэки, обсуждения —› Подмена API функции |