Всем доброго времени суток!
Как я ранее и предполагал, использовать WinAPI в новых устройствах от Microsoft, работающих под Windows RT, будет не так уж и сложно.
И я нашел небольшой пост на xda.
И там для вызова нативных функций предложили хак, работающий сродни вирусам — поиск ядра и точек входа в процедуры вручную.
В посте был предложен небольшой кусок кода, демонстрирующий выполнение 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