Текущий архив: 2010.09.12;
Скачать: CL | DM;
Вниз
Помогите пропатчить dll. Обход ошибочного кода. Не взлом! Найти похожие ветки
← →
12 © (2010-05-19 12:02) [0]Исходные данные
Ошибка приложения httpd.exe, версия 2.2.14.0, модуль ntwdblib.dll, версия 2000.80.194.0, адрес 0x0001f15a.
дизассемблировал ntwdblib.dll, смотрю
EntryPoint:
73321000 55 push ebp
правильно ли будет, если прибавлю 0x0001f15a и посмотрю на
7334015A E831D9FEFF call SUB_L7332DA90
эта строка в блоке
........
L73340150:
push 00000004h
lea ecx,[ebp-0Ch]
push ecx
mov edx,[ebp+08h]
push edx
call SUB_L7332DA90
test eax,eax
jnz L7334016A
xor eax,eax
jmp L7334024D
L7334016A:
mov eax,[ebp+18h]
.........
если сюда nop поставить, будет ли это не вызывать код, который вызвал ошибку?
← →
Дмитрий С © (2010-05-19 12:14) [1]http://forum.ugatu.net/index.php?s=def406a4a142e0fde038a9a81166fe41&showtopic=1050&st=0&p=15137&#entry1 5137
mssql?
← →
12 © (2010-05-19 12:21) [2]
> http://forum.ugatu.net/index.php?s=def406a4a142e0fde038a9a81166fe41&showtopic=1050&st=0&p=15137&#entry1
> 5137
SYSTEM стоит, с полными правами
да, mssql.. таки и делает беременной голову второй месяц уже..
http://delphimaster.net/view/15-1271830825/
← →
Rouse_ © (2010-05-19 12:55) [3]вызов call SUB_L7332DA90 вызывает ошибку?
Если да то для отключения замени этот вызов вот таким опкодом:
B801000000 mov eax,$00000001
как раз по размеру один в один должно подойти
← →
12 © (2010-05-19 13:42) [4]
> вызов call SUB_L7332DA90 вызывает ошибку?
я не знаю..
я спрашиваю, правильно ли определил место
7334015A E831D9FEFF call SUB_L7332DA90
если
EntryPoint:
73321000 55 push ebp
а в сообщении ошибка "адрес 0x0001f15a"
или вообще не так считать надо и в общем случае посчитать нельзя?
← →
Rouse_ © (2010-05-19 14:27) [5]Полный текст ошибки приведи плз.
← →
oxffff © (2010-05-19 14:30) [6]Удалено модератором
Примечание: ы?
← →
oxffff © (2010-05-19 14:35) [7]Текст ошибки в студию.
← →
Rouse_ © (2010-05-19 14:38) [8]А вообще поиск нужно начинать не от EP а от HInstance библиотеки, т.е. LoadLibrary() + 0x0001f15a
← →
12 © (2010-05-19 15:08) [9]Текст ошибки в студию.
Не понимаю наверное немного - кажись, все привел уже..
Происходит это так: Запускаю IE, набираю адрес, ничего не происходит секунд 20, потом IE выдает ошибку на сервере.
В Eventloge вижу:
Тип события: Ошибка
Источник события: Application Error
Категория события: (100)
Код события: 1000
Дата: 19.05.2010
Время: 10:20:13
Пользователь: Н/Д
Компьютер: SAR-279
Описание:
Ошибка приложения httpd.exe, версия 2.2.14.0, модуль ntwdblib.dll, версия 2000.80.194.0, адрес 0x0001f15a.
Данные:
0000: 41 70 70 6c 69 63 61 74 Applicat
0008: 69 6f 6e 20 46 61 69 6c ion Fail
0010: 75 72 65 20 20 68 74 74 ure htt
0018: 70 64 2e 65 78 65 20 32 pd.exe 2
0020: 2e 32 2e 31 34 2e 30 20 .2.14.0
0028: 69 6e 20 6e 74 77 64 62 in ntwdb
0030: 6c 69 62 2e 64 6c 6c 20 lib.dll
0038: 32 30 30 30 2e 38 30 2e 2000.80.
0040: 31 39 34 2e 30 20 61 74 194.0 at
0048: 20 6f 66 66 73 65 74 20 offset
0050: 30 30 30 31 66 31 35 61 0001f15a
Пробовал менять dll, нашел в инете 3 версии, подставлял каждую.
Сейчас стоит самая неглючная (критерий: количеству перезапусков Апача. Потому что, всякая версия из этих 3х, работала в конце концов, после того как рестартовал службу апача. Но иногда приходилось по 15 раз рестартовать а иногда раза 2-3 хватало.)
Причем, эта ошибка случается только тогда, когда Апач только стартовал и происходит первое обращение к скрипту PHP, который использует коннект к mssql. После того, как один раз нормально подцепился сервак - все, больше никогда не вылетает, до след.перезагрузки.
После перезагрузки, как правило, опять - Запускаю IE, набираю адрес, ничего не происходит секунд 20, потом IE выдает ошибку на сервере.
Вообщем, вывод, имхо, такой: Надо не выполнять некий код в этой dll.
Для этого его надо локализовать и занопить..
← →
Rouse_ © (2010-05-19 15:17) [10]Не факт что нужно нопить. Выложи на рапиду библиотеку, которая выдает ошибку - гляну.
← →
GrayFace © (2010-05-19 21:30) [11]Может, в системе чего-то наустановлено, что конфликтует?
← →
12 © (2010-05-20 13:17) [12]
> Выложи на рапиду библиотеку, которая выдает ошибку - гляну.
если будет время - был бы признателен
вот эта у меня сейчас
http://www.dll.ru/dll/11999.html
← →
Rouse_ © (2010-05-20 14:21) [13]Ошибка происходит вот здесь:
7333F15A MOVSX EAX,BYTE PTR DS:[EDX]
Это внутри тела неэкспортируемой функции, расположенной по адресу 7333F130
Судя по коду функция копирует данные расположенные между двумя кавычками (символ CHAR($27))
Причем код выполнен так что если такого символа в строке не будет - то будет большой бадабум.
Сейчас пропатчу, только немного времени нужно ибо функию с нуля ручками перебирать придется.
← →
12 © (2010-05-20 14:33) [14]спасибо! Буду ждать
← →
Rouse_ © (2010-05-20 15:13) [15]Проверяй, патчилось все на коленке - протестировал АV не выдает.
В случае если кавычка не найдена то функция просто не копирует ничего.
http://rouse.drkb.ru/other/ntwdblib_patched.zip
← →
12 © (2010-05-20 15:26) [16]спасибо еще раз
теперь перезагрузки надо ждать, прямо сейчас не могу перегрузится
← →
Rouse_ © (2010-05-20 15:27) [17]Опсь - пардон скачай еще раз, я там забыл после одной из проверок стек выровнять. Адрес тот-же
← →
12 © (2010-05-20 15:27) [18]ок.
← →
Rouse_ © (2010-05-26 19:25) [19]Ну так что в итоге? Оно?
← →
12 © (2010-05-27 09:05) [20]
> Rouse_ © (26.05.10 19:25) [19]
Двое суток - полет нормальный :)
Спасибо!
← →
12 © (2010-05-27 09:16) [21]Розыч, можно и выложить где, объявив как-то типа "Рабочая ntwdblib.dll"
Просто интересно, сколько закачек будет файла
← →
Rouse_ © (2010-05-27 14:02) [22]Вечерком могу у себя на сайте разместить, но только если ты текст с описанием сделаешь, что именно этот патч правит. Бо я далек от баз и SQL-я и боюсь описание у меня кривоватое выйдет :)
← →
12 © (2010-05-27 14:31) [23]Давай сподвигнемся на сие :)
Скока нервов бы сэкономлено было, пападись она мне сразу где.
Имя : Рабочая ntwdblib.dll
Категория: PHP - Функции для работы с Microsoft SQL Server
Описание1:
Исправленная библиотека ntwdblib.dll, сделана попытка устранить ошибку в коде dll, проявляющуюся при первом обращении к MSSQL server. Симптомы: "Ошибка приложения php.exe, версия ХХХХ, модуль ntwdblib.dll."
Успешные тесты на winXP-SP3.
Описание2:
Занялись PHP? Установили готовые пакеты типа Denver/XAMPP или поставили PHP вручную, старательно переписали пример из авторитетного источника и при первом же соединении к серверу видите "Ошибка приложения php.exe, версия ХХХХ, модуль ntwdblib.dll..."?
Прежде чем занятся переустановкой всего и лихорадочно искать решение проблемы, попробуйте заменить ntwdblib.dll на версию с этого сайта!
← →
Rouse_ © (2010-05-27 14:32) [24]Ок, возьму за отправную точку, чуть попозже выложу... Правда счетчика скачек у меня там нема :( От РНР я тоже далек :)
← →
[true]TRIx © (2010-05-27 15:03) [25]обратись на этот форум. по этой теме.
http://www.cracklab.ru
http://www.byteme.ru/page.php?hid=aHR0cDovL2NyYWNrbGFiLnJ1L2Yv?
← →
12 © (2010-06-16 15:43) [26]работает на ура
Еще раз Розычу спасибо
зы
Категорически надо выкладывать :)
← →
Rouse_ © (2010-06-16 16:44) [27]Щас пока нет возможности обновления сайта, как админ вернется - так обновлю :)
Страницы: 1 вся ветка
Текущий архив: 2010.09.12;
Скачать: CL | DM;
Память: 0.53 MB
Время: 0.017 c