Посл.ответ |
Сообщение |
Ранг: 24.4 (новичок) Активность: 0.04↘0 Статус: Участник
|
Создано: 26 декабря 2005 14:01 · Личное сообщение · #1
Привет всем!!!
Поиск не дал результата, вот и создал топик.
Подскажите пожайлуста как востановить CRC. Где то читал, перерыл много статей, так не нашщел.
Если есть у кого на примере статья по взлому с примером CRC - киньте линк.
Заранее спасибо.
| Сообщение посчитали полезным: |
|
Ранг: 54.9 (постоянный) Активность: 0.02↘0 Статус: Участник
|
Создано: 26 декабря 2005 14:14 · Личное сообщение · #2
CRC чего? архива, PE файла?
| Сообщение посчитали полезным: |
Ранг: 88.0 (постоянный) Активность: 0.07↘0 Статус: Участник
|
Создано: 26 декабря 2005 15:28 · Поправил: rep0A · Личное сообщение · #3
dragon-gor
Вот плагин для PEiD.
[добавлено]
Если тебе надо именно взломать, то это зависит от самой проги. Например если просто появляется окно, то попробуй убрать его как наг.
4f9e_crc32.rar.zip
| Сообщение посчитали полезным: |
Ранг: 123.7 (ветеран) Активность: 0.1↘0 Статус: Участник 1nn0$/100
|
Создано: 26 декабря 2005 16:12 · Поправил: 1nn0cent · Личное сообщение · #4
dragon-gor пишет:
востановить CRС
Лично мне еще не приходилось сию гадость восстанавливать, ИМХО проще убрать проверку.
----- Blame the victim! | Сообщение посчитали полезным: |
Ранг: 24.4 (новичок) Активность: 0.04↘0 Статус: Участник
|
Создано: 26 декабря 2005 17:07 · Личное сообщение · #5
А как её убрать?
В общем такая проблема, пытаюсь снять триал.
Ловлю на GetLocalTime, попадаю:
00408B78 /$ 83C4 E8 ADD ESP, -18
00408B7B |. 8D4424 08 LEA EAX, DWORD PTR SS:[ESP+8]
00408B7F |. 50 PUSH EAX ; /pLocaltime = NULL
00408B80 |. E8 5BD0FFFF CALL <JMP.&kernel32.GetLocalTime> ; \GetLocalTime
Решил поэксперементировать: LEA EAX, DWORD PTR SS:[ESP+8] заменить на mov eax,1 -> RunTime Error.
Пробывал нопить - тоже самое.
Появилась подозрение на CRC. Мож что не так делаю?
Программа MyProxy по ссылке (файл распакованный вложен) h__p://webfile.ru/715375
размер 1.120к
| Сообщение посчитали полезным: |
Ранг: 392.8 (мудрец), 108thx Активность: 0.26↘0.01 Статус: Участник REVENGE сила, БеХоЦе могила
|
Создано: 26 декабря 2005 17:55 · Личное сообщение · #6 |
Ранг: 24.4 (новичок) Активность: 0.04↘0 Статус: Участник
|
Создано: 26 декабря 2005 18:14 · Личное сообщение · #7
они распаковывали и версия ранняя
| Сообщение посчитали полезным: |
Ранг: 115.8 (ветеран) Активность: 0.08↘0 Статус: Участник
|
Создано: 26 декабря 2005 18:14 · Личное сообщение · #8
CRC элементарно через PeID ищется (KAnal). Смотришь смещение процедуры CRC в файле. Доходишь до неё, патчишь. Либо выходишь из этой процедуры на уровень вверх и патчишь переход там.
----- Ни одно доброе дело не должно остаться безнаказанным !!! | Сообщение посчитали полезным: |
Ранг: 24.4 (новичок) Активность: 0.04↘0 Статус: Участник
|
Создано: 26 декабря 2005 18:30 · Личное сообщение · #9
здесь версия ранешняя и они распаковывали её.
| Сообщение посчитали полезным: |
Ранг: 1288.1 (!!!!), 273thx Активность: 1.29↘0 Статус: Участник
|
Создано: 26 декабря 2005 18:38 · Личное сообщение · #10
dragon-gor пишет:
Решил поэксперементировать: LEA EAX, DWORD PTR SS:[ESP+8] заменить на mov eax,1
А можно узнать, с какой целью была такая замена сделана???
| Сообщение посчитали полезным: |
Ранг: 605.2 (!), 341thx Активность: 0.47↘0.25 Статус: Модератор Research & Development
|
Создано: 26 декабря 2005 19:37 · Личное сообщение · #11
dragon-gor пишет:
Ловлю на GetLocalTime, попадаю:
00408B78 /$ 83C4 E8 ADD ESP, -18
00408B7B |. 8D4424 08 LEA EAX, DWORD PTR SS:[ESP+8]
00408B7F |. 50 PUSH EAX ; /pLocaltime = NULL
00408B80 |. E8 5BD0FFFF CALL <JMP.&kernel32.GetLocalTime> ; \GetLocalTime
Решил поэксперементировать: LEA EAX, DWORD PTR SS:[ESP+8] заменить на mov eax,1 -> RunTime Error.
Пробывал нопить - тоже самое.
командой lea eax, dword ptr [esp+8] берётся адрес переменной, потом этот адрес передаётся в функцию GetLocalTime
push eax ; адрес структуры SYSTEMTIME
именно поэтому прога и слетает, т.к. твои эксперименты с eax ведут к передаче неправильного указателя
копать надо не здесь
----- EnJoy! | Сообщение посчитали полезным: |
Ранг: 24.4 (новичок) Активность: 0.04↘0 Статус: Участник
|
Создано: 26 декабря 2005 21:58 · Личное сообщение · #12
Цель была вот в чем.
Нашел переход, изменил, исчезла надпись триала, только прога думает будто её запускают в первый раз и приходится закрывать окно настройки (если бы остался допустим 1 день, то я думаю проблему решил бы). Если это дело было бы на си, я просто вызов занопил, а как найти его в дельфи - ума не приложу. У кого есть какие соображения?
| Сообщение посчитали полезным: |
Ранг: 467.7 (мудрец), 5thx Активность: 0.27↘0 Статус: Участник Иной :)
|
Создано: 26 декабря 2005 22:39 · Личное сообщение · #13
dragon-gor
если прога триальная по времени, то лучше найти сверку времени с константой и увеличить её или же сверку поправить малец, а то что ты гробишь таймер это совсем не зер гуд!
----- Computer Security Laboratory | Сообщение посчитали полезным: |
Ранг: 123.7 (ветеран) Активность: 0.1↘0 Статус: Участник 1nn0$/100
|
Создано: 26 декабря 2005 23:11 · Личное сообщение · #14
dragon-gor пишет:
А как её убрать?
Ну чтобы программке узнать что ее пропатчили, ей необходимо себя прочитать (CreateFileA). А дальше очевидно будут произведены какие-то подсчеты, результат которых будет сравниваться с константой. Собственно тут и убираем =) (JMP или NOP)
----- Blame the victim! | Сообщение посчитали полезным: |
Ранг: 467.7 (мудрец), 5thx Активность: 0.27↘0 Статус: Участник Иной :)
|
Создано: 26 декабря 2005 23:58 · Личное сообщение · #15
1nn0cent
пост Jupiter'а глянь ;) CRC тут скорей всего и не причем! На будующее может совет кому нить и пригодиться, но явно в данной ситуации он не потребуется.
----- Computer Security Laboratory | Сообщение посчитали полезным: |
Ранг: 24.4 (новичок) Активность: 0.04↘0 Статус: Участник
|
Создано: 27 декабря 2005 11:08 · Личное сообщение · #16
Искал где задается счетчик отчета дней, таки не нашел (с дельфи не дружу). Заменил по адресу 40С297 jnz -> jmp. Сообщение об триале, и как писал, прога запускается как в первый раз. Ребята, если не трудно, ткните ещё зелёному, где искать ентот счётчик
| Сообщение посчитали полезным: |
Ранг: 84.8 (постоянный) Активность: 0.04↘0 Статус: Участник
|
Создано: 27 декабря 2005 14:42 · Личное сообщение · #17
dragon-gor пишет:
Заменил по адресу 40С297 jnz -> jmp. Сообщение об триале, и как писал, прога запускается как в первый раз.
Что-то мне кажется, что если в результате такой замены прога начинает думать, что ее запускают в первый раз, то ходить на этот адрес как раз и не стоит Вместо jmp, занопь.
| Сообщение посчитали полезным: |
Ранг: 123.7 (ветеран) Активность: 0.1↘0 Статус: Участник 1nn0$/100
|
Создано: 27 декабря 2005 16:20 · Личное сообщение · #18
[HEX]
пост читал... Ситуация действительно не та, но dragon-gor не знает что с CRC делать, поэтому и написал =) Да и топик так называется...
----- Blame the victim! | Сообщение посчитали полезным: |
Ранг: 24.4 (новичок) Активность: 0.04↘0 Статус: Участник
|
Создано: 27 декабря 2005 16:58 · Личное сообщение · #19
Черт, по 40с97 jnz -> jmp - под...., прога сбрасывает счетчик, только работает в offline. Как я понял что счетчик в реестре видать прописывается, на что ловить тогда?
| Сообщение посчитали полезным: |
Ранг: 84.8 (постоянный) Активность: 0.04↘0 Статус: Участник
|
Создано: 27 декабря 2005 17:40 · Личное сообщение · #20
Как обычно:
RegOpenKeyExA
RegQueryValueExA
RegSetValueExA
Но лучше сначала помониторь...
| Сообщение посчитали полезным: |
Ранг: 116.7 (ветеран) Активность: 0.1↘0 Статус: Участник
|
Создано: 27 декабря 2005 17:58 · Поправил: Mifodix · Личное сообщение · #21
dragon-gor, Regmon тебе в руки и ищи подозрительные ключи в реестре. Результат, наверно, не заставит себя ждать. А потом уже олю в руки и ставь бряки на обращение к реестру.
ЗЫ TOG опередил
| Сообщение посчитали полезным: |
Ранг: 24.4 (новичок) Активность: 0.04↘0 Статус: Участник
|
Создано: 30 декабря 2005 16:57 · Личное сообщение · #22
Regmon не понадобился, нашел я цикл, подправил, только прога запускает насройки каждый раз, а отловить где именно не могу. ShowWindow безконца брякает. Может кто посмотрит, плиз.
Патч:
490449 je ->jne
490496 je ->jne
надпись:
404046 je -> jmp
| Сообщение посчитали полезным: |
Ранг: 24.4 (новичок) Активность: 0.04↘0 Статус: Участник
|
Создано: 30 декабря 2005 17:01 · Личное сообщение · #23
Кстати, чирканите как CRC обходить, знать полезно
| Сообщение посчитали полезным: |
Ранг: 160.1 (ветеран) Активность: 0.07↘0 Статус: Участник
|
Создано: 30 декабря 2005 17:36 · Личное сообщение · #24
hxxp://reng.ru/board/viewtopic.php?t=1637&highlight=crc
| Сообщение посчитали полезным: |
Ранг: 25.0 (посетитель) Активность: 0.01↘0 Статус: Участник
|
Создано: 31 декабря 2005 12:39 · Личное сообщение · #25
Ой, да CRC могут восстановить:: PETools by NEOx; LordPE; ProcDump; plugins PEiD; ...
| Сообщение посчитали полезным: |
Ранг: 24.4 (новичок) Активность: 0.04↘0 Статус: Участник
|
Создано: 01 января 2006 19:11 · Личное сообщение · #26
так там надо вводить врокак размер? А я еще зеленый. Я имел ввиду как обойти проверку
| Сообщение посчитали полезным: |
Ранг: 24.4 (новичок) Активность: 0.04↘0 Статус: Участник
|
Создано: 01 января 2006 19:22 · Личное сообщение · #27
А кто нибуть пробывал убрать наг?
В деде просматривал, нашел начало формы, но не нашел ссылку на кнопку close (думал поставить джамп, мож прокатет)?
| Сообщение посчитали полезным: |
Ранг: 88.0 (постоянный) Активность: 0.07↘0 Статус: Участник
|
Создано: 02 января 2006 16:28 · Поправил: rep0A · Личное сообщение · #28
dragon-gor пишет:
А кто нибуть пробывал убрать наг?
Да.
4B85BD 75 EB
4B8601 7F EB
bp ShowWindow и F9 пока не будет нужное окно(раз 15). Теперь нажимаем Execute till return и F7 пока не дойдём до цикла сообщений диалога(43054А). Обычно я ставлю бряк на ближайший, нижний рет, но в данном случае прога убивает себя ещё до закрытия диалога. Что-то типа OnButtonCloseClick(){ ExitProcess,0 }. Поэтому ставим бряк на начало процедуры(430438) и перезапускаем прогу. И вот когда мы стоим на 430438 нажимаем пробел, вводим ret и нажимаем F7. Вот с этого места надо искать подозрительные переходы. Но сначала на всякий случай уберём наш рет из процедуры: View->Patches, правой кнопкой мышки на патче, Restore original code и View->CPU. Смотрим что у нас в верху. А у нас там ничего интересного, ниодного перехода который перепрыгивал бы наш вызов. Поэтому жмём F8 пока не окажемся здесь:
004B85BA . 8038 00 CMP BYTE PTR DS:[EAX],0
004B85BD 74 30 JE SHORT _MyProxy.004B85EF ;интересный переход
004B85BF . A1 80384C00 MOV EAX,DWORD PTR DS:[4C3880]
004B85C4 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
004B85C6 . BA 03000000 MOV EDX,3
004B85CB . E8 9C28FCFF CALL _MyProxy.0047AE6C ;вызов нага
004B85D0 . A1 88364C00 MOV EAX,DWORD PTR DS:[4C3688] ;мы здесь
004B85D5 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
004B85D7 . B2 01 MOV DL,1
004B85D9 . E8 C26DFCFF CALL _MyProxy.0047F3A0
004B85DE . 8BC6 MOV EAX,ESI
004B85E0 . E8 3F6B0000 CALL _MyProxy.004BF124
004B85E5 . A1 94394C00 MOV EAX,DWORD PTR DS:[4C3994]
004B85EA . C600 00 MOV BYTE PTR DS:[EAX],0
004B85ED . EB 25 JMP SHORT _MyProxy.004B8614
004B85EF > 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4] ;еслиб тогда прыгнули, оказались бы здесь
004B85F2 . E8 313CF5FF CALL _MyProxy.0040C228
004B85F7 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004B85FA . E8 91B8F4FF CALL _MyProxy.00403E90
004B85FF . 85C0 TEST EAX,EAX
004B8601 7F 11 JG SHORT _MyProxy.004B8614 ;ещё один интересный переход
004B8603 . A1 80384C00 MOV EAX,DWORD PTR DS:[4C3880]
004B8608 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
004B860A . BA 04000000 MOV EDX,4
004B860F . E8 5828FCFF CALL _MyProxy.0047AE6C ;ещё один вызов нага
004B8614 > 8B86 9C020000 MOV EAX,DWORD PTR DS:[ESI+29C]
Теперь осталось только поправить переходы в нужную сторону и сохранить файл ;)
| Сообщение посчитали полезным: |
Ранг: 24.4 (новичок) Активность: 0.04↘0 Статус: Участник
|
Создано: 05 января 2006 14:35 · Личное сообщение · #29
Спасибо
Сейчас буду разбираться.
| Сообщение посчитали полезным: |
Ранг: 303.7 (мудрец), 4thx Активность: 0.19↘0 Статус: Участник tPORt Manager
|
Создано: 05 января 2006 18:37 · Личное сообщение · #30
dragon-gor
Блин, а я для тебя зачем почти самую последнюю версию заинлайнил?
| Сообщение посчитали полезным: |