鱼C论坛

 找回密码
 立即注册
查看: 3666|回复: 2

问题出在哪里,写入和读出失败,求解!!!

[复制链接]
发表于 2012-12-16 05:12:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>          //  基址      偏移1    偏移2     
#include <windows.h> //“7794f8”, “868”, “5578”)


void main(void)
{
        char Command;                                               
        HWND hWnd;
        DWORD Pid;
        HANDLE hProcess=0;                                                       
        DWORD BaseAddress_Sun=0x7794f8;                                    
        DWORD m_SunAddress=0X00;                                       
    DWORD FirstOffset_Sun=0x868;                               
        DWORD Second_Offset_Sun=0x5578;                               
        DWORD Sun_num=624;                                                       
        DWORD TEMP_R;
        DWORD TEMP_W;
        while(1)
        {
        printf("\n****************************\n");
        printf("\n***打开WG O , 关闭WGQ***\n");
        printf("\n******* 无限阳光 S *********\n");
        printf("\n****************************\n\n\n");
        Command=getchar();
        getchar();
        if(Command=='Q'||Command=='q')break;
        else if(Command=='O'||Command=='o')
                {
                hWnd=FindWindow(NULL,"Plant vs.Zombies 1.2.0.1073 RELEASE");
                if(hWnd!=0)
                        {
                        GetWindowThreadProcessId(hWnd,&Pid);
                        printf("**********成功打开进程***********\n");
                        hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,Pid);                        //打开--得到进程最高权限
                        if(hProcess==0)printf("**********打开进程失败***********\n");
                        else printf("**********成功打开进程***********\n\n\n\n");
                        }
printf("**********请输入S 改写数据***********\n");
                Command=getchar();
                getchar();                                //消掉回车
                if(Command=='s'||Command=='S')
                        {       
                       
                                ReadProcessMemory(hProcess,&BaseAddress_Sun,&m_SunAddress,4,NULL);

                                m_SunAddress += FirstOffset_Sun;

                                TEMP_R=ReadProcessMemory(hProcess,&m_SunAddress,&m_SunAddress,4,NULL);
                            if(TEMP_R!=0)printf("**********读到数据***********\n");
                                else printf("**********读数据失败***********\n");
                                printf("TEMP_R=%X\n\n",TEMP_R);                                        //调试
                                m_SunAddress += Second_Offset_Sun;

                                //m_SunAddress=0x1D52A240;
                                TEMP_W=WriteProcessMemory(hProcess,&m_SunAddress,&Sun_num,4,NULL);
                                        printf("TEMP_W=%X",TEMP_W);                                        //调试
                               
                        //        printf("m_SunAddress=%X\n\n",m_SunAddress);
                                if(TEMP_W!=0)printf("**********成功写入数据***********\n");
                                else printf("**********写入失败***********\n");
                               
       
                        }
                else printf("**********写入数据失败***********\n");
                }
        }
}

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-12-16 08:18:23 | 显示全部楼层
呼呼 LZ写WG用易语言比较简单点吧。
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-12-16 11:58:00 | 显示全部楼层
本帖最后由 逾越书 于 2020-4-9 10:38 编辑


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-16 22:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表