Анализ
У меня нет такого же оборудования и я не использую Windows 8.x, так что я собираюсь предоставить некоторый статический анализ .
Струны
Сначала я сканировал mvs91xx.dll
файл 64-битной библиотеки с помощью утилиты Strings.
Строки просто сканируют файл, который вы передаете, на наличие строк UNICODE (или ASCII) по умолчанию длиной 3 или более символов UNICODE (или ASCII).
Источник: Струны
Вот полный вывод:
!This program cannot be run in DOS mode. Rich .text `.data .pdata @.rsrc @.reloc EEE ('8PW 700PP ```hhh xppwpp SeShutdownPrivilege Change Cahce Module Policy You must restart your computer before the new settings will take effect. Do you want to restart your computer now? RSDS d:\project\2013_10\magni_svn\windows\win\sys\amd64\mv91xxm.pdb %f& B@H L$ H D$ ` D$(H D$$ D$HH D$0f D$XH \$P s I NtH (tL t?3 \$0H t$8H D$PD D$1 D$3A T$0A 8M; t.H |$8H+ T$0H tJH 0t4H |$8H L$0 D$( D$ |$0H D$0D L$(H D$ L$PH3 \$`I s I d$X d$P !D$0 D$T D$4 D$8 D$< D$X D$PH D$PH L$XH d$( d$ D$0A D$4 D$0 D$< L$X D$0 d$ %L! u'H d$ d$ tUH D$( D$ L$0H3 \$XH D$( D$ D$4H D$(H D$@E3 D$4P D$ D$4H D$(H D$0E3 D$4 D$ L$0 L$0 L$@ L$@ ATH d$ t2M d$ t$@H 0A\ VWATAUAVH t7H t!H \$PH l$XH A^A]A\_^ SVWH \$ \$ uxH D$ \$ t/L D$ \$ D$ \$ uoE3 \$ E3 \$ H \$ uaL D$ \$ D$ \$ _^[ \$0H t$8H @SH McP A8H HcH<H 9PE f9Q LcA<E3 (E; t"M+ d$0 L$0 \$0 L$8D \$8L3 \$@H \$XE3 T$`H L$X D$PH |$P tAH D$8 D$HH D$0H D$@H D$(H D$ L L$PL D$XH T$`3 D$hH D$p3 @UH EP=csm E0H @UH Ep=csm E8H @UH E`=csm EHH @UH =csm E$H @UH E(=csm E4H @UH E@=csm ELH @UH EX=csm EhH @UH Ex=csm @UH @UH pd pd strchr atol _XcptFilter malloc _initterm free _amsg_exit __C_specific_handler msvcrt.dll SetupDiOpenDevRegKey SETUPAPI.dll HeapAlloc GetCurrentProcess HeapFree GetProcessHeap GetLastError DisableThreadLibraryCalls OutputDebugStringA CloseHandle LocalFree Sleep RtlVirtualUnwind RtlLookupFunctionEntry RtlCaptureContext QueryPerformanceCounter GetTickCount GetCurrentThreadId GetCurrentProcessId GetSystemTimeAsFileTime TerminateProcess UnhandledExceptionFilter SetUnhandledExceptionFilter KERNEL32.dll OpenProcessToken RegSetValueExA RegQueryValueExA LookupPrivilegeValueA AdjustTokenPrivileges RegCloseKey InitiateSystemShutdownExA ADVAPI32.dll EnableWindow SetWindowLongPtrA GetDlgItem MessageBoxA GetFocus SendDlgItemMessageA GetWindowLongPtrA USER32.dll DestroyPropertySheetPage CreatePropertySheetPageA COMCTL32.dll MVCOINST.dll ESATAPortPropPageProvider N@ kU'9 &D( HMXB 9;5 ?q= ?Zd; ?3= ?/L[ S;uD ?$# ;1a z?aUY D?$? *?} d|F U>c{ #Tw zc%C1 .:3q ,%I -64OS NKeb eSATAport MatchingDeviceId eSATAportCount DriverPolicySet 0123 wwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwww www wwww wwwwwwwwwww} wwwwwwww wwwwwwwwwwwwww wwwwwwwwwwwwww wwwwwww} wwww wwwwwww}x }wwwwwww} wwww wXk qN] tno <sa _`__``_``a`_`_aaaa` ! ! i\\\\\\\\[\\\\\\\[\\a///2/////////2/22/// i\^ da2/ BB<<<<777111,,,*/ i\^ na2/ RFGHJCDKLL=>>88+/ h\^ }qq [`//"QRT$ 1=>>8+2 j\^ sccy \`2/"OQ $%=>>*2 i\^ sccy \a//"NO 66** L=>(2 i\]~ rccy \a//"WN FTHI*++LL=(/ h\^|~ rccs \`//'VW RFTHJCDKLL)2 j\]x|~ rccp~ \_//'VV QRFTHJCDKL(/ i\^wx|~pcccccb \`//'UV OQRFGHJCDK(/ i\]wwx|pcckrss \a//0UU NOQRSGHIJD(2 i\^vwwxpccr \`///YU WNOQRFTHIJ)/ j\]uvwwmccp \`//9YY VWNO5;*THI)2 j\]uuvwmccp \a//9XY VVWN STH)2 i\]ouuvmccbbbbbs \a//@XX0 RST)/ i\]oouulefffggkt \`/2@ZXX: ;NPRF(/ h\]loouuvwwx|~ \_2/@ZZXXYYUUUVWNOPQ(/ i\]ffggkkqqqzzz{{{ \_//?MMMMEEEAAAA3345 i\\\\\\\\\\\\\\\\\\\`//&&&&&--&&&&-&&&&./ illlllllll ##" nPh _s- >w+ 3Zz ]ZZZZZZZZZZZWV-1---------1- mV2.AHBC5D;<<(- kV2.P:# !!+=>(- kV239 $=(- ~wca`` kV78F OOGJKD*1 \dy}rch{ kV7EF MNOGIK/1 \buyrcj kV?EE RR.#:I/- [btuncfssv kV?LE &%" 9G41 ]_ptqhhhjj kV?LTE @NO41 ]_mptuy}~ lV6SUTTQQQRRN91 [WXXXYXXYXYYWV-)))))))))),, uVh _s- F5><<==. ECK2LPV. E@J3MOU. D?H31IT. -,% B;G1JKS.( E9A011R.&# E/4678:."&' NQWhX^XXXe rpq t}~] djklnoc sgba`_f| ux|||| # # # #! # #! #! # # # #gdc # #! # # # # # # # # # # # # ! # t5! #! # lR! # .Bu mS! # <Bv lR! # lR! # d0_ lR! # b0` lR! # `0_ lR! # ]1` lR! # [0_ lR! # V0_ lR! # U0_ lR! # O0_ lR! # M0_ lR! # K0_ lR! # F0_ lR! # lR! # lS! # lR! # lR! # b;wi=ua=ua=ua=ua<u`=ua=ua<u`9d[qikunntnntnnunntnnunnunntpwyr cVgdc y]q nkgdc wYl gdc rP` gdc oJY gdc y|~$s hJ[ rcgdc 4@egdc 5@fgdc 5@fgdc 4@egdc 5Afgdc 4@egdc 5@fgdc 5@fgdc 4@egdc 4@egdc 5@fgdc 5Afgdc 5@egdc 5@fgdc BL@BM@BM@BL@BL@BL@BL@BM@CMABM@BL@BL@ #w\Rv\Rw]Sw\Rw\Rw\Sv\Rv\Rw\Rw]Sw]Sw]StYQ1-/ _s- t6REE F_s- t6RDD <_s- t5REE =^s, t5RDE =_s- u6RDD y0_ =_s- =REE t0_ =^s, =REE j0_ =_s- =SEE f0_ =_s- =REE [0_ >w+^ =^s, =REE =_s- =SEE <^s, =SEE _s- ;tcc 3ZzWo vWj pM\ XBe 4@e ?Ru CXz CXz CYz CXz BXz CXz CY{ =_s- |Xfdc _s- Zgec _s- Zfdc _s- Zfdc y=z ^s- Zfdc ^<y _s- Yfdc >_s- vVh 7<K 8<K 7<K 8<K Policies MS Shell Dlg This setting enables driver caching to improve disk performance. This setting will be ignored and un-checked if enabled safely remove disk Enable driver cache mode. Note: The setting will not take effect until you restart system This setting enables remove disk safely. To disconnect disk from controller, click the Safely Remove Hardware icon in the taskbar notification area. Enable safely remove disk. VS_VERSION_INFO StringFileInfo 040904e4 CompanyName <Marvell> FileDescription Coinstaller FileVersion 1.0.0.2 InternalName hotplug.exe LegalCopyright 2009 (c) <Marvell>. All rights reserved. OriginalFilename hotplug.exe ProductName driver feature policy ProductVersion 1.0.0.2 VarFileInfo Translation
Неудивительно, что результат не лишен мусора. Я собираюсь выделить только самые важные моменты.
Библиотека информации
Хотя информация об авторских правах не обновлялась с 2009 года, последний раз файл был изменен в октябре 2013 года в соответствии с его отметкой времени. Это подтверждается каталогом сборки, встроенным в файл:
d:\project\2013_10\magni_svn\windows\win\sys\amd64\mv91xxm.pdb
Расширение .pdb
файла расшифровывается как Program Database, собственный формат Microsoft, в котором хранится информация об отладке. На самом деле есть также msvcrt.dll
строка, означающая, что библиотека была скомпилирована с использованием некоторой версии Microsoft Visual C ++ .
В качестве примечания, они используют (d) Apache Subversion в качестве системы контроля версий программного обеспечения и версий.
Совместимость с Windows 8.x
Поскольку библиотека была обновлена в октябре 2013 года, разумно предположить, что она обеспечит совместимость с Windows 8 и, возможно, с Windows 8.1. Проверяя mvs91xx.cat
файл каталога, вот подробности, связанные с mvs91xx.dll
файлом библиотеки:
Tag 9B1349794EE18ECCCBBD7F38FEEA9D44CC42746E Thumbprint algorithm sha1 Thumbprint 9b 13 49 79 4e e1 8e cc cb bd 7f 38 fe ea 9d 44 cc 42 74 6e OSAttr 2:6.1,2:6.2,2:6.3 File mvs91xx.dll
OSAttr:2:6.0
OSAttr
Атрибут определяет целевую Windows, версию которой подписание требования совместимы с пакетом драйверов . Значение атрибута указывает следующее:
- Значение
2
указывает, что файл каталога совместим с версиями операционной системы Windows на базе NT.- Значение
6.0
указывает, что файл каталога совместим с Windows Vista.Примечание. Если пакет драйверов совместим с несколькими версиями Windows, необходимо
CATATTR
указать отдельные параметры для указанияOSAttr
атрибута для каждой версии Windows.Источник: создание файла каталога для пакета драйвера не PnP
В этом случае OSAttr
значение включает три версии Windows для Windows: Windows 7 ( 6.1
), Windows 8 ( 6.2
) и Windows 8.1 ( 6.3
). Это означает, что пакет драйверов совместим с Windows 8 / 8.1, по крайней мере, на бумаге; Тем не менее панель политик недоступна в Windows 8.x. Виновата ли операционная система или файл библиотеки, я не знаю.
Функции реестра
Настройки драйвера обычно хранятся в реестре, а библиотека включает некоторые функции реестра Windows :
RegSetValueExA RegQueryValueExA RegCloseKey
В поисках связанных с политикой строк я наткнулся DriverPolicySet
. Проведя обратный инжиниринг библиотеки, я подтвердил, что функции реестра действительно использовались, и что упомянутая выше строка была частью пути реестра, который либо читался, либо записывался.
Ручная настройка политики
Поиск "DriverPolicySet"
в Интернете дал мало, но интересных результатов. В частности, пост на японской доске и ответ на русском форуме . Переведя и собрав кусочки информации, я смог получить более четкую картину - буквально.
DriverPolicySet
Значение является строкой ( REG_SZ
), который может быть установлен на:
0
- Отключить все политики.1
- Включить только кэширование драйверов.2
- Включить только безопасное удаление.3
- Включите как кэширование драйверов, так и безопасное удаление.
Обычно он хранится в следующем разделе реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\\0001
замечания
Если значение реестра отсутствует, вам необходимо создать его самостоятельно.
Вы должны перезапустить систему, чтобы применить изменения.
это устройство класса GUID назначены контроллеры SCSI и RAID. Это определено в
mvs91xx.inf
файле.0001
Завершающая часть может немного отличаться в зависимости от количества доступных контроллеров. Например, это может быть0000
, или0002
, и т. Д. Вместо.