- PVSM.RU - https://www.pvsm.ru -

Использование WinAPI на Surface

Всем доброго времени суток!
image
Как я ранее и предполагал, использовать WinAPI в новых устройствах от Microsoft, работающих под Windows RT, будет не так уж и сложно.

И я нашел небольшой пост на xda [1].

И там для вызова нативных функций предложили хак, работающий сродни вирусам — поиск ядра и точек входа в процедуры вручную.

В посте был предложен небольшой кусок кода, демонстрирующий выполнение WinAPI вызовов:

void DoThings()
{
	char *Tmp=(char*)GetTickCount64;
	Tmp=(char*)((~0xFFF)&(DWORD_PTR)Tmp);

	while(Tmp)
	{
		__try 
		{
			if(Tmp[0]=='M' && Tmp[1]=='Z')
				break;
		} __except(EXCEPTION_EXECUTE_HANDLER)
		{
		}
		Tmp-=0x1000;
	}

	if(Tmp==0)
		return;

	LoadLibraryA=(t_LLA*)PeGetProcAddressA(Tmp,"LoadLibraryA");
	GetProcAddressA=(t_GPA*)PeGetProcAddressA(Tmp,"GetProcAddress");
	CreateProcessA=(t_CPA*)PeGetProcAddressA(Tmp,"CreateProcessA");

	HMODULE hUser=LoadLibraryA("user32.dll");
	MessageBoxA=(t_MBA*)GetProcAddressA(hUser,"MessageBoxA");
	MessageBoxA(0,"A native MessageBox!","Test",MB_OK);

	STARTUPINFO si;
	memset(&si,0,sizeof(si));
	si.cb=sizeof(si);

	PROCESS_INFORMATION pi;
	
	CreateProcessA("c:\Windows\system32\cmd.exe",0,0,0,FALSE,0,0,0,&si,&pi);
}

По ссылке можно скачать готовые проекты, в т.ч. и в скомпилированном виде.

За сим, позвольте откланяться. Надеюсь будет Вам полезно!

Автор: Pinsky

Источник [2]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/windows/21418

Ссылки в тексте:

[1] xda: http://forum.xda-developers.com/showthread.php?t=1944675

[2] Источник: http://habrahabr.ru/post/160739/