首页
社区
课程
招聘
[原创]一段代码。
发表于: 2013-7-4 10:31 3697

[原创]一段代码。

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作者讲授!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 116
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
so ?
2013-7-4 17:04
0
雪    币: 52
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
楼主是想在堆上执行代码吗?这样应该会出问题吧,没有做重定位处理,而且还有DEP
2013-7-4 17:34
0
游客
登录 | 注册 方可回帖
返回
//