SolvedComo pegar uma base estática ?

Posts 1–15 of 26 · Page 1 of 2
Como pegar uma base estática ?
olá, bom ..., eu vim aqui pedir uma pequena informação sobre como eu pego a base de um endereço estatico tipo asim:



o endereço que esta na foto é 0B8968FE esse endereço é o level do meu personagem no RPG que estou jogando porém toda vez que eu entro no jogo a base 0B89 muda porém o resto 68FE continua o mesmo, o que eu quero saber é como faço pra pegar a base automaticamente e somar a 68FE ?
alguém sabe ?.

oque eu queria fazer é simples só um metodo de quando meu personagem atingir determinado level emitir um som para que eu retorne ao jogo e de um reset no personagem.

Code:
DWORD WINAPI MuManiacos(LPVOID)
{
    while(1)
    {
        DWORD MyLevels = (COMO_PEGAR_A_BASE, 0x100000, (PBYTE)"\x5F\x5F\x5F\x5F\x41\x76\x41\x73\x54\x5F\x00\x08\x00\x00\xBD\x00\x00\x00\x00\x00\x9C\x37\x37\x04\xF4\x01", "xxxxxxxxxxxxxxx????xxxxxxx") + 0xE);

        if(MyLevels >= 300)
        {
            Beep(562, 100);
        }
        else
        {

        }
        Sleep(100);
    }
    return FALSE;
}
@Code64, @BACKD00R, @SNIPdetta, @Alessandro10
porque não usa findpattern mesmo?
Quote Originally Posted by Code64 View Post
porque não usa findpattern mesmo?
não tem como usar findpattern sem a base para o scan ali.
Quote Originally Posted by luizimloko View Post


não tem como usar findpattern sem a base para o scan ali.
Tentou pelo CE ?
Certifique-se de apertar ctrl+a para o olly analisar o código, caso o código não mude nesse local isso dai não passa de junk code, percebesse olhando a img, qualquer um Reverse Engineering iria concordar comigo.

#Resposta a pergunta.
Se a ImageBase do módulo é dinâmica é porque a DllCharacteristics(CFF Explorer) ou DLL Flags(PeTools) está setada != 0, para tornar a imagebase fixa é só usar um PE editor e setar para 0 as DllCharacteristics que fica no Optional Header.

Para pegar a ImageBase de um modulo se usa GetModuleHandle ou simplesmente pegue da PEB.

Code:
 GetModuleHandle(0); //Como o módulo é o main.exe deve se usar 0
ou pela PEB
Code:
 mov eax,fs:[0x30]
mov eax,[eax+8]
Quote Originally Posted by 0xB4DF00D View Post
Certifique-se de apertar ctrl+a para o olly analisar o código, caso o código não mude nesse local isso dai não passa de junk code, percebesse olhando a img, qualquer um Reverse Engineering iria concordar comigo.

#Resposta a pergunta.
Se a ImageBase do módulo é dinâmica é porque a DllCharacteristics(CFF Explorer) ou DLL Flags(PeTools) está setada != 0, para tornar a imagebase fixa é só usar um PE editor e setar para 0 as DllCharacteristics que fica no Optional Header.

Para pegar a ImageBase de um modulo se usa GetModuleHandle ou simplesmente pegue da PEB.

Code:
 GetModuleHandle(0); //Como o módulo é o main.exe deve se usar 0
ou pela PEB
Code:
 mov eax,fs:[0x30]
mov eax,[eax+8]
nada a ver com ImageBase, o endereço está dentro de uma THREAD, por isso não é fixo, thread é executada como se fosse outro programa externo so que pertence ao mesmo processo.
Quote Originally Posted by Code64 View Post
nada a ver com ImageBase, o endereço está dentro de uma THREAD, por isso não é fixo, thread é executada como se fosse outro programa externo so que pertence ao mesmo processo.
como eu faço para pegar a thread que contem o endereço e somar a + 68FE ?
Quote Originally Posted by luizimloko View Post


como eu faço para pegar a thread que contem o endereço e somar a + 68FE ?
está ai uma boa pergunta rsrs..

Quote Originally Posted by Flengo View Post
Couldn't you just do ModuleBase + Offset?

So your address would be Address - ModuleBase

You would use it as DWORD Address = (DWORD)GetModuleHandle("YourModule.exe") + 0xOFFSET;

Not is module, is thread
Já tentou procurar ele na aba Threads pela Ident que tem ali e pegar a entry dele, sei lá se isso está certo, é só uma idéia
Quote Originally Posted by FR1GHT View Post
Já tentou procurar ele na aba Threads pela Ident que tem ali e pegar a entry dele, sei lá se isso está certo, é só uma idéia
aquilo lá muda também
No mu eu uso o ProcessHacker e o SigmaEngine e da na mesma!
Couldn't you just do ModuleBase + Offset?

So your address would be Address - ModuleBase

You would use it as DWORD Address = (DWORD)GetModuleHandle("YourModule.exe") + 0xOFFSET;

Quote Originally Posted by Flengo View Post
Couldn't you just do ModuleBase + Offset?

So your address would be Address - ModuleBase

You would use it as DWORD Address = (DWORD)GetModuleHandle("YourModule.exe") + 0xOFFSET;

but i dont have the module
Posts 1–15 of 26 · Page 1 of 2
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?