Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Stereo

AntiCheater em Delphi

Recommended Posts

Bom pessoal,to fazendo um Anti Cheater,ele ja tira prints e faz scan de processos,porém não sei como fazer upload desses dados automaticamente,alguem pode me ajudar?

unit ACNB;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, tlhelp32, XPMan, ShellApi, ExtCtrls, ComCtrls, jpeg,
  IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP,
  Buttons;

type
  TForm1 = class(TForm)
    Button1: TButton;
    ListBox1: TListBox;
    Button2: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Timer1: TTimer;
    Timer2: TTimer;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(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/''print.jpg' + FormatDateTime('dd-mm-yy_hh-MM-ss', Now()) + '.jpg'); 
finally
Bitmap.Free;
jpg.Free;
ReleaseDC(GetDesktopWindow,DC);
end;
finally

end;
ReleaseDC(GetDesktopWindow,DC);
finally

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' + FormatDateTime('dd-mm-yy_hh-MM-ss', Now()) + '.txt');
end;


procedure TForm1.Timer1Timer(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/''print.jpg' + FormatDateTime('dd-mm-yy_hh-MM-ss', Now()) + '.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.Timer2Timer(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' + FormatDateTime('dd-mm-yy_hh-MM-ss', Now()) + '.txt');
end;










procedure TForm1.FormCreate(Sender: TObject);
begin

end;

end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Há vários exemplos de como enviar e-mails utilizando tal linguagem de programação.

No seu caso, busque isso pra Delphi, então envie os dados capturados por e-mail.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie um novo projeto, exclusivo pra enviar um e-mail. Tão somente isso.

 

Utilize uma conta no gmail para ser o destinatario.

 

Há inúmeros tutorias e videos ensinando como fazer isso na net, basta seguir com calma.

 

Caso ainda tenha problemas e dificuldade nisso, crie um novo tópico onde o assunto abordado seja tão somente o envio de e-mail em delphi.

 

Enfim, foco nisso agora. Após conseguir criar seu projeto em delphi que envia e-mails com sucesso.

Você vai utilizar o mesmo código no outro projeto.

 

O segredo é: dividir, para conquistar, vai separando tudo que precisa ser feito em projetos individuais, resolvendo cada problema, depois vou une tudo no projeto final.

 

Essa é a melhor dica que tenho para lhe dar.

 

Boa sorte ai,

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Stereo.

Qual erro está ocorrendo para enviar para o provedor?

Você quer mandar para o seu servidor FTP certo? Para isso utilize um componente nativo do delphi "IdFTP",com isso estará resolvendo seus problemas... Só toma cuidado com esse protect que está muito fácil de ser burlado rsrsrs

Abraço,boa sorte!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.