Сейчас на форуме: ==DJ==[ZLO], Magister Yoda, Rio (+5 невидимых) |
eXeL@B —› Основной форум —› USB Guardant |
Посл.ответ | Сообщение |
|
Создано: 07 декабря 2004 22:55 · Поправил: Canakau · Личное сообщение · #1 Доброго времени суток честнОй компании. Давеча попалась мне прога "Цифровая фотограмметрическая система ЦНИИГАиК", короче по картографии. Защищена была USB ключиком, с надписью Guardant. Информации по отлому сей донглы я что-то не особенно обнаружил (мож искал не там) Единственная толковая статья от HEX'а, Но она дает общее представление об АПИ, а о том, как таки отломать ключ, ни слова. Et sic. Отломать получилось. К счастью, защита была так себе. И если господам гуру это уже не интересно, то для страждущих новичков типа меня, хочу поделиться технологией. Выжимки: прога была запакована аспаком 2.12 с этим особых проблем не возникло. Далее, я вышел на следующий блок: .00114782: C4FD les edi,ebp .00114784: FFFF ??? edi .00114786: EB02 jmps .00011478A -------- (2) .00114788: 07 pop es .00114789: 11C3 adc ebx,eax .0011478B: EB00 jmps .00011478D -------- (3) .0011478D: EB00 jmps .00011478F -------- (4) .0011478F: E9BBF6FFFF jmp .000113E4F -------- (5) IsKey .00114794: E941F7FFFF jmp .000113EDA -------- (6) 2 непонятных джампа, они не использовались, посему ничего определенного сказать о них не могу. .00114799: E9A2F7FFFF jmp .000113F40 -------- (7) .0011479E: E95AF9FFFF jmp .0001140FD -------- (8) ReadMem .001147A3: E9FAF9FFFF jmp .0001141A2 -------- (9) ReadMem1 Странное дело, но вызов этой штуки тоже самое, что и предыдущий. .001147A8: E970FAFFFF jmp .00011421D -------- (A) остальное не использовалось .001147AD: E9E6FAFFFF jmp .000114298 -------- (B) .001147B2: E93AFBFFFF jmp .0001142F1 -------- (C) .001147B7: E9D0FBFFFF jmp .00011438C -------- (D) .001147BC: E965FCFFFF jmp .000114426 -------- (E) .001147C1: E9FBFCFFFF jmp .0001144C1 -------- (F) .001147C6: E97FFDFFFF jmp .00011454A -------- (G) .001147CB: 90 nop в комплексе было 3 программы, и после первой проги, в остальных его я искал по сигнатуре (выбирайте с любого места ) далее в той-же IDA смотрите, откуда оно вызывается. С помощью ReadMem делаете полный дамп памяти ключа ReadMem(Passw: DWORD; addr:Word;Len:Word;Buff:Pointer):boolean Память ключа 256 байт. Пароль виден сразу в теле программы. Текст эмуля приводить не буду, ввиду его тривиальности (у меня он получился 349 байт вместе с дампом памяти). С помощью, например, LordPE открываем прогу, находим секцию (в моем случае .CODE) смотрим, где закончился код и пошли нули, туда впихиваем эмуль и меняем переходы ReadMem, IsKey на свои. Voila! Все заработало. |
|
Создано: 08 декабря 2004 21:51 · Личное сообщение · #2 |
|
Создано: 09 декабря 2004 13:42 · Личное сообщение · #3 |
|
Создано: 09 декабря 2004 14:00 · Личное сообщение · #4 |
|
Создано: 10 декабря 2004 08:25 · Личное сообщение · #5 Ара: Думаю, я воспользуюсь Вашим предложением. Единственно - я думал, что эта тема не очень интересна, тем более, что в данном случае не использовалась ф-ция Transform. Соответственно, защита не очень интересна. К вопросу об Inferno - Огромное ему спасибо. Его инструменты, хоть и не понадобились, но были весьма интересны. Ну, и г-ну Sable, тож спасибо огромное Dz: Совсем без эмуля никак. Пытался ф-ции АПИ обойти, прога почему-то дико глючила.. |
|
Создано: 10 декабря 2004 08:34 · Личное сообщение · #6 |
|
Создано: 11 декабря 2004 06:57 · Личное сообщение · #7 |
|
Создано: 11 декабря 2004 07:08 · Поправил: Ara · Личное сообщение · #8 |
|
Создано: 12 декабря 2004 07:32 · Личное сообщение · #9 |
|
Создано: 14 декабря 2004 02:03 · Поправил: DrZerg · Личное сообщение · #10 Доброго времени, уважаемый ALL! Сразу скажу - я новичёк. Если не трудно, помогите. Есть прога, закрытая GUARDANT`ом USB. С помощью envkiller12.exe снял конверт и вроде всё заработало. Но не тут-то было. Она в процессе работы через несколько секунд (10-15) опять юзает ключь и стопорится намертво. Я так думаю, что не всё раскриптовалось. Как энто дело побороть. Заранее благодарен. |
eXeL@B —› Основной форум —› USB Guardant |