{"id":51,"date":"2007-04-05T22:49:08","date_gmt":"2007-04-05T20:49:08","guid":{"rendered":"http:\/\/blog.m-ri.de\/index.php\/2007\/04\/05\/patch-fuer-cpropertypage-bug-der-mfc71dllmfc71udll\/"},"modified":"2007-04-10T18:54:42","modified_gmt":"2007-04-10T16:54:42","slug":"patch-fuer-cpropertypage-bug-der-mfc71dllmfc71udll","status":"publish","type":"post","link":"http:\/\/blog.m-ri.de\/index.php\/2007\/04\/05\/patch-fuer-cpropertypage-bug-der-mfc71dllmfc71udll\/","title":{"rendered":"Patch f\u00fcr CPropertyPage Bug der MFC71.DLL\/MFC71U.DLL"},"content":{"rendered":"<p>Wer keinen neuen Build bez\u00fcglich des dieses Problemes <a href=\"http:\/\/blog.m-ri.de\/index.php\/2007\/04\/03\/bug-in-der-mfc71dll-bzgl-cpropertysheetcpropertypage\/\">Bug in der MFC71.DLL bzgl. CPropertySheet\/CPropertyPage<\/a>\u00a0machen 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\u00fchren.<\/p>\n<p class=\"ccode\">MFC71.DLL aus SP1 Version 7.10.6030<br \/>\nGr\u00f6\u00dfe 1.060.864 Bytes, Dienstag, 11. Juli 2006, 18:43:32<br \/>\nPatch der Adressen<br \/>\n0x0008E9F0 von 0x89 0x38 -&gt; 0x90 0x90<br \/>\n0x0008EA09 von 0x89 0x38 -&gt; 0x90 0x90<\/p>\n<p class=\"ccode\">MFC71U.DLL aus SP1 Version 7.10.6030<br \/>\nGr\u00f6\u00dfe 1.056.768 Bytes, Dienstag, 11. Juli 2006, 19:02:30<br \/>\nPatch der Adressen<br \/>\n0x000A1ACC von 0x89 0x38 -&gt; 0x90 0x90<br \/>\n0x000A1AE5 von 0x89 0x38 -&gt; 0x90 0x90<\/p>\n<p>Gesucht werden kann auch nach der Sequenz 0x8B 0x46 0x74 0x89 0x38. Diese Sequenz kommt in der MFC.DLL genau zweimal vor.<\/p>\n<p>Es entspricht dem folgenden Code:<\/p>\n<p class=\"ccode\">8B 46 74 mov eax,dword ptr [esi+74h]<br \/>\n89 38 .. mov dword ptr [eax],edi<\/p>\n<p>Weggepatch wird in diesem Falle einfach das Laden der Adresse (zweites mov Statement) und durch zwei NOP ersetzt.<br \/>\nWer die entsprechende PDB Datei hat sieht im Disassembly hier das Statement<br \/>\n<em>m_psp.dwSize = sizeof(m_psp);<\/em><br \/>\nDer Bug befindet sich in der Datei dlgprop.cpp in den Zeilen 184 und 189!<\/p>\n<p><strong>Anwendung auf eigene Gefahr!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wer keinen neuen Build bez\u00fcglich des dieses Problemes Bug in der MFC71.DLL bzgl. CPropertySheet\/CPropertyPage\u00a0machen 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\u00fchren. MFC71.DLL aus SP1 Version 7.10.6030 Gr\u00f6\u00dfe 1.060.864 Bytes, Dienstag, 11. Juli 2006, 18:43:32 Patch der &hellip; <a href=\"http:\/\/blog.m-ri.de\/index.php\/2007\/04\/05\/patch-fuer-cpropertypage-bug-der-mfc71dllmfc71udll\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201ePatch f\u00fcr CPropertyPage Bug der MFC71.DLL\/MFC71U.DLL\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4,3],"tags":[99,352],"class_list":["post-51","post","type-post","status-publish","format-standard","hentry","category-mfc","category-programmieren","tag-bug","tag-mfc"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/51","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/comments?post=51"}],"version-history":[{"count":0,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/51\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/media?parent=51"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/categories?post=51"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/tags?post=51"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}