Ресурсы - syssetup.dll

Ответить
 • Просмотры: 2
Аватара пользователя
Mr dUSHA

Re: Ресурсы - syssetup.dll

Сообщение Mr dUSHA »

prokazzza,

Я правильно понимаю, этот сбой Windows Movie Maker - это сообщение:

"Отсутствует файл для видеопереходов и видеоэфектов"



???



У меня оно так, когда подредактировать ресурсы
Аватара пользователя
Mr dUSHA

Re: Ресурсы - syssetup.dll

Сообщение Mr dUSHA »

prokazzza,

С Windows Movie Maker я таки разобрался.

На самом деле никакой защиты нет, и проблема не с MovieMaker-ом, а с ResourceHacker-ом, который вы наверное используете.

ResourceHacker что-то косячит в секции ресурсов, из-за чего вылазит то сообщение "Отсутствует файл для видеопереходов и видеоэффектов".



Помогает только перестройка секции ресурсов с помощью RESREBLD.EXE ("Resource Rebuilder" v1.0 by Dr.Golova), и замена полученной оптимизированной секции вместо старой, покореженной ResourceHacker-ом, с помощью редактора PE-файлов (PE-Tools или Lord-PE).



Другими словами, вместо ResourceHacker-а нужно использовать какой-то другой редактор ресурсов...
Аватара пользователя
zuckij

Re: Ресурсы - syssetup.dll

Сообщение zuckij »

Цитата Mr dUSHA:



ResourceHacker что-то косячит в секции ресурсов
Ресурсы - syssetup.dll




+ ещё и после Restorator а, тоже самое окошко
Цитата Mr dUSHA:



"Отсутствует файл для видеопереходов и видеоэфектов"
Ресурсы - syssetup.dll
Аватара пользователя
prokazzza

Re: Ресурсы - syssetup.dll

Сообщение prokazzza »

Mr dUSHA,
Цитата Mr dUSHA:



Помогает только перестройка секции ресурсов с помощью RESREBLD.EXE ("Resource Rebuilder" v1.0 by Dr.Golova), и замена полученной оптимизированной секции вместо старой, покореженной ResourceHacker-ом, с помощью редактора PE-файлов (PE-Tools или Lord-PE).
Ресурсы - syssetup.dll




я использую Ресторатор.
Аватара пользователя
Mr dUSHA

Re: Ресурсы - syssetup.dll

Сообщение Mr dUSHA »

Цитата prokazzza:



я использую Ресторатор.
Ресурсы - syssetup.dll




И я попробовал. Та же история.

И я так и не понял, чего ж такого криминального делают редакторы ресурсов, что оно потом не работает.... Видать в самой программе баг какой-то...
Аватара пользователя
aset

Re: Ресурсы - syssetup.dll

Сообщение aset »

Mr dUSHA,

всмысле ?

в редакторе ресурсов или Movie Maker
Аватара пользователя
Jekson07

Re: Ресурсы - syssetup.dll

Сообщение Jekson07 »

Цитата Boa Soft:



Слушай, а это не решит часом известную проблему "батареи" при патче блокнота?




Цитата Mr dUSHA:



Да я вот сам только щас об этом подумал. Ты прям читаешь мои мысли!

Теоретически должно, но неплохо бы проверить...



Проверил, проблема с "Батареей..." так и осталось, возможно из-за повторного пропатчивания файла syssetup.dll респатчем. В связи с этим хотелось бы знать, что конкретно было подправлено/изменено в патченном файле syssetup.dll: диалоги, строковая таблица, таблица сообщений..., для того, чтобы самостоятельно можно было бы внести все необходимые поправки для аддона респатч?
Аватара пользователя
Boa Soft

Re: Ресурсы - syssetup.dll

Сообщение Boa Soft »

Цитата Jekson07:



Проверил, проблема с "Батареей..." так и осталось, возможно из-за повторного пропатчивания файла респатчем. В связи с этим хотелось бы знать, что конкретно было подправлено/изменено в патченном файле syssetup.dll: диалоги, строковая таблица, таблица сообщений...?
Ресурсы - syssetup.dll




Нет. Это не при чем. разговор был о том, что при любом нарушении подписи syssetup непредказуемо может появится мастер оборудования при установке даже подписанных драйверов. Лечим патчем проверки в setupapi.



Я просто интересовался, решает ли этот патч проблему батареи. Значет не решает
Аватара пользователя
Jekson07

Re: Ресурсы - syssetup.dll

Сообщение Jekson07 »

Цитата Boa Soft:



Я просто интересовался, решает ли этот патч проблему батареи. Значет не решает



Я правда, в тестовый набор включил не только блокнот, но и все другие файлы, которые вызывают сообщение о батарее. Может ещё и из-за этого!!?... Тестировал с аддоном "до того".
Аватара пользователя
Mr dUSHA

Re: Ресурсы - syssetup.dll

Сообщение Mr dUSHA »

Цитата Jekson07:



В связи с этим хотелось бы знать, что конкретно было подправлено/изменено в патченном файле syssetup.dll:
Ресурсы - 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:



Я правда, в тестовый набор включил не только блокнот, но и все другие файлы, которые вызывают сообщение о батарее.
Ресурсы - syssetup.dll




А с этого места по подробней плиз! Какие еще файлы вызывают проблему батареи? Хотелось бы докопаться до сути...
Ответить

Вернуться в «Оформление Windows XP»