Outubro 23, 2014, 09:00:34 am
collapse

Anúncios

Anúncios Google

Autor Tópico: [Tutorial] Criando um speed hack em DLL (Delphi 7)  (Lida 4896 vezes)

Offline sephiroth

  • ***
  • *****
  • Hero Member
  • Agradecimentos:
    Agradeceu: 21
    Recebeu: 194
  • Mensagens: 836
  • Pontuação: 16
  • (( Hacks no coração ))
[Tutorial] Criando um speed hack em DLL (Delphi 7)
« Online: Dezembro 26, 2011, 09:12:14 pm »
Olá galera, vou encinar a vocês neste tópico a como criar um speed hack em uma dll (Funciona em todos os processos, dependendo de alguns jogos ele poderá ser detectado ou não funcionar caso exista game guard (anti hack)).

Vamos começar:

O que iremos precisar para fazer este speed hack:
- Delphi 7
- Saber o intermediário do delphi

Começaremos pela DLL:

Clique em: File>New>Other> DLL Wizard

Renomeie a dll para speedhack.

Apague as uses até o end.  e coloque este código no lugar:

Código:
You are not allowed to view links. Register or Login
uses
SysUtils,
Classes,
speedhackunit in 'speedhackunit.pas',
ui in 'ui.pas' {Form1};

{$R *.res}

exports acceleration;
exports sleeptime;


begin
sui:=tui.create(false);

end.

Agora clique em:

File>New>Form

Adicone nas uses:
speedhackunit;

E em baixo da type coloque:

Código:
You are not allowed to view links. Register or Login
type
TUI = class(tthread)
public
procedure execute; override;
end;

Ficando assim:




Adicione os componentes:

2 - Edits
2 - Labels
1 - Botão

Terá que ficar assim:



E adicone nas váriaveis (var):

Código:
You are not allowed to view links. Register or Login
sui: tui;
Agora coloque esté código embaixo do {$R *.dfm}

Código:
You are not allowed to view links. Register or Login
procedure TUI.execute;
begin
form1:=tform1.Create(nil);
form1.ShowModal;
end;
Depois disso clique duas vezes no botão1 (Cujo nome terá que ser "Ligar speed Hack") e apague o begin e o end; e coloque o seguinte código no lugar:

Código:
You are not allowed to view links. Register or Login
var a: single;
s: dword;
begin
s:=strtoint(edit2.text);
a:=strtofloat(edit1.Text);

sleeptime:=s;
acceleration:=a;
end;

Após isso renomeie a unit da form para ui.

Agora crie uma nova unit em:

File>New>Unit

E renomeie ela para speedhackunit.

Agora apague tudo e coloque este código no lugar

Código:
You are not allowed to view links. Register or Login
unit speedhackunit;

interface
uses windows,classes;

type TAPIInfo = record
location: Pointer;
Original: Array [0..4] of byte;
Jump: Array [0..4] of byte;
end;

type TTick=class(TThread)
private
public
procedure Execute; override;
end;

procedure InitializeSpeedhack;
procedure StopSpeedhack;

procedure GetTime; stdcall;
//function GetTime:dword; stdcall;
function NewQueryPerformanceCounter(var output: int64):BOOl; stdcall;
var CETick: dword;
CETick64: int64;
Ticker: TTick;

PerformanceFrequency: int64;
PerformanceFrequencyMS: int64;
acceleration: single;
sleeptime: dword;
slow: boolean;
tickerstopped: boolean;
speedhackenabled: boolean;


timeGetTimeInfo:TAPiInfo;
getTickcountInfo: TAPIInfo;
QueryPerformanceCounterInfo: TAPIInfo;
winmmlib,kernel32lib: thandle;

implementation

procedure InitializeSpeedhack;
var op:dword;
begin
cetick:=gettickcount;
//change the gettickcount and timegettime functions so that they look at cetick
if ticker<>nil then
begin
ticker.Terminate;
stopspeedhack;
end;
ticker:=nil;


winmmlib:=LoadLibrary('winmm.dll');
if winmmlib<>0 then
begin
timeGetTimeInfo.location:=GetProcAddress(winmmlib, 'timeGetTime');
if VirtualProtect(timeGetTimeInfo.location,5,PAGE_EXE CUTE_READWRITE,op) then
begin
timeGetTimeInfo.jump[0]:=$e9;
pdword(@timeGetTimeInfo.jump[1])^:=dword(@GetTime)-dword(timeGetTimeInfo.location)-5;

