admin 发表于 2023-2-20 01:13:14

魔兽世界 控制遍历




**** Hidden Message *****



void 打印UI对象信息(UINT64 uiObj64)
{
        CStringA strLine;
        CStringA strTmp;
        strLine.Format("yjx:%llX ",uiObj64);
        UINT64* pList=(UINT64*)uiObj64;
        for (UINT i=0;i<500;i++)
        {
                strTmp.Format("%03X:%016llX ",i*8,pList);
                strLine+=strTmp;
        }
        strLine+="\r\n";
        TRACE(strLine);
}

////选线
//+018 //7F6 比较固定 ID 不知是不是固定的
////第8个

static UINT64 BASE_账号EDIT对象=0x22BAED8;

static UINT64 BASE_控件基址=0x22BAE68;
UINT64 遍历控件信息()
{
        //baqcb45@163.com   kujinganlai123
        UINT64 Base=R8(TBASE::GetExeBase()+BASE_控件基址);
        UINT 节点偏移=3*8*(0x7A+2);
        UINT_PTR *节点对象=(UINT_PTR *)R8(Base+节点偏移+0);
        UINT 节点控件数量=R8(Base+节点偏移+8);
        UINT64 账号对象=0;
        UINT64 密码对象=0;
        if (节点对象==NULL)
        {
                return NULL;
        }

        for (UINT i=0;i<节点控件数量;i++)
        {
               
       UINT64 pObj64=节点对象;       
       打印UI对象信息(pObj64);

        }


        return 密码对象;
}

// [+0BA0+8]//控件数量
//[[+0BA0]+8*0]

//[[+3*8(7A+2)]+8*0]
//[[+3*8(7A+分类值)+0]+8*0]
// [+3*8(7A+分类值)+8]

//0000000013B0E110+BA0
//0000000013B0E110+3*8(7A+2)
// [[+3*8(7A+2)]+8*0]
// [[+3*8(7A+2)]+8*0]
//[[+0BA0]+8*0]
//[[+0BA0]+8*0]
//+238]Editbox.Text

// 账号EidtBox对象
//+010 WORD//分类ID //这个可用
//+018 DWORD //ID
//+028 可能是VCALL地址 可做分类
//+0D8
//+0E8 //有值表示 EditBox? 不是的好像没值而且不同
//+108 //0F EditBox
//+238 //Text内容
//+250 //DWORD 字符串长度


页: [1]
查看完整版本: 魔兽世界 控制遍历