Ir para conteúdo
Sistema de Servidores de Jogos ×
  • Quem está por aqui   0 membros estão online

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

Posts Recomendados

Bom pessoal,estou criando um anti cheater,daí criei com as funções: Listar os processos(Button 2) e tirar prints(button 1) daí ele faz tudo isso,porém há 2 problemas: Ele salva com o mesmo nome,ou seja,se eu clicar 2 vezes ele vai substituir e vou ter apenas 1 print e 1 processo,o outro problema é que não sei como enviar esses dados para meu servidor FTP,alguém pode me ajudar? Se quiserem entrar no projeto: skype: stereomygame TS: lbgames.ts3dns.com

Codigo Do AC

 

unit ACNB;

 

interface

 

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, tlhelp32, XPMan, ShellApi, ExtCtrls, ComCtrls, jpeg;

 

type

TForm1 = class(TForm)

Button1: TButton;

ListBox1: TListBox;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.dfm}

procedure ScreenShot (Arquivo:string);

var

Bitmap : TBitmap;

DC : hDc;

jpg:TJPEGImage;

DesktopRect : TRect;

DesktopCanvas : TCanvas;

HoraAtu : DWord;

begin

HoraAtu := GetTickCount;

while GetTickCount-HoraAtu < 500 do

Application.ProcessMessages;

try

DC := GetDC(GetDesktopWindow);

try

DesktopCanvas := TCanvas.Create;

Bitmap := TBitmap.Create;

jpg:=TJPEGImage.Create;

try

Bitmap.Width := Screen.Width;

Bitmap.Height := Screen.Height;

DesktopCanvas.Handle := DC;

DeskTopRect := Rect(0,0,Screen.Width,Screen.Height);

Bitmap.Canvas.CopyRect(DeskTopRect,DeskTopCanvas,DeskTopRect);

jpg.CompressionQuality:=50;

jpg.Assign(Bitmap);

jpg.SaveToFile(Arquivo);

finally

Bitmap.Free;

jpg.Free;

ReleaseDC(GetDesktopWindow,DC);

end;

finally

Application.MainForm.Show;

end;

ReleaseDC(GetDesktopWindow,DC);

finally

Application.MainForm.Show;

end;

end;

function KillTask(ExeFileName: string): Integer;

const

PROCESS_TERMINATE = $0001;

var

ContinueLoop: BOOL;

FSnapshotHandle: THandle;

FProcessEntry32: TProcessEntry32;

begin

Result := 0;

FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

FProcessEntry32.dwSize := SizeOf(FProcessEntry32);

ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);

while Integer(ContinueLoop) <> 0 do

begin

if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =

UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =

UpperCase(ExeFileName))) then

Result := Integer(TerminateProcess(

OpenProcess(PROCESS_TERMINATE,

BOOL(0),

FProcessEntry32.th32ProcessID),

0));

ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);

end;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

var

Bitmap : TBitmap;

DC : hDc;

jpg:TJPEGImage;

DesktopRect : TRect;

DesktopCanvas : TCanvas;

HoraAtu : DWord;

begin

HoraAtu := GetTickCount;

while GetTickCount-HoraAtu < 500 do

Application.ProcessMessages;

try

DC := GetDC(GetDesktopWindow);

try

DesktopCanvas := TCanvas.Create;

Bitmap := TBitmap.Create;

jpg:=TJPEGImage.Create;

try

Bitmap.Width := Screen.Width;

Bitmap.Height := Screen.Height;

DesktopCanvas.Handle := DC;

DeskTopRect := Rect(0,0,Screen.Width,Screen.Height);

Bitmap.Canvas.CopyRect(DeskTopRect,DeskTopCanvas,DeskTopRect);

jpg.CompressionQuality:=50;

jpg.Assign(Bitmap);

jpg.SaveToFile ('C:/Screenshots/''teste.jpg');

finally

Bitmap.Free;

jpg.Free;

ReleaseDC(GetDesktopWindow,DC);

end;

finally

Application.MainForm.Show;

end;

ReleaseDC(GetDesktopWindow,DC);

finally

Application.MainForm.Show;

end;

end;

 

procedure TForm1.Button2Click(Sender: TObject);

var

MyHandle: THandle;

Struct: TProcessEntry32;

begin

MyHandle:=CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, 0);

Struct.dwSize:=Sizeof(TProcessEntry32);

if Process32First(MyHandle, Struct) then

listbox1.Items.Add(Struct.szExeFile);

while Process32Next(MyHandle, Struct) do

listbox1.IteMs.Add(Struct.szExeFile);

listbox1.Items.SaveToFile('c:\Screenshots\processo.txt');

end;

 

 

procedure TForm1.FormCreate(Sender: TObject);

begin

 

end;

 

end.

Link para o comentário
https://www.webcheats.com.br/topic/2104793-anti-cheater-ajuda-para-enviar/
Compartilhar em outros sites

Se fosse em VB.NET eu te ajudaria pois fiz Anti Hack mais n lancei. o Anti Executavel era uma peça dele mais muito mais complexa....

Mais voltando ao assunto.

Não mexo em Delphi mais vc tem que fazer o seguinte....

Ao Tirar print você tem que por um comando de sorteio de numeros e o resultado para uma string dai quando for salvar a Print ficaria String.jpg No caso você poderia por Sorteio do numero 0 até 999999999 dai ficaria meio dificil de repetir.

- E Para ir para o Servidor vc tem q ver com alguem ai PRO do Delphi para te dizer como fazer.

Flw!

Não tem coisa melhor que se aprofundar em Visual Basic ! =D

Dúvidas sobre meus projetos ? dúvidas em algo ? Add Skype !

[email protected]

Link para o comentário
https://www.webcheats.com.br/topic/2104793-anti-cheater-ajuda-para-enviar/#findComment-8442539
Compartilhar em outros sites

Para salvar sem substituir basta criar uma função que leia um número em um .txt depois só ler o número adicionar +1 e salvar com o nome correspondente. Continha de mais simples não ?

 

tópico movido

 

 

Enviado do meu iPhone usando Tapatalk

Membro - Bronze - Geek - Bronze - Tech - Mod - Coord - Co-Admin - Platinum

Link para o comentário
https://www.webcheats.com.br/topic/2104793-anti-cheater-ajuda-para-enviar/#findComment-8443111
Compartilhar em outros sites

É necessário se cadastrar para acessar o conteúdo.

 

procedure para carregar o valor do .ini, adicionar +1 e jogar no edit

É necessário se cadastrar para acessar o conteúdo.

 

procedure para salvar

É necessário se cadastrar para acessar o conteúdo.

 

Pode ter erros, fiz de cabeça, conserte aí :)

Membro - Bronze - Geek - Bronze - Tech - Mod - Coord - Co-Admin - Platinum

Link para o comentário
https://www.webcheats.com.br/topic/2104793-anti-cheater-ajuda-para-enviar/#findComment-8449770
Compartilhar em outros sites

Não teve erros,só modifiquei para poder salvar em data,obrigado. Como faço para colocar esses prints e processos num timer para que a cada 12 segundos ele fique tirando print e salvando

Link para o comentário
https://www.webcheats.com.br/topic/2104793-anti-cheater-ajuda-para-enviar/#findComment-8450055
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
×
×
  • 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.