Всем доброго времени суток!
Как я ранее и предполагал, использовать WinAPI в новых устройствах от Microsoft, работающих под Windows RT, будет не так уж и сложно.
Как я ранее и предполагал, использовать WinAPI в новых устройствах от Microsoft, работающих под Windows RT, будет не так уж и сложно.
И я нашел небольшой пост на xpda.
И там для вызова нативных функций предложили хак, работающий сродни вирусам — поиск ядра и точек входа в процедуры вручную.
В посте был предложен небольшой кусок кода, демонстрирующий выполнение 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); }
По ссылке можно скачать готовые проекты, в т.ч. и в скомпилированном виде.
За сим, позвольте откланяться. Надеюсь будет Вам полезно!
ссылка на оригинал статьи http://habrahabr.ru/post/160739/
Добавить комментарий