Показать полную графическую версию : syssetup.dll
Mr dUSHA
22-01-2009, 18:08
prokazzza,
Я правильно понимаю, этот сбой Windows Movie Maker - это сообщение:
"Отсутствует файл для видеопереходов и видеоэфектов"
???
У меня оно так, когда подредактировать ресурсы
Mr dUSHA
23-01-2009, 00:09
prokazzza,
С Windows Movie Maker я таки разобрался.
На самом деле никакой защиты нет, и проблема не с MovieMaker-ом, а с ResourceHacker-ом, который вы наверное используете.
ResourceHacker что-то косячит в секции ресурсов, из-за чего вылазит то сообщение "Отсутствует файл для видеопереходов и видеоэффектов".
Помогает только перестройка секции ресурсов с помощью RESREBLD.EXE ("Resource Rebuilder" v1.0 by Dr.Golova), и замена полученной оптимизированной секции вместо старой, покореженной ResourceHacker-ом, с помощью редактора PE-файлов (PE-Tools или Lord-PE).
Другими словами, вместо ResourceHacker-а нужно использовать какой-то другой редактор ресурсов...
ResourceHacker что-то косячит в секции ресурсов » + ещё и после Restorator а, тоже самое окошко "Отсутствует файл для видеопереходов и видеоэфектов" »
prokazzza
23-01-2009, 10:10
Mr dUSHA, Помогает только перестройка секции ресурсов с помощью RESREBLD.EXE ("Resource Rebuilder" v1.0 by Dr.Golova), и замена полученной оптимизированной секции вместо старой, покореженной ResourceHacker-ом, с помощью редактора PE-файлов (PE-Tools или Lord-PE). »
я использую Ресторатор.
Mr dUSHA
23-01-2009, 14:10
я использую Ресторатор. »
И я попробовал. Та же история.
И я так и не понял, чего ж такого криминального делают редакторы ресурсов, что оно потом не работает.... Видать в самой программе баг какой-то...
Mr dUSHA,
всмысле ?
в редакторе ресурсов или Movie Maker
Jekson07
28-01-2009, 20:34
Слушай, а это не решит часом известную проблему "батареи" при патче блокнота?
Да я вот сам только щас об этом подумал. Ты прям читаешь мои мысли!
Теоретически должно, но неплохо бы проверить...
Проверил, проблема с "Батареей..." так и осталось, возможно из-за повторного пропатчивания файла syssetup.dll респатчем. В связи с этим хотелось бы знать, что конкретно было подправлено/изменено в патченном файле syssetup.dll: диалоги, строковая таблица, таблица сообщений..., для того, чтобы самостоятельно можно было бы внести все необходимые поправки для аддона респатч?
Boa Soft
28-01-2009, 20:42
Проверил, проблема с "Батареей..." так и осталось, возможно из-за повторного пропатчивания файла респатчем. В связи с этим хотелось бы знать, что конкретно было подправлено/изменено в патченном файле syssetup.dll: диалоги, строковая таблица, таблица сообщений...? »
Нет. Это не при чем. разговор был о том, что при любом нарушении подписи syssetup непредказуемо может появится мастер оборудования при установке даже подписанных драйверов. Лечим патчем проверки в setupapi.
Я просто интересовался, решает ли этот патч проблему батареи. Значет не решает
Jekson07
28-01-2009, 20:46
Я просто интересовался, решает ли этот патч проблему батареи. Значет не решаетЯ правда, в тестовый набор включил не только блокнот, но и все другие файлы, которые вызывают сообщение о батарее. Может ещё и из-за этого!!?... Тестировал с аддоном "до того".
Mr dUSHA
29-01-2009, 00:03
В связи с этим хотелось бы знать, что конкретно было подправлено/изменено в патченном файле syssetup.dll: »
Ну только ж не syssetup.dll, а setupapi.dll был исправлен.
Исправления не в ресурсах, а исполняемом коде модуля в его внутренней функции GetModuleEntryPoint:
.text:779562A4 call _pSetupGetFileTitle@4 ; pSetupGetFileTitle(x)
.text:779562A9 push eax
.text:779562AA push ebx
.text:779562AB push ebx
.text:779562AC push ebx
.text:779562AD push ebx
.text:779562AE push [ebp+var_674]
.text:779562B4 push [ebp+var_63C]
.text:779562BA call __VerifyFile@68 ; _VerifyFile(x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x)
.text:779562BF mov [ebp+dwErrCode], eax
.text:779562C5 cmp eax, ebx
.text:779562C7 jz short loc_77956313
.text:779562C9 mov eax, [ebp+var_658]
.text:779562CF cmp eax, ebx
.text:779562D1 jnz short loc_779562D9
.text:779562D3 mov eax, [ebp+lpMem]
.text:779562D9
.text:779562D9 loc_779562D9: ; CODE XREF: GetModuleEntryPoint(x,x,x,x,x,x,x,x,x,x,x,x,x,x,x)+225 j
.text:779562D9 push ebx ; int
.text:779562DA push ebx ; int
.text:779562DB push [ebp+var_63C] ; int
.text:779562E1 push [ebp+dwErrCode] ; dwErrCode
.text:779562E7 push [ebp+arg_34] ; int
.text:779562EA push [ebp+arg_30] ; int
.text:779562ED push eax ; int
.text:779562EE lea eax, [ebp+szStart]
.text:779562F4 push eax ; lpFileName
.text:779562F5 push [ebp+arg_28] ; int
.text:779562F8 push [ebp+var_670] ; int
.text:779562FE call _pSetupHandleFailedVerification@40 ; pSetupHandleFailedVerification(x,x,x,x,x,x,x,x,x,x)
.text:77956303 test eax, eax
.text:77956305 jnz short loc_77956313
.text:77956307 mov eax, [ebp+var_648]
.text:7795630D mov dword ptr [eax], 1
.text:77956313
.text:77956313 loc_77956313: ; CODE XREF: GetModuleEntryPoint(x,x,x,x,x,x,x,x,x,x,x,x,x,x,x)+21B j
.text:77956313 ; GetModuleEntryPoint(x,x,x,x,x,x,x,x,x,x,x,x,x,x,x)+259 j
.text:77956313 cmp [ebp+lpMem], ebx
.text:77956319 jz short loc_77956326
.text:7795631B push [ebp+lpMem] ; lpMem
.text:77956321 call _pSetupFree@4 ; pSetupFree(x)
.................
здесь по адресу .779562C7 команда условного перехода (условием является наличие/отсутствие цифровой подписи у модуля)
jz short loc_77956313
исправлена на команду безусловного перехода:
jmp short loc_77956313
С такой правкой в независимости от наличия/отсутствия подписи, переход осуществляется на ветку кода выполняемую при наличии цифровой подписи.
Подробней о механизме проблемы я писал в этом же топике, в посте #30.
По результатам просмотра реестра получился такой список установщиков классов устройств, подверженных сабжевой проблеме:
storprop.dll
SysSetup.dll
Desk.Cpl
MmSys.Cpl
mdminst.dll
NetCfgx.dll
printui.dll
nmwcdcls.dll
winscard.dll
sti_ci.dll
Batt.dll
btw_ci.dll
sdhcinst.dll
bthci.dll
wpd_ci.dll
Я правда, в тестовый набор включил не только блокнот, но и все другие файлы, которые вызывают сообщение о батарее. »
А с этого места по подробней плиз! Какие еще файлы вызывают проблему батареи? Хотелось бы докопаться до сути...
Jekson07
29-01-2009, 00:26
Ну только ж не syssetup.dll, а setupapi.dll был исправлен.Согласен, это конечно же опечатка. Я говорил про setupapi.dll (скопировал из шапки - зрительно очень похожи) :)
А с этого места по подробней плиз! Какие еще файлы вызывают проблему батареи? Хотелось бы докопаться до сути...Список файлов из аддона "до того" при пропатчивание которых появляется сообщение о батареи:
batt.dll
bthci.dll
irclass.dll
notepad.exe
prokazzza
29-01-2009, 19:36
Mr dUSHA,
По результатам просмотра реестра получился такой список установщиков классов устройств, подверженных сабжевой проблеме:
storprop.dll
SysSetup.dll
Desk.Cpl
MmSys.Cpl
mdminst.dll
NetCfgx.dll
printui.dll
nmwcdcls.dll
winscard.dll
sti_ci.dll
Batt.dll
btw_ci.dll
sdhcinst.dll
bthci.dll
wpd_ci.dll »
Вот здесь я немного не понял, получается что все эти перечисленные файлы, если их пропатчить, выдадут где-нить ошибку? Или я не так понял.
Mr dUSHA, Помогает только перестройка секции ресурсов с помощью RESREBLD.EXE ("Resource Rebuilder" v1.0 by Dr.Golova), и замена полученной оптимизированной секции вместо старой, покореженной ResourceHacker-ом, с помощью редактора PE-файлов (PE-Tools или Lord-PE). »
Если я дам вам пропатченный Windows Movie Maker, вы сможете его исправить?
Mr dUSHA
29-01-2009, 21:34
Вот здесь я немного не понял, получается что все эти перечисленные файлы, если их пропатчить, выдадут где-нить ошибку? Или я не так понял. »
Да. При не пропатченом setupapi.dll из-за одного из этих файлов будет, например, всплывать мастер нового оборудования, если подключить новое оборудование соответствующее класу пропатченой библиотеки.
В реестре, в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class
в каждом из класов можно посмотреть в параметре Installer32 какая библиотека занимается установкой устройств этого класа.
Если я дам вам пропатченный Windows Movie Maker, вы сможете его исправить? »
Да. Конечно.
prokazzza
29-01-2009, 22:36
Mr dUSHA, вот ссылка на фаил http://ifolder.ru/10281973
Mr dUSHA
30-01-2009, 13:10
prokazzza,
Пофиксеный файл: http://ifolder.ru/10290660
Тестируйте.
prokazzza
30-01-2009, 22:55
Mr dUSHA,
Спасибо, вроде работает :)
Такой вопрос, можно ли те файлы которые вы указали в списке, "вылечить" таким же способом как и syssetup.dll?
Mr dUSHA
30-01-2009, 23:15
Такой вопрос, можно ли те файлы которые вы указали в списке, "вылечить" таким же способом как и syssetup.dll? »
Так уже и так все они "лечатся" этим самым патчем одного байта в setupapi.dll, описаным в посте #21 (http://forum.oszone.net/post-1011126-21.html). ;)
Mr dUSHA, а есть ли проблемы описанные чуть выше при использовании файла из этого (http://forum.oszone.net/post-1019751-43.html) сообщения?
Mr dUSHA
05-02-2009, 00:24
а есть ли проблемы описанные чуть выше при использовании файла из этого сообщения? »
Проблем нет. В файле из того сообщения наложены все патчи, в том числе и описаный в этой теме.
Господа только что побаловалься с N-LITE.
Смотрите что он делает..
Он
1. Создает бекап syssetup.dl_ в Syssbck.dl_.
2.Создает бекап Syssetup.in_ в Syssbck.in_ .
3.Патчит Sfcfiles.dl_.
4.Патчит syssetup.dl_ в трех местах.
5.Добаляет nlite.inf = 1,,,,,,,20,0,0 в Txtsetup.sif
6. Из nlite.inf восстанавливает прежние копии syssetup.dl_ и Syssetup.in_.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.