• 标 题:贴上《联众俄罗斯方块》必胜代码 (1022字)
  • 作 者:hoto
  • 时 间:2002-12-31 8:17:25
  • 链 接:http://bbs.pediy.com

int buf[10][20];
    HWND wnd1;
    HANDLE ID;
    DWORD Pid;
    int i;
    unsigned long len;
    long *m_addr; //联众俄罗斯方块的关键数组地址
    m_addr = (long *) 0x677d68;
    ::memset(buf,0,800);
    
    if( (wnd1 = ::FindWindow(NULL,"联众俄罗斯方块(网络版)"))==NULL)
    {
        AfxMessageBox("联众俄罗斯方块(网络版)未运行!");
        return;
    }
    ::GetWindowThreadProcessId(wnd1,&Pid);
    ID=::OpenProcess(PROCESS_ALL_ACCESS,false,Pid);
    if(ID)
    {
        ::ReadProcessMemory(ID,m_addr,buf,800,&len);//将俄罗斯方块的数据读入buf数组中
        for(i=0;i<10;i++)//以下让最底的4行全满。
        {
            if(buf[i][19]==0) buf[i][19]=1;//数组的值代表不同颜色的方块
            if(buf[i][18]==0) buf[i][18]=2;
            if(buf[i][17]==0) buf[i][17]=3;
            if(buf[i][16]==0) buf[i][16]=4;
        }

        ::WriteProcessMemory(ID,m_addr,buf,800,&len);//将处理过的值再次写入俄罗斯方块中。对方一定死翘翘了。
        ::CloseHandle(ID);
        ::BringWindowToTop(wnd1);
    }
------------------------------------------------------

这是以前写的。现在不知俄罗斯方块升级了没有。
业余编程,高手莫笑。