(CUSTOM TOOLTIP) (tooltiparray*)NewAddressData3

Publicado por Dakosmu, Mar 15, 2023, 01:14 PM

Tema anterior - Siguiente tema

Dakosmu

INFORMACION
(CUSTOM TOOLTIP) (tooltiparray*)NewAddressData3


void SetDword2(DWORD offset,DWORD value) // OK
{
    DWORD OldProtect;

    VirtualProtect((void*)offset,4,PAGE_EXECUTE_READWRITE,&OldProtect);

    *(DWORD*)(offset) = value;

    VirtualProtect((void*)offset,4,OldProtect,&OldProtect);
}



void LoadReferenceAddressTable(HMODULE mod,char* name,DWORD address) // OK
{
    if(IS_INTRESOURCE(name) == 0)
    {
        return;
    }

    HRSRC resource = FindResource(mod,name,"BIN");

    if(resource == 0)
    {
        return;
    }

    if(SizeofResource(mod,resource) < sizeof(REFERENCE_INFO))
    {
        return;
    }

    HGLOBAL data = LoadResource(mod,resource);

    if(data == 0)
    {
        return;
    }

    REFERENCE_INFO* ReferenceInfo = (REFERENCE_INFO*)LockResource(data);

    if(ReferenceInfo == 0)
    {
        FreeResource(data);
        return;
    }

    if(ReferenceInfo->start == ReferenceInfo->end)
    {
        if(SizeofResource(mod,resource) < (sizeof(REFERENCE_INFO)+(ReferenceInfo->count*sizeof(REFERENCE_BASE))))
        {
            return;
        }

        REFERENCE_BASE* ReferenceBase = (REFERENCE_BASE*)((DWORD)ReferenceInfo+sizeof(REFERENCE_INFO));

        for(DWORD n=0;n < ReferenceInfo->count;n++)
        {
            if(ReferenceBase[n].address > 0x5c65f9 && ReferenceBase[n].address < 0x967000)
            {
                SetDword2((ReferenceBase[n].address-0x150),address);
            }
            else if(ReferenceBase[n].address > 0x967000)
            {
                if(ReferenceBase[n].address == 0x9688a9)
                {
                    ReferenceBase[n].address = 0x9688a9-2;
                }
                if(ReferenceBase[n].address == 0x9688fb)
                {
                    ReferenceBase[n].address = 0x9688fb-2;
                }
                if(ReferenceBase[n].address == 0x968939)
                {
                    ReferenceBase[n].address = 0x968939-2;
                }
                if(ReferenceBase[n].address == 0x968a50)
                {
                    ReferenceBase[n].address = 0x968a50-2;
                }
                if(ReferenceBase[n].address == 0x968a95)
                {
                    ReferenceBase[n].address = 0x968a95-2;
                }
                if(ReferenceBase[n].address == 0x968ad6)
                {
                    ReferenceBase[n].address = 0x968ad6-2;
                }
                if(ReferenceBase[n].address == 0x968b15)
                {
                    ReferenceBase[n].address = 0x968b15-2;
                }
                if(ReferenceBase[n].address == 0x968b85)
                {
                    ReferenceBase[n].address = 0x968b85-2;
                }
                if(ReferenceBase[n].address == 0x968c2e)
                {
                    ReferenceBase[n].address = 0x968c2e-2;
                }
                if(ReferenceBase[n].address == 0x968c6d)
                {
                    ReferenceBase[n].address = 0x968c6d-2;
                }
                if(ReferenceBase[n].address == 0x968d23)
                {
                    ReferenceBase[n].address = 0x968d23-2;
                }
                if(ReferenceBase[n].address == 0x968da0)
                {
                    ReferenceBase[n].address = 0x968da0-2;
                }
                if(ReferenceBase[n].address == 0x968e3f)
                {
                    ReferenceBase[n].address = 0x968e3f-2;
                }
                if(ReferenceBase[n].address == 0x968e7e)
                {
                    ReferenceBase[n].address = 0x968e7e-2;
                }
                if(ReferenceBase[n].address == 0x968f89)
                {
                    ReferenceBase[n].address = 0x968f89-2;
                }
                if(ReferenceBase[n].address == 0x9690a5)
                {
                    ReferenceBase[n].address = 0x9690a5-2;
                }
                if(ReferenceBase[n].address == 0x9690ef)
                {
                    ReferenceBase[n].address = 0x9690ef-2;
                }
                if(ReferenceBase[n].address == 0x969139)
                {
                    ReferenceBase[n].address = 0x969139-2;
                }
                if(ReferenceBase[n].address == 0x96918e)
                {
                    ReferenceBase[n].address = 0x96918e-2;
                }
                if(ReferenceBase[n].address == 0x969272)
                {
                    ReferenceBase[n].address = 0x969272-2;
                }
                SetDword2((ReferenceBase[n].address-0x183),address);
            }
            else
            {
                SetDword2(ReferenceBase[n].address,address);
            }
           
        }
    }
    else
    {
        if(SizeofResource(mod,resource) < (sizeof(REFERENCE_INFO)+(ReferenceInfo->count*sizeof(REFERENCE_DATA))))
        {
            return;
        }

        REFERENCE_DATA* ReferenceData = (REFERENCE_DATA*)((DWORD)ReferenceInfo+sizeof(REFERENCE_INFO));

        for(DWORD n=0;n < ReferenceInfo->count;n++)
        {
            if(ReferenceData[n].address > 0x5c65f9 && ReferenceData[n].address < 0x967000)
            {
                SetDword2((ReferenceData[n].address-0x150),(address+ReferenceData[n].value));
               
            }
            else if(ReferenceData[n].address > 0x967000)
            {
                if(ReferenceData[n].address == 0x9688a9)
                {
                    ReferenceData[n].address = 0x9688a9-2;
                }
                if(ReferenceData[n].address == 0x9688fb)
                {
                    ReferenceData[n].address = 0x9688fb-2;
                }
                if(ReferenceData[n].address == 0x968939)
                {
                    ReferenceData[n].address = 0x968939-2;
                }
                if(ReferenceData[n].address == 0x968a50)
                {
                    ReferenceData[n].address = 0x968a50-2;
                }
                if(ReferenceData[n].address == 0x968a95)
                {
                    ReferenceData[n].address = 0x968a95-2;
                }
                if(ReferenceData[n].address == 0x968ad6)
                {
                    ReferenceData[n].address = 0x968ad6-2;
                }
                if(ReferenceData[n].address == 0x968b15)
                {
                    ReferenceData[n].address = 0x968b15-2;
                }
                if(ReferenceData[n].address == 0x968b85)
                {
                    ReferenceData[n].address = 0x968b85-2;
                }
                if(ReferenceData[n].address == 0x968c2e)
                {
                    ReferenceData[n].address = 0x968c2e-2;
                }
                if(ReferenceData[n].address == 0x968c6d)
                {
                    ReferenceData[n].address = 0x968c6d-2;
                }
                if(ReferenceData[n].address == 0x968d23)
                {
                    ReferenceData[n].address = 0x968d23-2;
                }
                if(ReferenceData[n].address == 0x968da0)
                {
                    ReferenceData[n].address = 0x968da0-2;
                }
                if(ReferenceData[n].address == 0x968e3f)
                {
                    ReferenceData[n].address = 0x968e3f-2;
                }
                if(ReferenceData[n].address == 0x968e7e)
                {
                    ReferenceData[n].address = 0x968e7e-2;
                }
                if(ReferenceData[n].address == 0x968f89)
                {
                    ReferenceData[n].address = 0x968f89-2;
                }
                if(ReferenceData[n].address == 0x9690a5)
                {
                    ReferenceData[n].address = 0x9690a5-2;
                }
                if(ReferenceData[n].address == 0x9690ef)
                {
                    ReferenceData[n].address = 0x9690ef-2;
                }
                if(ReferenceData[n].address == 0x969139)
                {
                    ReferenceData[n].address = 0x969139-2;
                }
                if(ReferenceData[n].address == 0x96918e)
                {
                    ReferenceData[n].address = 0x96918e-2;
                }
                if(ReferenceData[n].address == 0x969272)
                {
                    ReferenceData[n].address = 0x969272-2;
                }
               
                SetDword2((ReferenceData[n].address-0x183),(address+ReferenceData[n].value));
               
            }
            else
            {
                SetDword2(ReferenceData[n].address,(address+ReferenceData[n].value));
            }
               
           
           
        }
    }

    FreeResource(data);
}



In Main 1.04D
disable socket text

SetCompleteHook(0xE8, (0x007E5B70-0x150), AttachToolTipForSocketItem);//disable socket text

int AttachToolTipForSocketItem(LPVOID thisa, ITEM* Temp, int TextNum)
{
   //return ForSocketItem(thisa, Temp, TextNum);//enable sockets
   return TextNum;//disable
}



CREDITOS
realman

Bon Dia

🡱 🡳