死亡鬼屋2 C++修改

来源:互联网 发布:毛血旺网络用语 编辑:程序博客网 时间:2024/04/29 20:05

在学院呆了5个年头了,如果不出意外,这将是我最后一次在学院的图书馆了,各种怀念

躲避自己的成长,一直不出校门,我似乎对自己有点不负责任,有些回忆,记忆在脑海里即可。

 源代码 连接  http://download.csdn.net/detail/yhc87/7672707


好了,以前我写程序,都是用的VB,这次用C++,写个死亡鬼屋2外挂,

这是很老的游戏了,内存基址,也没什么偏移,反复写入内存就好了。

009A5A9C  4字节 子弹为6

009A5A86  1字节/2字节  生命为5

 


 

 

 

好吧新建一个MFC  , 名为  “死亡鬼屋2” ,加入两个CheckBox,一个名为无限弹药关联为m_danyao,一个为无限生命,关联为m_shengming.

 

在窗体加载时,判断游戏是否运行。在其方法外围写一个判断函数。

 

 

/////////////////////////////////////////////////复制发下/////////////////////////////

VOID CALLBACK huidiao(

                                     HWND hwnd,

                                     UINT uMsg,

                                     UINT idEvent,

                                     DWORD dwTime                                    

                                     )

{    

       HWND hWnd=::FindWindow(NULL,"The House of the Dead 2"); //得到了句柄

       if(hWnd)

       {

              HWND hWn=::FindWindow(NULL,"死亡鬼屋2");//得到了句柄

              if(hWn)

              {

                     ::SetWindowText(hWn,"游戏已运行");//修改标题

                    

              }

              HWND hWnw=::FindWindow(NULL,"死亡鬼屋2-游戏未运行");//得到了句柄

              if(hWnw)

              {

                     ::SetWindowText(hWnw,"游戏已运行");//修改标题

              }           

       }

       else

       {                  

              HWND hWn=::FindWindow(NULL,"死亡鬼屋2");//得到了句柄

              if(hWn)

              {

                     ::SetWindowText(hWn,"死亡鬼屋2-游戏未运行");//修改标题

              }

              HWND hWnn=::FindWindow(NULL,"游戏已运行");//得到了句柄

              if(hWnn)

              {

                     ::SetWindowText(hWnn,"死亡鬼屋2-游戏未运行");//修改标题                    

                    

              }

       }

}

/////////////////////////////////////////////////复制发上/////////////////////////////

 

窗体加载,以下代码判断游戏是否运行,并修改此程序标题

 

///////////////////////复制发下/////////////////////////////

       const y =11;  //时间定时器的ID

       UpdateData(true);

       SetTimer(y,100,&huidiao);    //100ms调用一次 huidiao函数

 

///////////////////////复制发上/////////////////////////////

 

还有就是两个 CheckBox的代码,C++没有时间控件,我用回调函数实行的。

/////////////////////////////////////////////以下请按控件复制,不要全复制!!!//////////////////////

 

VOID CALLBACK danyao(

                                    HWND hwnd,

                                    UINT uMsg,

                                    UINT idEvent,

                                    DWORD dwTime                               

                                    )

{

       INT zidan=6; //子弹数是6

       DWORD PID;//存放游戏进程PID

       HWND  hWnd=::FindWindow(NULL,"The House of the Dead 2");//获取游戏窗口的句柄

       ::GetWindowThreadProcessId(hWnd,&PID);//获取游戏窗口的进程ID

       HANDLE hd=::OpenProcess(PROCESS_ALL_ACCESS,false,PID);//打开游戏进程准备写内存

       WriteProcessMemory(hd,(LPVOID)0x009A5A9C,&zidan,4,NULL);//写入内存

      

}

 

const danyao1 =11;  //时间定时器的ID

void CMy2Dlg::OnCheck1()

{

       UpdateData(true);

       if (m_danyao)

       {

              SetTimer(danyao1,50,&danyao);

       }

       else

       {

              KillTimer(danyao1);

       }

      

}

 

 

VOID CALLBACK shengming(

                                          HWND hwnd,

                                          UINT uMsg,

                                          UINT idEvent,

                                          DWORD dwTime                                 

                                          )

{

       INT shengming=5; // 5条生命

       DWORD PID;//存放游戏进程PID

       HWND  hWnd=::FindWindow(NULL,"The House of the Dead 2");//获取游戏窗口的句柄

       ::GetWindowThreadProcessId(hWnd,&PID);//获取游戏窗口的进程ID

       HANDLE hd=::OpenProcess(PROCESS_ALL_ACCESS,false,PID);//打开游戏进程准备写内存

       WriteProcessMemory(hd,(LPVOID)0x009A5A86,&shengming,1,NULL);//写入内存

      

}

 

 

 

const shengming1=12;  //时间定时器的ID

void CMy2Dlg::OnCheck2()

{

       UpdateData(true);

       if (m_shengming)

       {

              SetTimer(shengming1,50,&shengming);

             

       }

       else

       {

              KillTimer(shengming1);

       }

      

 

//////////////////////////////////////////////没了////////////////////////////////

电脑老蓝屏,不好截图,就说到这了。无业游民ing…

0 0
原创粉丝点击