|
本帖最后由 小白学编程 于 2021-4-2 19:11 编辑
前言:
反汇编逆向,反调试,过驱动,现在的网游都是在R0下搞得检测,只能拿单机练手了
编程-玩游戏能提高乐趣,不然太枯燥了
看着教程觉得自己懂,太简单了,敲代码时懵逼了,不知道怎么下手
https://www.cctry.com/thread-297569-1-1.html 老大说这些话太精彩了,膜拜,什么时候出逆向过驱动教程就好了
vs2019新建工程
无限阳光,变态加速,自动收集,无敌不掉血,聚怪,全屏秒杀,无限金币,免CD,重叠建造,远程调用,全屏僵尸等等还有很多功能都可以练手
新学习的知识,创建一个线程监视窗口是否打开,打开功能开放,否则全是灰的,什么也干不了
//创建一条子线程,监视游戏打开或关闭
m_monitorhread=CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)monitorThreadFunc, NULL, NULL, NULL);
图1:游戏没打开,功能没法使用,图3是游戏打开,功能全部开放
HWND gameHandle = FindWindow(CString("MainWindow"), CString("植物大战僵尸中文版"));
if (gameHandle==NULL)
{
g_dlg->m_seckill.SetCheck(FALSE); //这个判断游戏复选框点击了没,游戏推出则取消,一点小细节
g_dlg->m_abnormal.SetCheck(FALSE);
g_dlg->m_immortalization.SetCheck(FALSE);
g_dlg->m_sunshine.SetCheck(FALSE);
g_dlg->m_wucd.SetCheck(FALSE);
g_dlg->m_gather.SetCheck(FALSE);
g_dlg->m_wucd.EnableWindow(FALSE);
g_dlg->m_immortalization.EnableWindow(FALSE);
g_dlg->m_gather.EnableWindow(FALSE);
g_dlg->m_abnormal.EnableWindow(FALSE);
g_dlg->m_seckill.EnableWindow(FALSE);
g_dlg->m_sunshine.EnableWindow(FALSE);
}
else
{
g_dlg->m_seckill.EnableWindow(TRUE);
g_dlg->m_sunshine.EnableWindow(TRUE);
//获得植物大战僵尸的进程id
DWORD pid;
GetWindowThreadProcessId(gameHandle, &pid);
//获得植物大战僵尸的进程句柄
g_processHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
}
if (g_dlg->m_sunshine.GetCheck())
{
DWORD value = 99990;
WriteProcessMemory(&value, sizeof(value),0x006A9EC0,0x768,0x5560,-1);
}
//休息睡眠
Sleep(1000);
判断是否点击了复选框
if (m_seckill.GetCheck())
{
//开启无限阳光
BYTE data[] = {0x2b,0xff,0x90,0x90};
WriteProcessMemory(data,sizeof(data),0x0053130F);
}
else
{
//还原正常阳光
BYTE data[] = { 0x2b,0x7c,0x24,0x20};
WriteProcessMemory(data, sizeof(data), 0x0053130F);
}
总结:复选框玩的也是乐趣很多 效果图如下
|
评分
-
查看全部评分
上一篇: MFC编程入门三(按钮(Button)单选按钮(Radio Button)复选框(Check Box)下一篇: 跟我一起从零基础自学c++从入门到放弃哈哈
|