-
-
[原创]一段代码。
-
发表于:
2013-7-4 10:31
3697
-
#include <windows.h>
#include <process.h>
#pragma code_seg(".text")
__declspec(naked)static void test(void* a)
{
char str[8];
DWORD tThread;
tThread = GetCurrentThreadId();
_itoa_s(tThread, str, 10);
MessageBoxA(0,str,"线程Id",0);
__asm ret
}
#pragma code_seg(".text")
static void fun_END() {}
int _tmain(int argc, _TCHAR* argv[])
{
typedef void (*tHreadFun)(void* arg);
int funsize = (int)fun_END - (int)test;
char* tBuffer = new char[funsize];
if(0 == tBuffer)
{
printf("virtual alloc fail\n");
system("pause");
return 0;
}
test(NULL);
memset(tBuffer, 0, funsize);
memcpy(tBuffer, (void*)test, funsize);
_beginthread((tHreadFun)tBuffer, NULL, NULL);
system("pause");
delete[] tBuffer;
return 0;
}
求拍砖。
[课程]FART 脱壳王!加量不加价!FART作者讲授!