Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Ajuda Delphi Memory write


pedrokkklol
 Compartilhar

Posts Recomendados

Bom estou criando um Garena Hack... para quem não conhece Garena é

uma plataforma de jogos...

Queria fazer o botão patch que no caso

usa o memory write.. abilitando o map hack do warcraft.....

tenho os codigos só não sei aonde colocar e como.

os codigos

estão ai quem poder me ajudar

grato.

 

 

 

processArray := Process.GetProcessesByName('war3');

if (processArray.Length = 0) then

begin

self.WriteToLog('Error: Open Warcraft III first.');

exit

end;

 

for process in processArray do

begin

handle := process.Handle;

num := 0;

 

for module in processArray[0].Modules do

begin

if (module.ModuleName.ToLower = 'game.dll') then

begin

num := module.BaseAddress.ToInt32;

break;

 

end

end;

if (num = 0) then

begin

self.WriteToLog('Error: Didn''t find game.dll?');

exit

end;

if (self.revealUnitsMainmap.IsChecked = true) then

begin

Memory.Write(handle, ((num + $39ebbc) as IntPtr), self.StringToByteArray('75'), 1, 0);

Memory.Write(handle, ((num + $3a2030) as IntPtr), self.StringToByteArray('9090'), 2, 0);

Memory.Write(handle, ((num + $3a20db) as IntPtr), self.StringToByteArray('9090'), 2, 0);

Memory.Write(handle, ((num + $28357c) as IntPtr), self.StringToByteArray('40C3'), 2, 0);

Memory.Write(handle, ((num + $39a5d8) as IntPtr), self.StringToByteArray('EB'), 1, 0);

Memory.Write(handle, ((num + $3a201b) as IntPtr), self.StringToByteArray('EB'), 1, 0);

self.WriteToLog('9 bytes patched for revealing units on the mainmap.')

end;

 

ajudem -me

Link para o comentário
Compartilhar em outros sites

Open fire... tenho o codigo completo aki tenho o codigo que muda a memoria da genine do garena para poder usar o patcher do mh ;) se poder me ajudar agradeço, obrigado desde já.

queria fazer em modo patcher estilo tdt. que vc ajudou a criar.. porem axo meio dificil voce ajudar mais mesmo assim obrigado novamente.. msn para qualquer contato [email protected]

SmOk ^^"

ps mais no caso queria sómente desabilitar a proteção do garena e abilitar o mh... o Garena Crackiado já tenho

não é o ultimate é a versão 2010... porem todos os hacks hoje em dia dão o mesmo ganho de experiencia =/

 

 

Olhe o codigo enteiro .... procedure MainWindow.button_Click(sender: TObject; e: RoutedEventArgs);

var

process: Process;

module: ProcessModule;

process2: Process;

module2: ProcessModule;

begin

str := (sender as Button).Content.ToString;

if (str <> nil) then

begin

if (not (str = 'Patch')) then

if (not (str = 'Patch Garena')) then

begin

if (not (str = 'Camera Hack')) then

begin

if (str = 'Namespoofer') then

begin

if (File.Exists('Name Spoofer.exe')) then

begin

Process.Start('Name Spoofer.exe');

exit

end;

MessageBox.Show('Error: Place the Name Spoofer.exe in the same folder as the Maphack!')

end;

exit

end;

if (File.Exists('Camera Hack.exe')) then

begin

Process.Start('Camera Hack.exe');

exit

end;

MessageBox.Show('Error: Place the Camera Hack.exe in the same folder as the Maphack!');

exit

end

else

begin

processArray := Process.GetProcessesByName('war3');

if (processArray.Length = 0) then

begin

self.WriteToLog('Error: Open Warcraft III first.');

exit

end;

 

for process in processArray do

begin

handle := process.Handle;

num := 0;

 

for module in processArray[0].Modules do

begin

if (module.ModuleName.ToLower = 'game.dll') then

begin

num := module.BaseAddress.ToInt32;

break;

 

end

end;

if (num = 0) then

begin

self.WriteToLog('Error: Didn''t find game.dll?');

exit

end;

if (self.revealUnitsMainmap.IsChecked = true) then

begin

Memory.Write(handle, ((num + $39ebbc) as IntPtr), self.StringToByteArray('75'), 1, 0);

Memory.Write(handle, ((num + $3a2030) as IntPtr), self.StringToByteArray('9090'), 2, 0);

Memory.Write(handle, ((num + $3a20db) as IntPtr), self.StringToByteArray('9090'), 2, 0);

Memory.Write(handle, ((num + $28357c) as IntPtr), self.StringToByteArray('40C3'), 2, 0);

Memory.Write(handle, ((num + $39a5d8) as IntPtr), self.StringToByteArray('EB'), 1, 0);

Memory.Write(handle, ((num + $3a201b) as IntPtr), self.StringToByteArray('EB'), 1, 0);

self.WriteToLog('9 bytes patched for revealing units on the mainmap.')

end;

if (self.revealUnitsMinimap.IsChecked = true) then

begin

Memory.Write(handle, ((num + $361f7b) as IntPtr), self.StringToByteArray('B800'), 2, 0);

self.WriteToLog('2 bytes patched for revealing units on the minimap.')

end;