try
asm
//store original
push edi
push esi
lea edi,timeGetTimeInfo.original[0]
mov esi,timeGetTimeInfo.location
movsd
movsb

//replace with jump
lea esi,timeGetTimeInfo.jump[0]
mov edi,timeGetTimeInfo.location
movsd
movsb

pop esi
pop edi
end;
except

end;
end;
end;


kernel32lib:=LoadLibrary('kernel32.dll');
if kernel32lib<>0 then
begin
//gettickcount
GetTickCountInfo.location:=GetProcAddress(kernel32 lib,'GetTickCount');
if VirtualProtect(GetTickCountInfo.location,5,PAGE_EX ECUTE_READWRITE,op) then
begin
GetTickCountInfo.jump[0]:=$e9;
pdword(@GetTickCountInfo.jump[1])^:=dword(@GetTime)-dword(GetTickCountInfo.location)-5;

try
asm
//store original
push edi
push esi
lea edi,GetTickCountInfo.original[0]
mov esi,GetTickCountInfo.location
movsd
movsb

//replace with jump
lea esi,GetTickCountInfo.jump[0]
mov edi,GetTickCountInfo.location
movsd
movsb

pop esi
pop edi
end;
except

end;
end;


//QueryPerformanceCounter
if QueryPerformanceFrequency(PerformanceFrequency) then
begin
QueryPerformanceCounter(CETick64);
PerformanceFrequencyMS:=PerformanceFrequency div 1000;

//there is a high performance counter
QueryPerformanceCounterInfo.location:=GetProcAddre ss(kernel32lib,'QueryPerformanceCounter');
if VirtualProtect(QueryPerformanceCounterInfo.locatio n,5,PAGE_EXECUTE_READWRITE,op) then
begin
QueryPerformanceCounterInfo.jump[0]:=$e9;
pdword(@QueryPerformanceCounterInfo.jump[1])^:=dword(@NewQueryPerformanceCounter)-dword(QueryPerformanceCounterInfo.location)-5;

try
asm
//store original
push edi
push esi
lea edi,QueryPerformanceCounterInfo.original[0]
mov esi,QueryPerformanceCounterInfo.location
movsd
movsb

//replace with jump
lea esi,QueryPerformanceCounterInfo.jump[0]
mov edi,QueryPerformanceCounterInfo.location
movsd
movsb

pop esi
pop edi
end;
except

end;
end;
end;
end;

speedhackenabled:=true;

if ticker=nil then ticker:=TTick.Create(false);
end;

procedure StopSpeedhack;
begin
if not speedhackenabled then exit;

speedhackenableD:=false;

try
asm
lea esi,timeGetTimeInfo.original[0]
mov edi,timeGetTimeInfo.location
movsd
movsb
end;
except

end;

try
asm
lea esi,GetTickCountInfo.original[0]
mov edi,GetTickCountInfo.location
movsd
movsb
end;
except

end;

try
asm
lea esi,QueryPerformanceCounterInfo.original[0]
mov edi,QueryPerformanceCounterInfo.location
movsd
movsb
end;
except

end;



FreeLibrary(winmmlib);
FreeLibrary(kernel32lib);
winmmlib:=0;
kernel32lib:=0;
if ticker<>nil then ticker.terminate;
ticker:=nil;
end;


procedure GetTime; stdcall;
asm
mov eax,[CETick]
ret
end;

{function GetTime:dword; stdcall;
begin
result:=CETick;
end;}

function NewQueryPerformanceCounter(var output: int64):BOOl; stdcall;
begin
output:=cetick64;
result:=true;
end;

procedure TTick.Execute;
begin
tickerstopped:=false;
freeonterminate:=true;
priority:=tpTimeCritical; //if not a thread with higher priority will prevent the timer from running
while not terminated do
begin
inc(cetick64,trunc(acceleration*(PerformanceFreque ncy / (1000 / sleeptime))) );
inc(cetick,trunc(sleeptime*acceleration));
sleep(sleeptime);
end;
tickerstopped:=true;
end;

initialization
acceleration:=1.8;
sleeptime:=10;
InitializeSpeedhack;

end.

Após isso é so salvar e compilar (f9).

ATENÇÃO: Este speed hack é uma dll então você terá que ter um injetor de dll para usar ou para testar.

Créditos: Sephiroth

