To tentando Hook uma dll em um GameServer 97d+99i Ja localizei os offSets 07311658 <=> LoadlidraryA 07311620 <=> GetProcAddress 004CC1B6 <=> OffSet Limpo 004CC1C8 <=> OffSetFunçao 1ª Abrir o Game Server Com Olly e localizei os offSets achei esses. 004CC13B <=> EntryPoint 07311658 <=> LoadlidraryA 07311620 <=> GetProcAddress 2ª Localizar uma área em branco caracterizada como OffSet vazios (OffSet Limpo) 3ª Selecionei a linha do OffSet vazio cliquei com o botao direito e selecionei Foltow in Dump em ASCII escrevi o nome da dll e a Funçao respeitando os digitos 004CC1B6 <=> OffSet Limpo Nome Da dll 004CC1C8 <=> OffSet Limpo Nome Da Funçao Da dll ================================================== ======================================= ====================================ASCII========= ======================================= ================================================== ======================================= CPU Dump Address Hex dump ASCII 004CC1B6 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00| HardPower.dll (<=Nome Da dll 13 digitos) HardPower CPU Dump Address Hex dump ASCII 004CC1C8 00 00 00 00|00 00 00 00|00 00 00 00|00 00 00 00| GameServer (<=Nome Da Funçao Da dll 10 digitos) 4ª Dei um espaço de 50 OffSets 5ª Selecionei alguns OffSet Vazios ai cliquei com o botao direito digitar em (edit)=> (Fill With NOPs) esses codigos que eu vi em um tutorial. PUSH 004CC1B6 = OffSet Limpo CALL DWORD PTR DS:[07311658] =LoadlidraryA OR EAX,EAX JE 004CC13B = EntryPoint PUSH 004CC1C8 = OffSetFunçao PUSH EAX CALL DWORD PTR DS:[07311620] = GetProcAddress CALL EAX JMP 004CC13B CPU Disasm Address Hex dump Command Comments 004CC1B5 00 DB 00 004CC1B6 47 INC EDI 004CC1B7 61 POPAD 004CC1B8 6D INS DWORD PTR ES:[EDI],DX ; I/O command 004CC1B9 65:53 PUSH EBX ; Superfluous segment override prefix 004CC1BB 65:72 76 JB SHORT 004CC234 ; Superfluous segment override prefix 004CC1BE 65:72 2E JB SHORT 004CC1EF ; Superfluous segment override prefix 004CC1C1 64:6C INS BYTE PTR ES:[EDI],DX ; Superfluous segment override prefix 004CC1C3 6C INS BYTE PTR ES:[EDI],DX ; I/O command 004CC1C4 00 DB 00 004CC1C5 00 DB 00 004CC1C6 00 DB 00 004CC1C7 00 DB 00 004CC1C8 52 PUSH EDX 004CC1C9 65:61 POPAD ; Superfluous segment override prefix 004CC1CB 64:79 00 JNS SHORT 004CC1CE ; Superfluous segment override prefix 004CC1CE 00 DB 00 004CC1CF 00 DB 00 004CC1D0 00 DB 00 004CC1D1 00 DB 00 004CC1D2 00 DB 00 004CC1D3 00 DB 00 004CC1D4 00 DB 00 004CC1D5 00 DB 00 004CC1D6 00 DB 00 004CC1D7 00 DB 00 004CC1D8 00 DB 00 004CC1D9 00 DB 00 004CC1DA 00 DB 00 004CC1DB 00 DB 00 004CC1DC 00 DB 00 004CC1DD 00 DB 00 004CC1DE 00 DB 00 004CC1DF 00 DB 00 004CC1E0 00 DB 00 004CC1E1 00 DB 00 004CC1E2 00 DB 00 004CC1E3 00 DB 00 004CC1E4 00 DB 00 004CC1E5 00 DB 00 004CC1E6 00 DB 00 004CC1E7 00 DB 00 004CC1E8 00 DB 00 004CC1E9 00 DB 00 004CC1EA 00 DB 00 004CC1EB 00 DB 00 004CC1EC 00 DB 00 004CC1ED 00 DB 00 004CC1EE 00 DB 00 004CC1EF 00 DB 00 004CC1F0 00 DB 00 004CC1F1 00 DB 00 004CC1F2 00 DB 00 004CC1F3 00 DB 00 004CC1F4 00 DB 00 004CC1F5 00 DB 00 004CC1F6 68 B6C14C00 PUSH 004CC1B6 ; ASCII "HardPower.dll" 004CC1FB FF15 58163107 CALL DWORD PTR DS:[<&KERNEL32.LoadLibrar 004CC201 09C0 OR EAX,EAX 004CC203 ^ 0F84 32FFFFFF JE <ModuleEntryPoint> 004CC209 50 PUSH EAX 004CC20A 68 C8C14C00 PUSH 004CC1C8 ; ASCII "GameServer" 004CC20F 50 PUSH EAX 004CC210 FF15 20163107 CALL DWORD PTR DS:[<&KERNEL32.GetProcAdd 004CC216 FFD0 CALL EAX 004CC218 ^ E9 1EFFFFFF JMP <ModuleEntryPoint> 004CC21D 90 NOP 004CC21E 90 NOP 004CC21F 90 NOP 004CC220 90 NOP 004CC221 90 NOP 004CC222 90 NOP 004CC223 90 NOP 004CC224 90 NOP 004CC225 90 NOP 004CC226 90 NOP 004CC227 90 NOP 004CC228 90 NOP 004CC229 90 NOP 004CC22A 00 DB 00 6ª selecionei todos esses OffSets que colei aqui em cima ai cliquei em Edit Copy to executable na nova pela que abriu apertei em Save File GameServer. ================================================== ================================================== ============== LordPE Redefinir o EntryPoint Calculadora cientifica valor em Hex ai Subtraímos 004CC1B6 - 00400000 = CC1B6 = 000CC1B6 => Novo EntryPoint 004CC13B - 00400000 = CC13B = 000CC13B => EntryPoint 004CC1B6 - 00400000 = CC1B6 = 000CC1B6 => Novo EntryPoint Não ta funcionando o hook no gameserver nao sei se ta serto.
Brother, testa com este EntryPoint 0x0049F8E8 como original. Porque você ta passando seu EntryPoint no Hook, tem que ser o EntryPoint original do GameServer. No caso vai ficar assim. PUSH 004CC1B6 CALL DWORD PTR DS:[07311658] OR EAX,EAX JE 0049F8E8 PUSH 004CC1C8 = OffSetFunçao PUSH EAX CALL DWORD PTR DS:[07311620] CALL EAX JMP 0049F8E8
Explore seu conhecimento antes que os outros o Explore.
se alterar o entrypoint no lordpe com o olly aberto, ele não salva a mudança, tente fechar o olly antes de mudar o entrypoint, depois de feito, abra novamente com olly pra ver se está abrindo no novo entrypoint. se for esse o caso... att
Sê Sóbrio...
nao ta dando serto deve ser o gameserver tem como vc ou alguem posta uma Gameserver unpacked?
Este aqui ta unpacked, testa ele ae [Somente usuários registrados podem vem os links. ]
vlw pelo GameServer.
Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)
Regras do Fórum