阿杰 发表于 2011-2-28 09:42:52

魔兽开图_120E源码

BOOL HackOn_120E()
{

        DWORD GameAddr=(DWORD)GetModuleHandle(L"game.dll");
        DWORD oldpro;
        BYTE _data;
        BYTE*p=b120E;
        VirtualProtect((LPVOID)(GameAddr+0x01000),0x704000,PAGE_EXECUTE_READWRITE,&oldpro);

        ///////////////////////////////////////////////////大地图去除迷雾
        if(*p++)
        {
                patch(0x406B53,"\x90\x8B\x09");

        }
        ///////////////////////////////////////////////////大地图显示单位
        if(*p++)
        {
                patch(0x2A0930,"\xD2");

        }
        ///////////////////////////////////////////////////大地图显示隐形
        if(*p++)
        {
                patch(0x17D4C2,"\x90\x90");
                patch(0x17D4CC,"\xEB\x00\xEB\x00\x75\x30");
        }
        ///////////////////////////////////////////////////////分辨幻影
        if(*p++)
        {
                patch(0x1ACFFC,"\x40\xC3");
        }
        ///////////////////////////////////////////////////////显示神符
        if(*p++)
        {
                patch(0x2A07C5,"\x49\x4B\x33\xDB\x33\xC9");
        }
        ///////////////////////////////////////////////////小地图去除迷雾
        if(*p++)
        {
                patch(0x147C53,"\xEC");
        }
        //////////////////////////////////////////////////////显示单位
        if(*p++)
        {
                patch(0x1491A8, "\x00");
        }
        /////////////////////////////////////////////////////显示隐形
        if(*p++)
        {
                patch(0x1494E0,"\x33\xC0\x0F\x85");
        }
        ////////////////////////////////////////////////////敌方信号
        if(*p++)
        {
                patch(0x321CC4,"\x39\xC0\x0F\x85");
                patch(0x321CD7,"\x39\xC0\x75");
        }
        //////////////////////////////////////////////////他人提示
        if(*p++)
        {
                patch(0x124DDD,"\x39\xC0\x0F\x85");
        }
        /////////////////////////////////////////////////显示敌方头像
        if(*p++)
        {
                patch(0x137BA5,"\xE7\x7D");
                patch(0x137BAC,"\x85\xA3\x02\x00\x00\xEB\xCE\x90\x90\x90\x90");
        }
        //////////////////////////////////////////////////盟友头像
        if(*p++)
        {
                patch(0x137BA5,"\xE7\x7D");
                patch(0x137BB1,"\xEB\xCE\x90\x90\x90\x90");
        }
        //////////////////////////////////////////////数字显攻速
        if(*p++)
        {
                patch(0x802E67,"\x32");
                patch(0x13BA61,"\x90\xD9\x45\x08\x83\xEC\x08\xDD\x1C\x24\x68");
                DWORD tmp=0x802E64+GameAddr;
                memcpy(LPVOID(GameAddr+0x13BA6C),&tmp,4);
                patch(0x13BA70,"\x8D\x55\xA0\x6A\x7F\x52\xE8\x27\x7E\x25\x00\x83\xC4\x14\x6A\x7F\x8D\x45\xA0\x50");
        }
        /////////////////////////////////////////////数字显移速
        if(*p++)
        {
                patch(0x802E67,"\x32");
                patch(0x13C3F2,"\x90\xD9\x45\x08\x83\xEC\x08\xDD\x1C\x24\x68");
                DWORD tmp=0x802E64+GameAddr;
                memcpy(LPVOID(GameAddr+0x13C3FD),&tmp,4);
                patch(0x13C401,"\x8D\x55\x98\x6A\x7F\x52\xE8\x96\x74\x25\x00\x83\xC4\x14\x6A\x7F\x8D\x45\x98\x50");
        }
        //////////////////////////////////////////////资源面板
        if(*p++)
        {
                patch(0x13EF03,"\xEB");
        }
        /////////////////////////////////////////////允许交易
        if(*p++)
        {
                patch(0x127B3D,"\x40\xB8\x64");
        }
        //////////////////////////////////////////////显示技能
        if(*p++)
        {
                patch(0x12DC1A,"\x33");
                patch(0x12DC1B,"\xC0");
                patch(0x12DC5A,"\x33");
                patch(0x12DC5B,"\xC0");
                patch(0x1BFABE,"\xEB");
                patch(0x442CC0,"\x90");
                patch(0x442CC1,"\x40");
                patch(0x442CC2,"\x30");
                patch(0x442CC3,"\xC0");
                patch(0x442CC4,"\x90");
                patch(0x442CC5,"\x90");
                patch(0x443375,"\x30");
                patch(0x443376,"\xC0");
                patch(0x45A641,"\x90");
                patch(0x45A642,"\x90");
                patch(0x45A643,"\x33");
                patch(0x45A644,"\xC0");
                patch(0x45A645,"\x90");
                patch(0x45A646,"\x90");
                patch(0x45E79E,"\x90");
                patch(0x45E79F,"\x90");
                patch(0x45E7A0,"\x33");
                patch(0x45E7A1,"\xC0");
                patch(0x45E7A2,"\x90");
                patch(0x45E7A3,"\x90");
                patch(0x466527,"\x90");
                patch(0x466528,"\x90");
                patch(0x46B258,"\x90");
                patch(0x46B259,"\x33");
                patch(0x46B25A,"\xC0");
                patch(0x46B25B,"\x90");
                patch(0x46B25C,"\x90");
                patch(0x46B25D,"\x90");
                patch(0x4A11A0,"\x33");
                patch(0x4A11A1,"\xC0");
                patch(0x54C0BF,"\x90");
                patch(0x54C0C0,"\x33");
                patch(0x54C0C1,"\xC0");
                patch(0x54C0C2,"\x90");
                patch(0x54C0C3,"\x90");
                patch(0x54C0C4,"\x90");
                patch(0x5573FE,"\x90");
                patch(0x5573FF,"\x90");
                patch(0x557400,"\x90");
                patch(0x557401,"\x90");
                patch(0x557402,"\x90");
                patch(0x557403,"\x90");
                patch(0x55E15C,"\x90");
                patch(0x55E15D,"\x90");
        }
        ///////////////////////////////////////////////资源条

        if(*p++)
        {
                patch(0x150981,"\xEB\x02");
                patch(0x1509FE,"\xEB\x02");
                patch(0x151597,"\xEB\x02");
                patch(0x151647,"\xEB\x02");
                patch(0x151748,"\xEB\x02");
                patch(0x1BED19,"\xEB\x02");
                patch(0x314A9E,"\xEB\x02");
                patch(0x21EAD4,"\xEB");
                patch(0x21EAE8,"\x03");
        }
        /////////////////////////////////////////////////野外显血
        if(*p++)
        {
                patch(0x166E5E,"\x90\x90\x90\x90\x90\x90\x90\x90");
                patch(0x16FE0A,"\x33\xC0\x90\x90");
        }
        ////////////////////////////////////////////////视野外点选
        if(*p++)
        {
                patch(0x1BD5A7,"\x90\x90");
                patch(0x1BD5BB,"\xEB");
        }
        /////////////////////////////////////////////////无限取消
        if(*p++)
        {
                patch(0x23D60F,"\xEB");
                patch(0x21EAD4,"\x03");
                patch(0x21EAE8,"\x03");
        }
        //////////////////////////////////////////////////过-MH
        if(*p++)
        {
                patch(0x2C5A7E,"\x90\x90");
        }

        /////////////////////////////////////////反-AH
        if(*p++)
        {
                patch(0x2C240C,"\x3C\x4C\x74\x04\xB0\xFF\xEB\x04\xB0\xB0\x90\x90");
                patch(0x2D34ED,"\xE9\xB3\x00\x00\x00\x90");

        }
        ////////////////////////////////////////////////////////////
        VirtualProtect((LPVOID)(GameAddr+0x01000),0x704000,oldpro,&oldpro);
        return TRUE;
}
BOOL HackOn_124B()
{
        DWORD GameAddr=(DWORD)GetModuleHandle(L"game.dll");
        DWORD oldpro;
        BYTE *p=b124B;
        VirtualProtect((LPVOID)(GameAddr+0x01000),0x87E000,PAGE_EXECUTE_READWRITE,&oldpro);
        /////////////////////////////////////////////////////////////////////大地图去除迷雾
        if(*p++)
        {
                patch(0x74D103,"\xC6\x04\x3E\x01\x90\x46");
        }
        ///////////////////////////////////////////////////////大地图显示单位
        if(*p++)
        {
                patch(0x3A201D, "\xEB");
        }
        ////////////////////////////////////////////////////////大地图显示隐形
        if(*p++)
        {


                patch(0x3622D1,"\x3B");
                patch(0x3622D4,"\x85");

                patch(0x39A45B,"\x90\x90\x90\x90\x90\x90");
                patch(0x39A46E,"\x90\x90\x90\x90\x90\x90\x90\x90\x33\xC0\x40");
        }
        /////////////////////////////////////////////////////分辨幻影
        if(*p++)
        {


                patch(0x28351C,"\x40\xC3");
        }
        /////////////////////////////////////////////////////显示神符
        if(*p++)
        {


                patch(0x4076CA,"\x90\x90");

                patch(0x3A1F5B,"\xEB");
        }
        ///////////////////////////////////////////////////////小地图去除迷雾
        if(*p++)
        {
                patch(0x356FA5,"\x90\x90");
        }
        /////////////////////////////////////////////////////小地图显示单位

        if(*p++)
        {
                patch(0x361EAB,"\x90\x90\x39\x5E\x10\x90\x90\xB8\x00\x00\x00\x00\xEB\x07");
        }

        ///////////////////////////////////////////////////////小地图显示隐形

        if(*p++)
        {
                patch(0x361EBC,"\x00");

        }
        //////////////////////////////////////////////////////敌方信号
        if(*p++)
        {

                patch(0x43F956,"\x3B");
                patch(0x43F959,"\x85");
                patch(0x43F969,"\x3B");
                patch(0x43F96C,"\x85");
        }
        ////////////////////////////////////////////////////////他人提示
        if(*p++)
        {
                patch(0x334529,"\x39\xC0\x0F\x85");
        }
        ///////////////////////////////////////////////////////敌人头像
        if(*p++)
        {
                patch(0x371640,"\xE8\x3B\x28\x03\x00\x85\xC0\x0F\x85\x8F\x02\x00\x00\xEB\xC9\x90\x90\x90\x90");
        }

        /////////////////////////////////////////////////////盟友头像
        if(*p++)
        {
                patch(0x371640,"\xE8\x3B\x28\x03\x00\x85\xC0\x0F\x84\x8F\x02\x00\x00\xEB\xC9\x90\x90\x90\x90");
        }
        ////////////////////////////////////////////////////////////数显攻速
        if(*p++)
        {
                patch(0x87E9A3,"\x25\x30\x2E\x32\x66\x7C\x52\x00");
                patch(0x87E9B0,"\x8D\x4C\x24\x18\xD9\x44\x24\x60\x83\xEC\x08\xDD\x1C\x24\x68");
                DWORD tmp=0x87E9A3+GameAddr;
                memcpy(LPVOID(GameAddr+0x87E9BF),&tmp,4);
                patch(0x87E9C3,"\x57\x51\xE8\xBC\xD2\xE6\xFF\x83\xC4\x14\x58\x57\x8D\x4C\x24\x18\xFF\xE0");
                patch(0x339D34,"\xE8\x77\x4C\x54\x00");

        }
        //////////////////////////////////////////////////////////数显移速
        if(*p++)
        {
                patch(0x87E9A3,"\x25\x30\x2E\x32\x66\x7C\x52\x00");
                patch(0x87E9B0,"\x8D\x4C\x24\x18\xD9\x44\x24\x60\x83\xEC\x08\xDD\x1C\x24\x68");
                DWORD tmp=0x87E9A3+GameAddr;
                memcpy(LPVOID(GameAddr+0x87E9BF),&tmp,4);
                patch(0x87E9C3,"\x57\x51\xE8\xBC\xD2\xE6\xFF\x83\xC4\x14\x58\x57\x8D\x4C\x24\x18\xFF\xE0");
                patch(0x339B94,"\xE8\x17\x4E\x54\x00");

        }
        //////////////////////////////////////////////////////资源面板
        if(*p++)
        {

                patch(0x3604CA,"\x90\x90");
        }
        ///////////////////////////////////////////////////////允许交易
        if(*p++)
        {


                patch(0x34E822,"\xB8\xE0\x03\x00");

                patch(0x34E827,"\x90");

                patch(0x34E82A,"\xB8\x64\x90\x90");
                patch(0x34E82F,"\x90");
        }

        //////////////////////////////////////////////////////查看技能
        if(*p++)
        {


                patch(0x28EC8E,"\xEB");

                patch(0x20318C,"\x90\x90\x90\x90\x90\x90");
                patch(0x34FD28,"\x90\x90");
                patch(0x34FD66,"\x90\x90\x90\x90");
        }
        ////////////////////////////////////////////////////////资源条
        if(*p++)
        {

        }
        ////////////////////////////////////////////////////////野外显血
        if(*p++)
        {

        }
        ////////////////////////////////////////////////////////视野外点击
        if(*p++)
        {


                patch(0x285C4C,"\x90\x90");
                patch(0x285C62,"\xEB");
        }

        /////////////////////////////////////////////////////////////无限取消
        if(*p++)
        {
                patch(0x57B9FC,"\xEB");
                patch(0x5B2CC7,"\x03");
                patch(0x5B2CDB,"\x03");

        }
        ////////////////////////////////////////////////////////过-MH
        if(*p++)
        {
                patch(0x3C8407,"\xEB\x11");
                patch(0x3C8427,"\xEB\x11");

        }
        //////////////////////////////////////////////////////////反-AH
        if(*p++)
        {
                patch(0x3C6E1C,"\xB8\xFF\x00\x00\x00\xEB");
                patch(0x3CC2F2,"\xEB");
        }

        ///////////////////////////////////////////////////////////////////
        VirtualProtect((LPVOID)(GameAddr+0x01000),0x87E000,oldpro,&oldpro);

        return TRUE;
}
BOOL HackOn_124E()
{
        DWORD GameAddr=(DWORD)GetModuleHandle(L"game.dll");
        DWORD oldpro;
        BYTE* p=b124E;


        VirtualProtect((LPVOID)(GameAddr+0x01000),0x87E000,PAGE_EXECUTE_READWRITE,&oldpro);
        ////////////////////////////////////////////////////////////////////////大地图去除迷雾
        if(*p++)
        {
                patch(0x74D1B9,"\xB2\x00\x90\x90\x90\x90");
        }
        ////////////////////////////Reveal units map
        if(*p++)
        {

        patch(0x39EBBC,"\x75");
        patch(0x3A2030,"\x90");
        patch(0x3A2031,"\x90");
        patch(0x3A20DB,"\x90");
        patch(0x3A20DC,"\x90");
        }
        //show invisible
        if(*p++)
        {

//         patch(0x356FFE,"\x90");
//         patch(0x356FFF,"\x90");
//         patch(0x357000,"\x90");
        patch(0x362391,"\x3B");
        patch(0x362394,"\x85");
        patch(0x39A51B,"\x90");
        patch(0x39A51C,"\x90");
        patch(0x39A51D,"\x90");
        patch(0x39A51E,"\x90");
        patch(0x39A51F,"\x90");
        patch(0x39A520,"\x90");
        patch(0x39A52E,"\x90");
        patch(0x39A52F,"\x90");
        patch(0x39A530,"\x90");
        patch(0x39A531,"\x90");
        patch(0x39A532,"\x90");
        patch(0x39A533,"\x90");
        patch(0x39A534,"\x90");
        patch(0x39A535,"\x90");
        patch(0x39A536,"\x33");
        patch(0x39A537,"\xC0");
        patch(0x39A538,"\x40");
        }
        //show illusions
        if(*p++)
        {
        patch(0x28357C,"\x40");
        patch(0x28357D,"\xC3");
        }
        //
        //show items
        if(*p++)
        {
        patch(0x3A201B,"\xEB");
        patch(0x40A864,"\x90");
        patch(0x40A865,"\x90");
        }
        ////////////////////////////////////////////小地图 去除迷雾
        if(*p++)
        {
                patch(0x357065,"\x90\x90");
        }
        //Reveal units map minimap
        if(*p++)
        {
        patch(0x361F7C,"\x00");
        }
        /////////////////////////////////////////////小地图显示隐形
        if(*p++)
        {

        }
        /////////////////////////////////////////////敌方信号
        if(*p++)
        {
                patch(0x43F9A6,"\x3B");
                patch(0x43F9A9,"\x85");
                patch(0x43F9B9,"\x3B");
                patch(0x43F9BC,"\x85");

        }
        /////////////////////////////////////////////他人提示
        if(*p++)
        {
                patch(0x3345E9,"\x39\xC0\x0F\x85");

        }

        //enemy hero icons
        if(*p++)
        {

                patch(0x371700,"\xE8\x3B\x28\x03\x00\x85\xC0\x0F\x85\x8F\x02\x00\x00\xEB\xC9\x90\x90\x90\x90");

        }
        /////////////////////////////////////盟友头像
        if(*p++)
        {
                patch(0x371700,"\xE8\x3B\x28\x03\x00\x85\xC0\x0F\x84\x8F\x02\x00\x00\xEB\xC9\x90\x90\x90\x90");

        }
        ////////////////////////////////////////////////////////////数显攻速
        if(*p++)
        {
                patch(0x87EA63,"\x25\x30\x2E\x32\x66\x7C\x52\x00");
                patch(0x87EA70,"\x8D\x4C\x24\x18\xD9\x44\x24\x60\x83\xEC\x08\xDD\x1C\x24\x68");
                DWORD tmp=0x87EA63+GameAddr;
                OD1(L"%08X",GameAddr);
                OD1(L"%08X",tmp);
                memcpy(LPVOID(GameAddr+0x87EA7F),&tmp,4);
                patch(0x87EA83,"\x57\x51\xE8\xBC\xD2\xE6\xFF\x83\xC4\x14\x58\x57\x8D\x4C\x24\x18\xFF\xE0");
                patch(0x339DF4,"\xE8\x77\x4C\x54\x00");

        }
        //////////////////////////////////////////////////////////数显移速
        if(*p++)
        {
                patch(0x87EA63,"\x25\x30\x2E\x32\x66\x7C\x52\x00");
                patch(0x87EA70,"\x8D\x4C\x24\x18\xD9\x44\x24\x60\x83\xEC\x08\xDD\x1C\x24\x68");
                DWORD tmp=0x87EA63+GameAddr;
                OD1(L"%08X",GameAddr);
                OD1(L"%08X",tmp);
                memcpy(LPVOID(GameAddr+0x87EA7F),&tmp,4);
                patch(0x87EA83,"\x57\x51\xE8\xBC\xD2\xE6\xFF\x83\xC4\x14\x58\x57\x8D\x4C\x24\x18\xFF\xE0");
                patch(0x339C54,"\xE8\x17\x4E\x54\x00");

        }
        //show resources
        if(*p++)
        {

        patch(0x36058A,"\x90");
        patch(0x36058B,"\x90");
        }
        ///////////////////////////////////////////
        //enable trade amount
        if(*p++)
        {
        patch(0x34E8E2,"\xB8");
        patch(0x34E8E3,"\xC8");
        patch(0x34E8E4,"\x00");
        patch(0x34E8E5,"\x00");
        patch(0x34E8E7,"\x90");
        patch(0x34E8EA,"\xB8");
        patch(0x34E8EB,"\x64");
        patch(0x34E8EC,"\x00");
        patch(0x34E8ED,"\x00");
        patch(0x34E8EF,"\x90");
        }
        if(*p++)
        {


        //show skills
        patch(0x2031EC,"\x90");
        patch(0x2031ED,"\x90");
        patch(0x2031EE,"\x90");
        patch(0x2031EF,"\x90");
        patch(0x2031F0,"\x90");
        patch(0x2031F1,"\x90");
        patch(0x34FDE8,"\x90");
        patch(0x34FDE9,"\x90");
        //show cooldowns
        patch(0x28ECFE,"\xEB");
        patch(0x34FE26,"\x90");
        patch(0x34FE27,"\x90");
        patch(0x34FE28,"\x90");
        patch(0x34FE29,"\x90");
        }
        //////////////////////////////////////////////资源条
        if(*p++)
        {

        }
        //////////////////////////////////////////////野外显血
        if(*p++)
        {

        }

        //clickable units
        if(*p++)
        {

        patch(0x285CBC,"\x90");
        patch(0x285CBD,"\x90");
        patch(0x285CD2,"\xEB");
        }

        //////////////////////////////////////////////////无限取消
        if(*p++)
        {
                patch(0x57BA7C,"\xEB");
                patch(0x5B2D77,"\x03");
                patch(0x5B2D8B,"\x03");

        }
        /////////////////////////////////////////////////////过-MH
        if(*p++)
        {
                patch(0x3C84C7,"\xEB\x11");
                patch(0x3C84E7,"\xEB\x11");
        }
        ////////////////////////////////////////////////////反-AH
        if(*p++)
        {       
                patch(0x3C6EDC,"\xB8\xFF\x00\x00\x00\xEB");
                patch(0x3CC3B2,"\xEB");

        }
//         ///////////////////////////////////////////////////////他人选框
//         if(*p++)
//         {
//
//         }
        //////////////////////////////////////////////////////////////////////////
        VirtualProtect((LPVOID)(GameAddr+0x01000),0x87E000,oldpro,&oldpro);
        return TRUE;
}
BOOL HackOff_120E()
{
        DWORD GameAddr=(DWORD)GetModuleHandle(L"game.dll");
        DWORD oldpro;

        VirtualProtect((LPVOID)(GameAddr+0x01000),0x704000,PAGE_EXECUTE_READWRITE,&oldpro);

        patch(0x124DDD,"\x85");
        patch(0x124DE0,"\x84");
        patch(0x127B3D,"\x8B\x87\x68");
        patch(0x12DC1A,"\x74\x08");
        patch(0x12DC5A,"\x74\x08");
        patch(0x137BA5,"\xD7\x7F");
        patch(0x137BAC,"\x84");
        patch(0x137BB1,"\x8B\x83\x80\x01\x00\x00");
        patch(0x13B400,"\xD8\x62\x08");
        patch(0x13BA61,"\x68\x00\x02\x00\x00\x8D\x4D\xA0\x51\x8D\x95\x20\xFD\xFF\xFF\x52\xE8\x56\x7E\x25\x00\x85\xF6\x74\x16\x68\x00\x02\x00\x00\x68");
        DWORD tmp=0x802CC8+GameAddr;
        memcpy(LPVOID(0x13BA80+GameAddr),&tmp,4);
        patch(0x13C3F2,"\x68\x00\x02\x00\x00\x8D\x45\x98\x50\x8D\x8D\x18\xFD\xFF\xFF\x51\xE8\xC5\x74\x25\x00\x85\xF6");
        patch(0x13C40A,"\x16\x68\x00\x02\x00\x00\x68");
        tmp=0x802CC8+GameAddr;
        memcpy(LPVOID(0x13C411+GameAddr),&tmp,4);
        patch(0x13EF03,"\x75");
        patch(0x147C53,"\xE4");
        patch(0x1491A8,"\x01");
        patch(0x1494E0,"\x85");
        patch(0x1494E3,"\x84");
        patch(0x150981,"\x85\xC0");
        patch(0x1509FE,"\x85\xC0");
        patch(0x151597,"\x85\xC0");
        patch(0x151647,"\x85\xC0");
        patch(0x151748,"\x85\xC0");
        patch(0x166E5E,"\x85\xC0\x0F\x84\xBB\x03\x00\x00");
        patch(0x16FE0A,"\x85");
        patch(0x16FE0C,"\x74\x78");
        patch(0x17D4C2,"\x75\x0E");
        patch(0x17D4CC,"\x0F\x85\xB0");
        patch(0x17D4D0,"\x00\x00");
        patch(0x1ACFFC,"\xC3\x90");
        patch(0x1BD5A7,"\x74\x2E");
        patch(0x1BD5BB,"\x75");
        patch(0x1BED19,"\x85\xC0");
        patch(0x1BFABE,"\x75");
        patch(0x21EAD4,"\x00");
        patch(0x21EAE8,"\x01");
        patch(0x23D60F,"\x7A");
        patch(0x2A07C5,"\x8B\x59\x14\x8B\x49\x10");
        patch(0x2A0930,"\xC9");
        patch(0x2C240C,"\x3D\xFF\x00\x00\x00\x76\x05\xC1\xF8\x1F\xF6\xD0");
        patch(0x2C5A7E,"\xEB\x0D");
        patch(0x2D34ED,"\x0F\x84\xB2");
        patch(0x2D34F2,"\x00");
        patch(0x314A9E,"\x85\xC1");
        patch(0x321CC4,"\x85");
        patch(0x321CC7,"\x84");
        patch(0x321CD7,"\x85");
        patch(0x321CD9,"\x74");
        patch(0x406B53,"\x8B\x49\x08");
        patch(0x442CC0,"\x0F\x84\xDC\x00\x00\x00");
        patch(0x443375,"\x74\x1E");
        patch(0x45A641,"\x0F\x84\x60\x01\x00\x00");
        patch(0x45E79E,"\x0F\x84\x26\x01\x00\x00");
        patch(0x466527,"\x74\x0F");
        patch(0x46B258,"\x0F\x84\x91\x00\x00\x00");
        patch(0x4A11A0,"\x74\x0F");
        patch(0x54C0BF,"\x0F\x84\xF7\x00\x00\x00");
        patch(0x5573FE,"\x0F\x84\x61\x01\x00\x00");
        patch(0x55E15C,"\x74\x4A");


        VirtualProtect((LPVOID)(GameAddr+0x01000),0x704000,oldpro,&oldpro);
        return TRUE;

}
BOOL HackOff_124B()
{
        DWORD GameAddr=(DWORD)GetModuleHandle(L"game.dll");
        DWORD oldpro;

        VirtualProtect((LPVOID)(GameAddr+0x01000),0x87E000,PAGE_EXECUTE_READWRITE,&oldpro);
        patch(0x20318C,"\x0F\x84\x5F\x01\x00\x00");
        patch(0x28351C,"\xC3\xCC");
        patch(0x285C4C,"\x74\x2A");
        patch(0x285C62,"\x75");
        patch(0x28EC8E,"\x75");
        patch(0x334529,"\x85");
        patch(0x33452C,"\x84");
        patch(0x339B94,"\x57\x8D\x4C\x24\x18");
        patch(0x339D34,"\x57\x8D");
        patch(0x339D37,"\x24\x18");
        patch(0x34E822,"\x8B\x87\x6C\x01");
        patch(0x34E827,"\x00");
        patch(0x34E82A,"\x8B\x87\x68\x01");
        patch(0x34E82F,"\x00");
        patch(0x34FD28,"\x74\x08");
        patch(0x34FD66,"\x85\xC0\x74\x08");
        patch(0x356FA5,"\x88\x01");
        patch(0x3604CA,"\xEB\x08");
        patch(0x361EAB,"\x75\x0C");
        patch(0x361EB0,"\x75\x07\xB9\x01");
        patch(0x361EB8,"\x02");
        patch(0x361EBC,"\x01");
        patch(0x3622D1,"\x85");
        patch(0x3622D4,"\x84");
        patch(0x371641,"\xFB\x29");
        patch(0x37164D,"\x8B\x85\x80\x01\x00\x00");
        patch(0x39A45B,"\x8B\x97\x98\x01\x00\x00");
        patch(0x39A46E,"\x0F\xB7\x00\x55\x50\x56\xE8\xF7\x7B\x00\x00");
        patch(0x3A1F5B,"\x75");
        patch(0x3A201D,"\x75");
        patch(0x3C6E1C,"\x3D");
        patch(0x3C6E21,"\x76");
        patch(0x3C8407,"\x6A\x00");
        patch(0x3C8427,"\x6A\x00");
        patch(0x3CC2F2,"\x74");
        patch(0x4076CA,"\x75\x0A");
        patch(0x43F956,"\x85");
        patch(0x43F959,"\x84");
        patch(0x43F969,"\x85");
        patch(0x43F96C,"\x84");
        patch(0x57B9FC,"\x7A");
        patch(0x5B2CC7,"\x00");
        patch(0x5B2CDB,"\x01");
        patch(0x74D103,"\x88\x14");
        patch(0x74D106,"\x83\xC6\x01");
        patch(0x87E9A3,"\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC");
        patch(0x87E9B0,"\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xC3\xCC\xCC\xCC\xCC");


        VirtualProtect((LPVOID)(GameAddr+0x01000),0x87E000,oldpro,&oldpro);
        return TRUE;

}
BOOL HackOff_124E()
{
        DWORD GameAddr=(DWORD)GetModuleHandle(L"game.dll");
        DWORD oldpro;

        VirtualProtect((LPVOID)(GameAddr+0x01000),0x87E000,PAGE_EXECUTE_READWRITE,&oldpro);

        patch(0x2031EC,"\x0F\x84\x5F\x01\x00\x00");
        patch(0x28357C,"\xC3\xCC");
        patch(0x285CBC,"\x74\x2A");
        patch(0x285CD2,"\x75");
        patch(0x28ECFE,"\x75");
        patch(0x3345E9,"\x85");
        patch(0x3345EC,"\x84");
        patch(0x339C54,"\x57\x8D\x4C\x24\x18");
        patch(0x339DF4,"\x57\x8D");
        patch(0x339DF7,"\x24\x18");
        patch(0x34E8E2,"\x8B\x87\x6C\x01");
        patch(0x34E8E7,"\x00");
        patch(0x34E8EA,"\x8B\x87\x68\x01");
        patch(0x34E8EF,"\x00");
        patch(0x34FDE8,"\x74\x08");
        patch(0x34FE26,"\x85\xC0\x74\x08");
        patch(0x356FFE,"\x66\x85\xC0");
        patch(0x357065,"\x88\x01");
        patch(0x36058A,"\xEB\x08");
        patch(0x361F7C,"\x01");
        patch(0x362391,"\x85");
        patch(0x362394,"\x84");
        patch(0x371701,"\xFB\x29");
        patch(0x371708,"\x84");
        patch(0x37170D,"\x8B\x85\x80\x01\x00\x00");
        patch(0x39A51B,"\x8B\x97\x98\x01\x00\x00");
        patch(0x39A52E,"\x0F\xB7\x00\x55\x50\x56\xE8\xF7\x7B\x00\x00");
        patch(0x39EBBC,"\x74");
        patch(0x3A201B,"\x75");
        patch(0x3A2030,"\xEB\x09");
        patch(0x3A20DB,"\x23\xCA");
        patch(0x3C6EDC,"\x3D");
        patch(0x3C6EE1,"\x76");
        patch(0x3C84C7,"\x6A\x00");
        patch(0x3C84E7,"\x6A\x00");
        patch(0x3CC3B2,"\x74");
        patch(0x40A864,"\x75\x0A");
        patch(0x43F9A6,"\x85");
        patch(0x43F9A9,"\x84");
        patch(0x43F9B9,"\x85");
        patch(0x43F9BC,"\x84");
        patch(0x57BA7C,"\x7A");
        patch(0x5B2D77,"\x00");
        patch(0x5B2D8B,"\x01");
        patch(0x74D1B9,"\x8A\x90");
        DWORD tmp=0xAB7E6C+GameAddr;
        memcpy(LPVOID(GameAddr+0x74D1BB),&tmp,4);
        patch(0x87EA63,"\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC");
        patch(0x87EA70,"\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xC3\xCC\xCC\xCC\xCC");

        VirtualProtect((LPVOID)(GameAddr+0x01000),0x87E000,oldpro,&oldpro);
        return TRUE;
}

rshell 发表于 2011-3-5 16:39:55

不是很理解云 云

马大哈 发表于 2011-3-7 08:35:45

这个真够可怕的........

helpmsg 发表于 2011-3-12 14:02:09

一看就知道不能过 游戏平台的检测。
页: [1]
查看完整版本: 魔兽开图_120E源码