Abrass... a todos.

SEPHIROTH PRA COLABORADOR EM PROGRAMAÇAO
You are not allowed to view links. Register or Login


Offline guguk08

  • *
  • Iniciante
  • Agradecimentos:
    Agradeceu: 0
    Recebeu: 1
  • Mensagens: 7
  • Pontuação: 0
Re:[Tutorial] Criando um speed hack em DLL (Delphi 7)
« Resposta #1 Online: Abril 02, 2012, 11:03:44 pm »
Bem to tentando fazer aqui e ta dando erro na parte

procedure TUI.execute;
begin
form1:=tform1.Create(nil);
form1.ShowModal;
end;

Tem como dar uma força?
 O resto fiz tudo certo.

Offline sephiroth

  • ***
  • *****
  • Hero Member
  • Agradecimentos:
    Agradeceu: 21
    Recebeu: 194
  • Mensagens: 836
  • Pontuação: 16
  • (( Hacks no coração ))
Re:[Tutorial] Criando um speed hack em DLL (Delphi 7)
« Resposta #2 Online: Abril 02, 2012, 11:05:07 pm »
amigo testei aki denovo deu tudo certo tenta refazer deve tar digitando algo errado
You are not allowed to view links. Register or Login


Offline guguk08

  • *
  • Iniciante
  • Agradecimentos:
    Agradeceu: 0
    Recebeu: 1
  • Mensagens: 7
  • Pontuação: 0
Re:[Tutorial] Criando um speed hack em DLL (Delphi 7)
« Resposta #3 Online: Abril 03, 2012, 12:32:41 am »
Acabei de refazer e passei dessa parte, so ta dando erro la no final nessa parte....
if VirtualProtect(timeGetTimeInfo.location,5,PAGE_EXE CUTE_READWRITE,op)

ele ta falando isso
[Error] speedhackunit.pas(61): Undeclared identifier: 'PAGE_EXE'

O que eu faço aqui?

Offline sephiroth

  • ***
  • *****
  • Hero Member
  • Agradecimentos:
    Agradeceu: 21
    Recebeu: 194
  • Mensagens: 836
  • Pontuação: 16
  • (( Hacks no coração ))
Re:[Tutorial] Criando um speed hack em DLL (Delphi 7)
« Resposta #4 Online: Abril 03, 2012, 12:40:51 am »
You are not allowed to view links. Register or Login
Acabei de refazer e passei dessa parte, so ta dando erro la no final nessa parte....
if VirtualProtect(timeGetTimeInfo.location,5,PAGE_EXE CUTE_READWRITE,op)

ele ta falando isso
[Error] speedhackunit.pas(61): Undeclared identifier: 'PAGE_EXE'

O que eu faço aqui?

refais essa parte final e pronto ^^ aki em csa deu isso refiz e deu certo
You are not allowed to view links. Register or Login


Offline guguk08

  • *
  • Iniciante
  • Agradecimentos:
    Agradeceu: 0
    Recebeu: 1
  • Mensagens: 7
  • Pontuação: 0
Re:[Tutorial] Criando um speed hack em DLL (Delphi 7)
« Resposta #5 Online: Abril 03, 2012, 12:50:12 am »
To refazendo e nada ;S

Offline prO_deaTh

  • *
  • Iniciante
  • Agradecimentos:
    Agradeceu: 1
    Recebeu: 0
  • Mensagens: 1
  • Pontuação: 0
Re:[Tutorial] Criando um speed hack em DLL (Delphi 7)
« Resposta #6 Online: Novembro 01, 2012, 07:59:59 am »
Nos ensine como renomear a unit e oque mais vc pediu para renomear, porque eu tentei e não foi, e na net eu tentei do modo que eles falaram mas tbm n foi :S

Faz uma video aula pra ficar melhor.

ajuda ai por favor :D
« Última modificação: Novembro 01, 2012, 08:24:06 am por prO_deaTh »

Offline RenanLV

  • ***
  • *****
  • Hero Member
  • Agradecimentos:
    Agradeceu: 4
    Recebeu: 128
  • Mensagens: 2.252
  • Pontuação: 15
    • Game Hacks
Re:[Tutorial] Criando um speed hack em DLL (Delphi 7)
« Resposta #7 Online: Novembro 01, 2012, 11:47:03 am »
You are not allowed to view links. Register or Login
Nos ensine como renomear a unit e oque mais vc pediu para renomear, porque eu tentei e não foi, e na net eu tentei do modo que eles falaram mas tbm n foi :S

