![]() |
eXeL@B —› Вопросы новичков —› Олька сама обходит ошибки? |
Посл.ответ | Сообщение |
|
Создано: 04 августа 2006 10:57 · Личное сообщение · #1 Столкнулся с парадоксальной ситуацией??? Мучал одну прогу она без серийника ставиться не хотела - но спомощью анализа работы кряка для предыдущей версии я обошел серийник. Теперь она установилась и требует файл с лицензией. Когда я запустил ее в Ольке окна с предложением показать файл лицензии не возникло, а прога остановилась на строке "retn 4" c подсказкой " return to kernel32.7C81EB33" и выдала сообщение "Exception E06D7363 - use Shift+F7/F8/F9 to pass exception to program" Я нажал F9 - run - еще раза три было тоже самое и после этого прога стала работать полноценно!!! Только Олька останавливает ее при обращении к инструментам, приходиться нажимать опять F9. Может кто видел такое, может здесь ничего сложного исправить? ![]() |
|
Создано: 04 августа 2006 13:58 · Личное сообщение · #2 uav_2006 пишет: Может кто видел такое, может здесь ничего сложного исправить? И неоднократно. Иногда это защита от простых отладчиков, иногда просто нормальный процесс работы. Скажем так : "подпольная кухня" разработчиков". Раньше при каждой ошибке сообщали пользователю, теперь класс возрос : часть ошибок обрабатывается автоматически. Более того, некоторые обработчики ставят сами компиляторы. ![]() |
|
Создано: 04 августа 2006 14:50 · Личное сообщение · #3 tundra37После того как я Ольку спрятал прога начала работать в ней так же как и при обычном запуске. Методом научного тыка-нопа, я установил что (там две процедуры для проверки регистрации идущих друг за другом, ковырять их не хочется) если первую сначала занопить следом запускается вторая потом возвращается управление к вызову первой (ее уже надо запустить) потом опять вторую и прога работает. Там следующий код: (как это сделать?) 7C90EAEA 8BFF MOV EDI, EDI 7C90EAEC >8B4C24 04 MOV ECX, DWORD PTR SS:[ESP+4] 7C90EAF0 8B1C24 MOV EBX, DWORD PTR SS:[ESP] 7C90EAF3 51 PUSH ECX 7C90EAF4 53 PUSH EBX 7C90EAF5 E8 C78C0200 CALL 7C9377C1 ; first 7C90EAFA 0AC0 OR AL, AL 7C90EAFC 74 0C JE SHORT 7C90EB0A 7C90EAFE 5B POP EBX 7C90EAFF 59 POP ECX 7C90EB00 6A 00 PUSH 0 7C90EB02 51 PUSH ECX 7C90EB03 E8 11EBFFFF CALL ZwContinue ; second 7C90EB08 EB 0B JMP SHORT 7C90EB15 7C90EB0A 5B POP EBX 7C90EB0B 59 POP ECX 7C90EB0C 6A 00 PUSH 0 7C90EB0E 51 PUSH ECX 7C90EB0F 53 PUSH EBX 7C90EB10 E8 3DF7FFFF CALL ZwRaiseException 7C90EB15 83C4 EC ADD ESP, -14 ![]() |
|
Создано: 05 августа 2006 10:06 · Личное сообщение · #4 uav_2006 пишет: там две процедуры для проверки регистрации идущих друг за другом uav_2006 пишет: 7C90EB03 E8 11EBFFFF CALL ZwContinue ; second uav_2006 пишет: 7C90EB10 E8 3DF7FFFF CALL ZwRaiseException Если бы ты, не пытался без базовых знаний ломать программы, а побольше бы читал, то понял, что это системная DLL - KERNEL32.DLL и никакая это не проверка регистрации, а обработка исключительной ситуации. Вызов ZwRaiseException и приводит к сообщению про Shift+F9. Как говорила Эллочка-людоедочка : МР-Р-Р-А-К ! Не надо здесь ничего менять, ищи по адресам выше 77000000. Точнее, как я уже сказал : если все работает, то либо забей на это, либо читай маны про RaiseException. Правда я например обхожусь без этого. ![]() |
|
Создано: 05 августа 2006 10:28 · Личное сообщение · #5 |
|
Создано: 05 августа 2006 17:13 · Личное сообщение · #6 |
|
Создано: 07 августа 2006 09:33 · Личное сообщение · #7 |
|
Создано: 07 августа 2006 10:35 · Личное сообщение · #8 Скорее всего там идет что то типа try a:=a/0; except if not CheckRegstration then TreminateProcess; end; А раз ты говоришь что жмешь F9 (а не Shift+F9) значит прога в except не попадает и проверка не происходит. Короче читай мануалы по отладке и вообще обо всем. ----- Yann Tiersen best and do not fuck ![]() |
|
Создано: 07 августа 2006 16:31 · Личное сообщение · #9 |
![]() |
eXeL@B —› Вопросы новичков —› Олька сама обходит ошибки? |
Эта тема закрыта. Ответы больше не принимаются. |