Patch für CPropertyPage Bug der MFC71.DLL/MFC71U.DLL
Wer keinen neuen Build bezüglich des dieses Problemes Bug in der MFC71.DLL bzgl. CPropertySheet/CPropertyPage machen kann oder auch nicht seinen Sourcecode nach entsprechenden Konstruktoren durchsuchen kann und auf die ausgelieferten Versionen von Microsoft angewiesen ist, kann auch einen kleinen Patch durchführen.
MFC71.DLL aus SP1 Version 7.10.6030
Größe 1.060.864 Bytes, Dienstag, 11. Juli 2006, 18:43:32
Patch der Adressen
0×0008E9F0 von 0×89 0×38 -> 0×90 0×90
0×0008EA09 von 0×89 0×38 -> 0×90 0×90
MFC71U.DLL aus SP1 Version 7.10.6030
Größe 1.056.768 Bytes, Dienstag, 11. Juli 2006, 19:02:30
Patch der Adressen
0×000A1ACC von 0×89 0×38 -> 0×90 0×90
0×000A1AE5 von 0×89 0×38 -> 0×90 0×90
Gesucht werden kann auch nach der Sequenz 0×8B 0×46 0×74 0×89 0×38. Diese Sequenz kommt in der MFC.DLL genau zweimal vor.
Es entspricht dem folgenden Code:
8B 46 74 mov eax,dword ptr [esi+74h]
89 38 .. mov dword ptr [eax],edi
Weggepatch wird in diesem Falle einfach das Laden der Adresse (zweites mov Statement) und durch zwei NOP ersetzt.
Wer die entsprechende PDB Datei hat sieht im Disassembly hier das Statement
m_psp.dwSize = sizeof(m_psp);
Der Bug befindet sich in der Datei dlgprop.cpp in den Zeilen 184 und 189!
Anwendung auf eigene Gefahr!
Themenverwandte Beiträge:
Link für diesen Beitrag | RSS-Feed zu diesem Beitrag
Hinterlassen sie einen Kommentar:
Beachten sie bitte, dass Kommentare evtl. nicht sofort hier erscheinen. Die Kommentare werden zur Moderation an den Webmaster gesendet. Es kann also etwas dauern, bis Ihr Kommentar hier veröffentlicht wird!