if (self.removeFogMainmap.IsChecked = true) then

begin

Memory.Write(handle, ((num + $74d1b9) as IntPtr), self.StringToByteArray('B200'), 2, 0);

Memory.Write(handle, ((num + $74d1bb) as IntPtr), self.StringToByteArray('90909090'), 4, 0);

self.WriteToLog('6 bytes patched for revealing fog on the mainmap.')

end;

if (self.removeFogMinimap.IsChecked = true) then

begin

Memory.Write(handle, ((num + $357065) as IntPtr), self.StringToByteArray('9090'), 2, 0);

self.WriteToLog('2 bytes patched for revealing fog on the minimap.')

end;

if (self.showSkillsAndCooldowns.IsChecked = true) then

begin

Memory.Write(handle, ((num + $2031ec) as IntPtr), self.StringToByteArray('909090909090'), 6, 0);

Memory.Write(handle, ((num + $28ecfe) as IntPtr), self.StringToByteArray('EB'), 1, 0);

Memory.Write(handle, ((num + $34fde8) as IntPtr), self.StringToByteArray('9090'), 2, 0);

Memory.Write(handle, ((num + $34fe28) as IntPtr), self.StringToByteArray('7400'), 2, 0);

self.WriteToLog('11 bytes patched for reavealing skills and cooldowns.')

end;

if (self.makeUnitsClickable.IsChecked = true) then

begin

Memory.Write(handle, ((num + $285cbc) as IntPtr), self.StringToByteArray('9090'), 2, 0);

Memory.Write(handle, ((num + $285cd2) as IntPtr), self.StringToByteArray('EB'), 1, 0);

self.WriteToLog('3 bytes patched for making units clickable.')

end;

if (self.showPings.IsChecked = true) then

begin

Memory.Write(handle, ((num + $43f9a6) as IntPtr), self.StringToByteArray('3B'), 1, 0);

Memory.Write(handle, ((num + $43f9a8) as IntPtr), self.StringToByteArray('0F85'), 2, 0);

Memory.Write(handle, ((num + $43f9b9) as IntPtr), self.StringToByteArray('3B'), 1, 0);

Memory.Write(handle, ((num + $43f9bb) as IntPtr), self.StringToByteArray('0F85'), 2, 0);

self.WriteToLog('6 bytes patched for showing enemy pings.')

end;

if (self.protectFromAH.IsChecked = true) then

begin

Memory.Write(handle, ((num + $3c6edc) as IntPtr), self.StringToByteArray('B8FF000000EB'), 6, 0);

Memory.Write(handle, ((num + $3cc3b2) as IntPtr), self.StringToByteArray('EB'), 1, 0);

self.WriteToLog('7 bytes patched to protect you from DotA -ah.')

end;

self.WriteToLog('Successfully patched all offsets!')

end;

exit

end;

processesByName := Process.GetProcessesByName('garena');

if (processesByName.Length <> 0) then

 

for process2 in processesByName do

begin

ptr2 := process2.Handle;

num2 := 0;

 

for module2 in process2.Modules do

begin

if (module2.ModuleName.ToLower = 'gengine.dll') then

begin

num2 := module2.BaseAddress.ToInt32;

break;

 

end

end;

if (num2 = 0) then

begin

self.WriteToLog('Error: GEngine not found?');

exit

end;

Memory.Write(ptr2, ($53b2ca as IntPtr), self.StringToByteArray('750F90909090'), 6, 0);

Memory.Write(ptr2, ($53b2f1 as IntPtr), self.StringToByteArray('E97D01000090'), 6, 0);

self.WriteToLog('12 bytes patched to disable the detection of Maphacks.');

Memory.Write(ptr2, ((num2 as IntPtr) + $24a0), self.StringToByteArray('C3'), 1, 0);

Memory.Write(ptr2, ((num2 as IntPtr) + $2c80), self.StringToByteArray('C3'), 1, 0);

self.WriteToLog('2 bytes patched to enable changing of Warcrafts memory.');

self.WriteToLog('Successfully disabled Garena protection.')

end

else

self.WriteToLog('Error: Open Garena first before patching.')

end

end;

 

 

 

 

 

 

Link para o comentário
Compartilhar em outros sites

1° o Garena 2010 não usa mais a GEngine.dll para proteger a memória do war agora eles usam SSDT Hook ou simplificando driver api hook e você não vai conseguir escrever nem na memória do Garena nem na do war.

 

2º essas suas offsets são todas outdated eu sei até de onde você pegou foi do GM quando era opensource.

 

3º eu não sei porque você quer fazer um GarenaHack porque já existe um free que é o GarenaMaster e ele é completo com MH e tudo tem até DotA features que eu add agora.

Link para o comentário
Compartilhar em outros sites

Open Fire.... não peguei do Garena Master 1 amigo disponibilisou para min....

Eu só queria desabiltar a proteção e fazer mh... se poder me ajudar =/ te agradeço muito

2° pq eu quero criar se já tem o garena master?

não quero concorrer simplesmente quero o conhecimentooo....

nunca divulguei nada doque eu já tentei fazer =O mais se poder por favor me ajude ;) eu agradeço seu post UEAHRheruehura!" add aew ^^ [email protected] se poder =O

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.