ключевой фрагмент hotfix'а от Ильфака
Проследить за работой заплатки можно с помощью любого отладчика, например, OllyDbg. Устанавливаем hotfix, загружаем любую программу в OllyDbg (не важно работает она с wmf-файлами или нет) и переходим к функции Escape. В OllyDbg для этого достаточно нажать <Ctrl>
+<G>
, "Escape", <ENTER>
.
Если установка заплатки прошла успешно (что происходит далеко не всегда) в начале функции будет стоять jump на thunk. Конкретный адрес зависит от расположения wmfhotfix.dll в памяти и может варьироваться в широких пределах. В моем случае это 10001000h
GDI32!Escape:
77F4D5FE >
- E9 FD390B98 JMP 10001000 ; jump на thunk, вставленный Ильфаком
77F4D603 83EC 18 SUB ESP,18 ; \
77F4D606 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8] +
77F4D609 53 PUSH EBX ; +- код Функции Escape
77F4D60A 56 PUSH ESI ; +
77F4D60B 57 PUSH EDI .+