![]() |
eXeL@B —› Вопросы новичков —› Пожалуйста помогите исправить ошибку |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 23 декабря 2006 22:34 · Поправил: Rio · Личное сообщение · #1 при запуске программа понимает что не зарегистрирована и закрывается, я занопил (в Olly) это место. Программа запускается, но поверх неё вылетает ошибка: "Exception EExternalException in module 3.exe at 008228B4? External exception C000001D" и всё закрывается. до исправления: //////////////////////////////////////////// 0059E377 |. 05 6C0B0000 ADD EAX,0B6C 0059E37C |. BA 03000000 MOV EDX,3 0059E381 |. E8 BE5CE6FF CALL 3.00404044 0059E386 |> A1 F8435A00 MOV EAX,DWORD PTR DS:[5A43F8] 0059E38B |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 0059E38D |. E8 5E4AE9FF CALL 3.00432DF0 0059E392 |. A1 F8435A00 MOV EAX,DWORD PTR DS:[5A43F8] 0059E397 |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 0059E399 E8 FA4DE6FF CALL 3.00403198 0059E39E |. A1 4C475A00 MOV EAX,DWORD PTR DS:[5A474C] 0059E3A3 |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 0059E3A5 |. E8 E26EE9FF CALL 3.0043528C 0059E3AA 33C0 XOR EAX,EAX 0059E3AC 5A POP EDX 0059E3AD 59 POP ECX 0059E3AE 59 POP ECX 0059E3AF 64:8910 MOV DWORD PTR FS:[EAX],EDX 0059E3B2 68 C7E35900 PUSH 3.0059E3C7 0059E3B7 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10] 0059E3BA E8 4959E6FF CALL 3.00403D08 0059E3BF C3 RETN 0059E3C0 ^E9 9F53E6FF JMP 3.00403764 0059E3C5 .^EB F0 JMP SHORT 3.0059E3B7 0059E3C7 5E DB 5E ; CHAR '^' ////////////////////////////////////////////////////////////// после исправления: 0059E386 > A1 F8435A00 MOV EAX,DWORD PTR DS:[5A43F8] 0059E38B . 8B00 MOV EAX,DWORD PTR DS:[EAX] 0059E38D . E8 5E4AE9FF CALL 3.00432DF0 0059E392 . A1 F8435A00 MOV EAX,DWORD PTR DS:[5A43F8] 0059E397 . 8B00 MOV EAX,DWORD PTR DS:[EAX] 0059E399 . E8 FA4DE6FF CALL 3.00403198 0059E39E . A1 4C475A00 MOV EAX,DWORD PTR DS:[5A474C] 0059E3A3 . 8B00 MOV EAX,DWORD PTR DS:[EAX] 0059E3A5 . E8 E26EE9FF CALL 3.0043528C//здесь отрывается программа 0059E3AA . 33C0 XOR EAX,EAX 0059E3AC . 5A POP EDX 0059E3AD . 59 POP ECX 0059E3AE . 59 POP ECX 0059E3AF . 64:8910 MOV DWORD PTR FS:[EAX],EDX 0059E3B2 . 68 C7E35900 PUSH 3.0059E3C7 ; ASCII "T(" 0059E3B7 . 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10] 0059E3BA . E8 4959E6FF CALL 3.00403D08 0059E3BF . 90 NOP 0059E3C0 . 90 NOP 0059E3C1 . 90 NOP 0059E3C2 . 90 NOP 0059E3C3 . 90 NOP 0059E3C4 . 90 NOP 0059E3C5 .-E9 EA542800 JMP 008238B4 0059E3CA 0A DB 0A 0059E3CB 58 DB 58 ; CHAR 'X' 0059E3CC E6 DB E6 ////////////////////////////////////// Программа написана на Дельфи 3 не запакована по объёму большая. Разъясните пожалуйста где ошибка. ![]() |
|
Создано: 23 декабря 2006 22:47 · Личное сообщение · #2 |
|
Создано: 23 декабря 2006 23:03 · Личное сообщение · #3 У проги объём большой почти 600 м, а насчёт регистрации я не знаю, но по моему она физ. ключом защищена, делал сейчас свои наподобие на Дельфи тоже хочу убрать выдаёт ошибку, может применить какие-нибудь команды кроме NOP чтобы как только она дошла до этого места то остановилась бы может ещё какие-нибудь варианты всю ночь копался. Снимок посмотри. ![]() ![]() |
|
Создано: 23 декабря 2006 23:07 · Личное сообщение · #4 |
|
Создано: 23 декабря 2006 23:20 · Личное сообщение · #5 |
|
Создано: 23 декабря 2006 23:24 · Поправил: Veliant · Личное сообщение · #6 |
|
Создано: 23 декабря 2006 23:48 · Личное сообщение · #7 |
|
Создано: 23 декабря 2006 23:56 · Личное сообщение · #8 |
|
Создано: 24 декабря 2006 00:10 · Личное сообщение · #9 если хочешь, то можно вставить переход, в твоём случае , если переход хочешь вклеить не больше чем на 255 байт то вместо каких-нибудь двух ненужных байтов пишешь EB и вторым байтом шестнадцатеричное число от 00 до FF в которое будет показывать на сколько байт ты хочешь перепрыгнуть(еще есть фишка прыжок вверх по коду и в низ но с этим сам разберись) ![]() |
|
Создано: 24 декабря 2006 00:13 · Личное сообщение · #10 |
|
Создано: 24 декабря 2006 00:42 · Поправил: Veliant · Личное сообщение · #11 |
|
Создано: 24 декабря 2006 01:04 · Личное сообщение · #12 |
|
Создано: 24 декабря 2006 04:44 · Личное сообщение · #13 |
|
Создано: 24 декабря 2006 09:33 · Личное сообщение · #14 |
|
Создано: 25 декабря 2006 03:40 · Личное сообщение · #15 |
|
Создано: 25 декабря 2006 07:23 · Поправил: DrFits · Личное сообщение · #16 Твоя программа у меня так и незапустилась, но попробуй не ret нопить (почему-учи ассемблер), а это: 0045562E . 8A45 FE MOV AL, BYTE PTR [EBP-2] ---> было ######################################## 0045562E B0 01 MOV AL, 1--->стало 00455630 90 NOP---------->стало P.S: отпиши что получается при этом!!! ----- Само плывет в pуки только то, что не тонет. ![]() |
|
Создано: 25 декабря 2006 08:22 · Личное сообщение · #17 to:DrFits сделал как ты написал программа не запускается, верней запускается и закрывается. попробовал занопить 0059e3c9 e80a58e6ff call 00403bd8 почему я привязался к этому вызову?, потому что в WinDasm32 на этом месте программа закрывается, сначала пошагово запускается, а на этом вызове всё закрывается после nop'а она полностью запускается, запускается и показывается, но вылетает исключение: Exception EExternalException in module 2.exe at 0019e3d0. External exception C000001D. прилагаю print screen ![]() ![]() |
|
Создано: 25 декабря 2006 21:07 · Личное сообщение · #18 |
|
Создано: 26 декабря 2006 01:28 · Личное сообщение · #19 |
|
Создано: 27 декабря 2006 05:07 · Личное сообщение · #20 |
|
Создано: 27 декабря 2006 07:00 · Поправил: Rio · Личное сообщение · #21 |
|
Создано: 28 декабря 2006 01:13 · Личное сообщение · #22 Rio Чет я тебя не пойму. Вот цитата из Help: <Регистрация системы Незарегистрированная версия системы "АвтоКаталог "предусматривает только один запуск в текущем сеансе Windows.> То есть даже не зарегистрированная версия один раз должна запускаться в текущем сеансе Windows. Если у тебя прога вообще не запускается, тогда тебе не регистрацию надо ковырять ![]() В аттаче запущен файл который я тебе отправлял. Работает на 3 компах с разными ОС ЗЫ. Когда прога вылетает, сообщения выдает ? ![]() ![]() |
|
Создано: 28 декабря 2006 04:22 · Личное сообщение · #23 |
|
Создано: 28 декабря 2006 04:45 · Личное сообщение · #24 Вот другой вариант, что выскакивает после правки в процедуре close ![]() ![]() |
|
Создано: 28 декабря 2006 05:01 · Личное сообщение · #25 |
|
Создано: 28 декабря 2006 05:05 · Личное сообщение · #26 |
|
Создано: 28 декабря 2006 05:09 · Поправил: Rio · Личное сообщение · #27 |
|
Создано: 28 декабря 2006 05:44 · Поправил: crc1 · Личное сообщение · #28 Дык ептать, с этого и надо было начинать. А то как немой с глухим разговариваем ![]() В логе по русски написано "Отсутствуют либо повреждены файлы, необходимые для запуска системы!" а ты пишешь: при запуске программа понимает что не зарегистрирована и закрывается, я У тебя либо прога криво инстальнулась, либо система кривая, либо незнаю чаво Ты прогу с дистрибутива ставил али как И на будущее, когда задаешь вопрос старайся описать проблему ширше и в одном посте: что, при каких условиях, какие сообщения (или отсутствие оных), что бы клещами не вытягивать PS. пока писал ты еще один пост состряпал, сразу нельзя было Прога с базами 330 метров весит, сам инстал 13 метров, если надо могу инстал на рапиду выложить правда версия 10.2 но это по барабану ![]() |
|
Создано: 28 декабря 2006 07:21 · Личное сообщение · #29 |
|
Создано: 28 декабря 2006 22:08 · Личное сообщение · #30 |
. 1 . 2 . >> |
![]() |
eXeL@B —› Вопросы новичков —› Пожалуйста помогите исправить ошибку |