Based Draw Text Functions Cpp

Hello!
Thanks for you time.
I have the following information (it is a fact):

1. Internet Explorer x86 and x64 use the following based draw text functions for draw text in web page:

BOOL TextOut(
__in HDC hdc,
__in int nXStart,
__in int nYStart,
__in LPCTSTR lpString,
__in int cbString
);

BOOL ExtTextOut(
HDC hdc,
int X,
int Y,
UINT fuOptions,
const RECT* lprc,
LPCTSTR lpString,
UINT cbCount,
const int* lpDx
);

2. All this functions are situated in “Gdi32.dll” module.

3. C++ code for find start point (pointer) of this funstion:
FARPROC Proc1 = GetProcAddress(
GetModuleHandle(TEXT(“Gdi32.dll”)),
“TextOut”);
FARPROC Proc2 = GetProcAddress(
GetModuleHandle(TEXT(“Gdi32.dll”)),
“ExtTextOut”);

THAT I NEED:
Find based draw text functions (like TextOut and ExtTextOut) for Google Chrome and Mozilla Firefox. The result must be show in the following table (columns):

1. Application (Chrome x86, Firefox x86, Chrome x64, Firefox x64);
2. Version of application;
3. C/C++ definition of function with definition of all needed types in arguments;
4. Module name (dll or exe);
5. Type of module (x86 or x64);
6. Native C/C++ code for find start point address of function in the module;
7. All bytes in HEX of function body from start point to RET command. (for x86 and x64 version)

System Requirements:
Native win32, x86, x64, visual c++ 2008 (optional), unmanaged (no dotnet);

Main problem.
The functions may not be exported.
For find address of non exported function see
http://www.reverse-engineering.net/viewtopic.php?f=56&t=7994

Addition infomation:
Chrome and Mozilla may use cairo library or skia library. But it not 100%. I do not know.

thanks
Alex

PS:
The payment from your escrow to your account will be released after test finded functions with my application if it hook this functions. Why I need text that drawing in webpage? for example I need create logging system (store all showed text in browser in text file).
if you need test Hook System you must use EasyHook.

Leave a Reply

Your email address will not be published. Required fields are marked *