Сейчас на форуме: vsv1 (+3 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Handy Recovery 4 - как к ней подступиться |
Посл.ответ | Сообщение |
|
Создано: 20 февраля 2008 13:16 · Личное сообщение · #1 Всем здрасьте. Такая проблема. Есть триальная программа, требует ввести код (Handy Recovery 4.0 - может кто знает). Хотел её отучить от кода, но не понял как к ней подступиться. Дело в том что OllyDbg, когда запускаешь прогу, виснет. Попробовал по шагам, оказалось что программа пытается вызвать несуществующие функции (без отладчика всё работает) Например вот что ОllyDbg показала. 0049BE39 |. FF50 20 CALL DWORD PTR DS:[EAX+20] DS:[00000020]=??? Вот из-за чего такое может быть? Опыта конечно ещё мало, но сдаваться тоже не охота. Дайте вектор направление, плиз! Вот сама программа - handyrecovery.com/handyrecovery.exe ![]() |
|
Создано: 20 февраля 2008 14:15 · Личное сообщение · #2 |
|
Создано: 20 февраля 2008 15:49 · Личное сообщение · #3 |
|
Создано: 20 февраля 2008 18:18 · Личное сообщение · #4 |
|
Создано: 20 февраля 2008 20:21 · Личное сообщение · #5 |
|
Создано: 20 февраля 2008 20:30 · Поправил: Bitfry · Личное сообщение · #6 Nukimi пишет: Что есть анализатор Die? Detect it Easy (поиск рулит). Но он тут ненужен. Прога не пакована. tempread пишет: Анализатор Die - это как PEid, только на порядок лучше(ищи на форуме). Спорный вопрос =). Всё дело в сигнатурах. Nukimi пишет: Вот из-за чего такое может быть? Ты хочешь узнать, есть ли там антиотладка? Ответ: нет. Это просто глюк программы, а точнее глюк обработки исключений, а ещё точнее из-за дисковода в списке дисков =). Поставь в опциях Оли игнарировать все исключения и всё должно быть нормально. С кряком не возился, но думаю, всё как и раньше (в версии 2, которую патчить можно в 1 байт). А ловил я тогда, если не ошибаюсь, банально на RegOpenKeyA (давно это было =). ----- Всем привет, я вернулся ![]() |
|
Создано: 22 февраля 2008 10:41 · Личное сообщение · #7 И снова я. Может кто даст подсказку какую нить. Я нашёл код и всё что с ним связано, но как писал ReZiDenT_USSR выше, программа пытается выйти в инет для регистрации. Как я понял хочет качнуть файл реестровый. Следовательно надо поймать, где программа при загрузке читает реестр и считает себя зарегистрированной? Я нашёл где она хранит код, нашёл кол-во запусков, но никак не могу поймать ключевой момент, что б прога была полнофункиональной. Просто интересно уже посмотреть, где этот волшебный байт. Bitfry Спасибо. Действительно из-за исключений не запускалась. Правда, в Option->Exceptions игнорировать все исключения не помогло почему то. Вроде все поставил. Помог Shift+F9. Ещё раз спасибо. ![]() |
|
Создано: 22 февраля 2008 13:48 · Личное сообщение · #8 Nukimi Ломал давненько трешку остался Dup файл RAW Offset | Old Byte | New Byte -----------------+----------+---------- 0007090A 8B B0 0007090B C7 01 .004708D9: 6894D24E00 push 0004ED294 ;'hrnkh' -- 2 .004708DE: 6800000080 push 080000000 ;'Ç ' .004708E3: FF150C804C00 call RegDeleteKeyA .004708E9: 8BC7 mov eax,edi .004708EB: F7D8 neg eax .004708ED: 1BC0 sbb eax,eax .004708EF: 66250CFD and ax,0FD0C ;'² ' .004708F3: 0500070000 add eax,000000700 .004708F8: 014620 add [esi][020],eax .004708FB: 834DFCFF or d,[ebp][-4],-1 ;' ' .004708FF: 8D4DF0 lea ecx,[ebp][-010] .00470902: E80C890300 call .0004A9213 -- 3 .00470907: 8B4DF4 mov ecx,[ebp][-00C] .0047090A: B001 mov al,1 <----------------- .0047090C: 5F pop edi .0047090D: 5E pop esi .0047090E: 64890D00000000 mov fs:[0],ecx .00470915: C9 leave .00470916: C20800 retn 8 ![]() |
|
Создано: 22 февраля 2008 16:03 · Личное сообщение · #9 Значит я правильно копал. Но тогда я не понял вот какой момент: 00499462 834D FC FF OR DWORD PTR SS:[EBP-4],FFFFFFFF 00499466 8D4D F0 LEA ECX,DWORD PTR SS:[EBP-10] 00499469 E8 33B80300 CALL HandyRec.004D4CA1 0049946E 8B4D F4 MOV ECX,DWORD PTR SS:[EBP-C] 00499471 8BC7 MOV EAX,EDI 00499473 5F POP EDI 00499474 5E POP ESI 00499475 64:890D 000000 MOV DWORD PTR FS:[0],ECX 0049947C C9 LEAVE 0049947D C2 0800 RETN 8 Если в программе, вместо 00499471 8BC7 MOV EAX,EDI поставить 00499471 B0 01 MOV AL,1 то программа считает себя зарегистрированной. НО если в отладке, в ручную, заменю в регистре EAX 0 на 1, то программа не считает себя зарегистрированной. А ведь это, вроде как, одно и тоже? ![]() |
|
Создано: 22 февраля 2008 18:19 · Личное сообщение · #10 |
|
Создано: 22 февраля 2008 23:04 · Личное сообщение · #11 daFix Дык, я знаю что AX это младшая часть EAX ![]() 00499471 8BC7 MOV EAX,EDI на 00499471 B0 01 MOV AL,1 потом сохраню как новый exe, то программа делается регистрированной. А если я пишу вручную, при отладке, регистр EAX = 1, программа не становится зарегистрированнной. Или это просто какой то глюк? ![]() |
|
Создано: 24 февраля 2008 01:09 · Личное сообщение · #12 |
|
Создано: 24 февраля 2008 01:22 · Личное сообщение · #13 |
|
Создано: 24 февраля 2008 07:40 · Личное сообщение · #14 |
|
Создано: 24 февраля 2008 22:54 · Личное сообщение · #15 И ещё раз я. Я понял почему так. Там просто этот кусок не один раз вызывался. А я только 1 раз правил EAX. Пополнил копилку знаний. Так как это моя 2 программа, хочу узнать, а можно ли её зарегистрирвать без патча. Кто нить пробовал? Я нашёл все функции для проверок: //Функция читает реестр. HKEY_CLASSES_ROOT/hrnkh //Там должно быть 2 параметра: "1" & "3" //1 = код, который мы вводили при регистрации //3 = не знаю, что сдесь должно быть 0049938A E8 D1FDFFFF CALL HandyRec.00499160 //Подсчёт некой суммы для кода, который мы вводили при регистрации 004993C8 E8 11EFFFFF CALL HandyRec.004982DE //Подсчёт суммы, для const строки 004993DA E8 FFEEFFFF CALL HandyRec.004982DE //А сдесь происходят все сравнения вычисленных сумм. 00496856 E8 DB000000 CALL HandyRec.00496936 //Всего 5 сравнений. 00496947 E8 B4580100 CALL HandyRec.004AC200 00496964 E8 97580100 CALL HandyRec.004AC200 00496991 E8 6A580100 CALL HandyRec.004AC200 004969A7 E8 54580100 CALL HandyRec.004AC200 004969D5 E8 26580100 CALL HandyRec.004AC200 При загрузке программы, всё это проверяется 3-жды + при вызове about. Но я не могу понять, а откуда берётся правильная сумма с которой сравнивается. Она, кстати, зависит от параметра "3" в HKEY_CLASSES_ROOT/hrnkh Из этого добра, можно получить правильный рег. файл, что б без патча? ![]() |
|
Создано: 25 февраля 2008 03:02 · Личное сообщение · #16 |
|
Создано: 26 февраля 2008 18:56 · Личное сообщение · #17 |
![]() |
eXeL@B —› Вопросы новичков —› Handy Recovery 4 - как к ней подступиться |
Эта тема закрыта. Ответы больше не принимаются. |