我自己做了一个
[mw_shl_code=c,true]#include <stdio.h>
#include <windows.h>
void main(void)
{
char Command; HWND hWnd;
DWORD Pid; HANDLE hProcess=0; while(1)
{
printf("———————————双星物语2 游戏外挂——————————\n");
printf(" 打开外挂 O 修改金钱 M \n");
printf(" 修改血量 H 退出外挂 E \n");
printf("———————————------------------——————————\n");
Command=getchar();
getchar();
if (Command =='E'||Command =='e')
{
break;
}
else
{
if (Command=='O'||Command=='o')
{
hWnd=FindWindow(NULL,"双星物语2");
if (hWnd!=0)
{
GetWindowThreadProcessId(hWnd,&Pid);
hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,Pid);
if (hProcess==0)
{
printf("\n打开游戏进程失败\n");
}
else
{
printf("\n成功打开游戏进程\n");
}
}
}
if (Command=='M'||Command=='m')
{
if (hProcess==0)
{
printf("\n请先打开外挂\n");
}
else
{
DWORD Money; DWORD Addr=0x005b85b0;
printf("\n您想多少钱?:");
scanf("%ld",&Money); DWORD res=WriteProcessMemory(hProcess,(LPVOID)Addr,&Money,4,0);
if (res==0)
{
printf("\n修改失败\n");
}
else
{
printf("\n修改成功\n");
}
}
}
if (Command=='H'||Command=='h')
{
if (hProcess==0)
{
printf("\n请先打开外挂\n");
}
else
{
DWORD HP; DWORD Addr=0x005b85cc;
printf("\n您想多少血?:");
scanf("%ld",&HP); DWORD res=WriteProcessMemory(hProcess,(LPVOID)Addr,&HP,4,0);
if (res==0)
{
printf("\n修改失败\n");
}
else
{
printf("\n修改成功\n");
}
}
}
}
}
return;
}[/mw_shl_code] |