Faz uma video aula pra ficar melhor.

ajuda ai por favor :D

Apenas Logo Depois Que Criado a Unit1, Você Vai em Salvar e Salva com o Nome Desejado
Ex: Salvar Como "ui"
e Depois Feche e Abra o Novamente agora a Unit na Pasta na Qual Salvou, Que Esta Nomeada "ui.pas" ou "ui.dfm".

Vida à lá carte .

Offline yamsohe

  • *
  • Iniciante
  • Agradecimentos:
    Agradeceu: 1
    Recebeu: 2
  • Mensagens: 45
  • Pontuação: -5
Re:[Tutorial] Criando um speed hack em DLL (Delphi 7)
« Resposta #8 Online: Novembro 05, 2012, 08:33:15 am »
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
Nos ensine como renomear a unit e oque mais vc pediu para renomear, porque eu tentei e não foi, e na net eu tentei do modo que eles falaram mas tbm n foi :S

Faz uma video aula pra ficar melhor.

ajuda ai por favor :D


Caro Pr0_deaTh, este tópico está PATCHED e é bastante antigo ( Todos os Anti-Cheater's bloquearam ). Presumo que seja iniciante nessa área, Correto ? Se sim, recomendo tentar fazer Speed Hacker através do Visual Basic 10 e C++ ... Comece com Threads para ter uma noção e depois pesquise sobre API's do Windows ( Através dela tem como alterar a velocidade de um processo )... Para Mu eu já consegui fazer um Speed Hacker , Guild Hacker , Vault Hacker , Baú Unlock Hacker , Trade Hacker (Visual), Bug Arma Hacker , Move Hacker e Repair Hacker... Mas tudo isso através de um processo simples de ReadWritingMemory ( é como se ele interpretasse Addresses de Cheat Engine's )... Pesquise um pouco mais e se ficar interessado mande-me uma MP que ficarei feliz em prestar assistência via Team Viewer.

Grato, Yam.



« Última modificação: Novembro 05, 2012, 08:40:43 am por yamsohe »
Dijir Vou me Tornar um Coordenador deste fórum, pode escrever ! Vou ficar On aqui 24 Hrs e responder tudo que eu ver. Até que você reconheça meu esforço.

Offline NeverLande

  • *
  • Iniciante
  • Agradecimentos:
    Agradeceu: 0
    Recebeu: 0
  • Mensagens: 2
  • Pontuação: 0
Re:[Tutorial] Criando um speed hack em DLL (Delphi 7)
« Resposta #9 Online: Janeiro 25, 2013, 12:26:57 pm »
Po tem que fazer uma Video aula tá muito mal explicado  :-\

Tags:
 

Tópicos Relacionados

  Assunto / Iniciado por Respostas Última Mensagem:
12 Respostas
3926 Visualizações
Última Mensagem: Setembro 27, 2011, 08:04:04 pm
por Fuck_
0 Respostas
397 Visualizações
Última Mensagem: Dezembro 19, 2011, 09:07:30 am
por sephiroth
0 Respostas
278 Visualizações
Última Mensagem: Abril 25, 2012, 11:14:18 pm
por Ui-Egua
1 Respostas
1691 Visualizações
Última Mensagem: Fevereiro 09, 2013, 12:46:49 am
por rafaeldoss
3 Respostas
989 Visualizações
Última Mensagem: Junho 02, 2012, 05:03:20 pm
por athyla

Anúncios Google

* Posts Recentes Fora do Portal

clamufador de processo do windows por itallo_157
[Outubro 22, 2014, 01:00:29 pm]


Re:Meu Dijir Ta Bugado por Dijir
[Outubro 20, 2014, 07:50:33 pm]


Re:Duvida por Dijir
[Outubro 20, 2014, 07:47:27 pm]


Meu Dijir Ta Bugado por Maresia-BR
[Outubro 20, 2014, 05:44:09 pm]


Duvida por peitarankin
[Outubro 20, 2014, 03:08:00 pm]


Re:Sobre o Dijir por Dijir
[Outubro 20, 2014, 03:23:03 am]


Bazar Ddtank ajuda por predador3
[Outubro 19, 2014, 06:13:32 pm]


Re:Comprando pelo pagseguro por matheus14
[Outubro 17, 2014, 11:10:59 pm]

Anúncios


Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58