| 
 | 
 
 
发表于 2019-2-3 22:36:05
|
显示全部楼层
 
 
 
 
void DbgPrintRenwu(void)        //打印任务列表 
{ 
        //dc [[[[02E12480+1898]+4E8]+0*8]*0xD4+[0x2BCB60C]+4] 第一个任务的名字 
        __try 
        { 
                DWORD ndBase = *(DWORD *)(Base_suoyouduixiang + 0x1898); 
                DbgPrint("ndBase1=%x", ndBase); 
                ndBase = *(DWORD *)(ndBase + 0x4e8); 
                DWORD renwu[50] = {0}; 
                DbgPrint("ndBase2=%x", ndBase); 
                for(int i = 0; i < 50; i++) 
                { 
                        if(i == 2) 
                        { 
                                renwu = (*(DWORD *)(ndBase + i * 0x8)) * 0xD4; 
                                DbgPrint("%x", renwu);                // 看一看这里输出了什么 
                                while(1); 
                        } 
                        if(i == 4) 
                        { 
                                continue; 
                        } 
                        renwu = (*(DWORD *)(ndBase + i * 0x8)) * 0xD4; 
                        renwu = *(DWORD *)(renwu + *(DWORD *)(0x2BCB60C) + 0x4); 
                        if(renwu == NULL) 
                        { 
                                continue; 
                        } 
 
                        DbgPrint("第%d个任务的名字是%s\r\n", i, renwu); 
                } 
        }__except(1) 
        { 
                DbgPrint("void DbgPrintRenwu(void)出现异常\r\n"); 
        } 
        DbgPrint("33333333"); 
} 
 |   
 
 
 
 |