死亡鬼屋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…
- 死亡鬼屋2 C++修改
- 死亡
- 死亡
- 死亡
- 死亡
- 死亡
- 死亡
- 网游管理法修改 死亡游戏违规也将查处
- 00004 死亡阴影.0001:配置文件的Unity包与修改
- c语言 约瑟夫死亡游戏 简单链表
- 《死亡之旅》 第2版
- 《死亡之旅》 第2版
- 射击双人小游戏之死亡空间2
- 死亡笔记2--java中的集合详解
- 修改新人出生点,以及修改死亡复活点的方法
- [英语阅读]中国首个鬼屋展现地道万圣节
- 死亡历险,Java做的安卓调用.net Webservice进行修改密码
- 好消息,Adobe Flash会在2年内死亡
- The Tower of Babylon DAG上的动态规划+uva
- Linux 中将用户添加到组的指令
- jquery刷新页面(局部及全页面刷新)
- matlab取整函数
- 回文串问题总结
- 死亡鬼屋2 C++修改
- 苦逼大学狗
- 今天来写一个很弱智的编程错误
- 特征选择的一般步骤
- 交叉检验---训练数据,验证数据和测试数据
- QtDBus编程详解
- android 使用RadioGroup模拟 ViewpagerIndicator
- 第一章例题17年龄排序学UVa11462(内存受限问题,计数排序)
- 职场分享:职场中如何提升我们的沟通表达能力