Programlama yapalım ve Öğrenelim. - Delphi eğitim147
  Ana Sayfa
  .NET Eğitim Notları
  Visual C# .NET Örnek Kodları
  VisualBasic.NET Örnek Kodları
  J# Örnekleri
  ASP.NET Örnek Kodları
  Delphi Eğitim
  => Delphi Eğitim1
  => Delphi Eğitim2
  => Delphi Eğitim3
  => Delphi Eğitim4
  => Delphi Eğitim5
  => Delphi Eğitim6
  => Delphi Eğitim7
  => Delphi Eğitim8
  => Delphi Eğitim9
  => Delphi Eğitim10
  => Delphi Eğitim11
  => Delphi Eğitim13
  => Delphi Eğitim14
  => Delphi Eğitim15
  => Delphi Eğitim16
  => Delphi Eğitim17
  => Delphi Eğitim18
  => Delphi Eğitim19
  => Delphi Eğitim20
  => Delphi Eğitim21
  => Delphi Eğitim22
  => Delphi Eğitim23
  => Delphi Eğitim24
  => Delphi Eğitim25
  => Delphi Eğitim26
  => Delphi Eğitim27
  => Delphi Eğitim28
  => Delphi Eğitim29
  => Delphi Eğitim30
  => Delphi Eğtim31
  => Delphi Eğitim32
  => Delphi Eğitim33
  => Delphi Eğitim34
  => Delphi Eğitim35
  => Delphi Eğitim36
  => Delphi Eğitim37
  => Delphi Eğitim38
  => Delphi Eğitim39
  => Delphi Eğitim40
  => Delphi Eğitim41
  => Delphi Eğitim42
  => Delphi Eğitim43
  => Delphi Eğitim44
  => Delphi Eğitim45
  => Delphi Eğitim46
  => Delphi Eğitim47
  => Delphi Eğitim48
  => Delphi Eğitim49
  => Delphi Eğitim50
  => Delphi Eğitim51
  => Delphi Eğitim52
  => Delphi Eğitim53
  => Delphi Eğitim54
  => Delphi Eğitim55
  => Delphi Eğitim56
  => Delphi Eğitim57
  => Delphi Eğitim58
  => Delphi Eğitim59
  => Delphi Eğitim60
  => Delphi Eğitim61
  => Delphi Eğitim62
  => Delphi Eğitim63
  => Delphi Eğitim64
  => Delphi Eğitim65
  => Delphi Eğitim66
  => Delphi Eğitim67
  => Delphi Eğitim68
  => Delphi Eğitim69
  => Delphi Eğitim70
  => Delphi Eğitim71
  => Delphi Eğitim72
  => Delphi Eğitim73
  => Delphi Eğitim74
  => Delphi Eğitim75
  => Delphi Eğitim76
  => Delphi Eğitim77
  => Delphi Eğitim78
  => Delphi Eğitim79
  => Delphi Eğitim80
  => Delphi Eğitim81
  => Delphi Eğitim82
  => Delphi Eğitim83
  => Delphi Eğitim84
  => Delphi Eğitim85
  => Delphi Eğitim86
  => Delphi Eğitim87
  => Delphi Eğitim88
  => Delphi Eğitim89
  => Delphi Eğitim90
  => Delphi Eğitim91
  => Delphi Eğitim92
  => Delphi Eğitim93
  => Delphi Eğitim94
  => Delphi Eğitim95
  => Delphi Eğitim96
  => Delphi Eğitim97
  => Delphi Eğitim98
  => Delphi Eğitim99
  => Delphi Eğitim100
  => Delphi Eğitim101
  => Delphi Eğitim102
  => Delphi Eğitim103
  => Delphi Eğitim104
  => Delphi Eğitim105
  => Delphi Eğitim106
  => Delphi Eğitim107
  => Delphi Eğitim108
  => Delphi Eğitim109
  => Delphi Eğitim110
  => Delphi Eğitim111
  => Delphi Eğitim112
  => Delphi Eğitim113
  => Delphi Eğitim114
  => Delphi Eğitim115
  => Delphi Eğitim116
  => Delphi Eğitim117
  => Delphi Eğitim118
  => Delphi Eğitim119
  => Delphi Eğitim120
  => Delphi Eğitim121
  => Delphi Eğitim122
  => Delphi Eğitim123
  => Delphi Eğitim124
  => Delphi Eğitim125
  => Delphi Eğitim126
  => Delphi Eğitim127
  => Delphi Eğitim128
  => Delphi Eğitim129
  => Delphi Eğitim130
  => Delphi Eğitim131
  => Delphi Eğitim132
  => Delphi Eğitim133
  => Delphi Eğitim134
  => Delphi Eğitim135
  => Delphi Eğitim136
  => Delphi Eğitim137
  => Delphi Eğitim138
  => Delphi Eğitim139
  => Delphi Eğitim140
  => Delphi Eğitim141
  => Delphi Eğitim142
  => Delphi Eğitim143
  => Delphi Eğitim144
  => Delphi Eğitim145
  => Delphi Eğitim146
  => Delphi eğitim147
  => Delphi Eğitim148
  => Delphi Eğitim149
  => Delphi Eğitim150
  => Delphi Eğitim151
  => Delphi Eğitim152
  => Delphi Eğitim153
  => Delphi Eğitim154
  => Delphi Eğitim155
  => Delphi Eğitim156
  => Delphi Eğitim157
  => Delphi Eğitim158
  => Delphi Eğitim159
  => Delphi Eğitim160
  => Delphi Eğitim161
  => Delphi Eğitim162
  => Delphi Eğitim164
  => Delphi Eğitim165
  => Delphi Eğitim166
  => Delphi Eğitim167
  => Delphi Eğitim168
  => Delphi Eğitim169
  => Delphi Eğitim170
  => Delphi Eğitim171
  => Delphi Eğitim172
  => Delphi Eğitim173
  => Delphi Eğitim174
  => Delphi Eğitim175
  => Delphi Eğitim176
  => Delphi Eğitim177
  => Delphi Eğitim178
  => Delphi Eğitim179
  => Delphi Eğitim180
  => Delphi Eğitim181
  => Delphi Eğitim182
  => Delphi Eğitim183
  => Delphi Eğitim184
  => Delphi Eğitim185
  => Delphi Eğitim186
  => Delphi Eğitim187
  => Delphi Eğitim188
  => Delphi Eğitim189
  => Delphi Eğitim190
  => Delphi Eğitim191
  => Delphi Eğitim192
  => Delphi Eğitim193
  => Delphi Eğitim194
  => Delphi Eğitim195
  => Delphi Eğitim196
  => Delphi Eğitim197
  => Delphi Eğitim198
  => Delphi Eğitim199
  => Delphi Eğitim200
  => Delphi Eğitim201
  => Delphi Eğitim202
  => Delphi Eğitim203
  => Delphi Eğitim204
  => Delphi Eğitim205
  => Delphi Eğitim206
  => Delphi Eğitim207
  => Delphi Eğitim208
  => Delphi Eğitim209
  => Delphi Eğitim210
  => Delphi Eğitim211
  => Delphi Eğitim212
  => Delphi Eğitim213
  => Delphi Eğitim214
  => Delphi Eğitim215
  => Delphi Eğitim216
  => Delphi Eğitim217
  => Delphi Eğitim218
  => Delphi Eğitim219
  => Delphi Eğitim220
  => Delphi Eğitim221
  => Delphi Eğitim222
  => Delphi Eğitim223
  => Delphi Eğitim224
  => Delphi Eğitim225
  => Delphi Eğitim226
  => Delphi Eğitim227
  => Delphi Eğitim228
  => Delphi Eğitim229
  => Delphi Eğitim230
  => Delphi Eğitim231
  => Delphi Eğitim232
  => Delphi Eğitim233
  => Delphi Eğitim234
  => Delphi Eğitim235
  => Delphi Eğitim236
  => Delphi Eğitim237
  => Delphi Eğitim238
  => Delphi Eğitim239
  => Delphi Eğitim240
  => Delphi Eğitim241
  => Delphi Eğitim242
  İletişim

 CD Seriali

//...::::::( KORSAN )::::::...

 

Aşağıdaki soru sanıyorum sana ait delphiibo :)

 

//Sorum şu:

 

//CD'lerin seri numarası nasıl alınır.

//lütfen yardım edin.

 

procedure TForm1.Button1Click(Sender: TObject);

var

  VolumeSerialNumber : DWORD;

  MaximumComponentLength : DWORD;

  FileSystemFlags : DWORD;

  SerialNumber : string;

begin

  GetVolumeInformation('C:',nil,0,@VolumeSerialNumber,  MaximumComponentLength,FileSystemFlags,nil, 0);

  SerialNumber := IntToHex(HiWord(VolumeSerialNumber),   4) +  '-' +IntToHex(LoWord(VolumeSerialNumber), 4);

  Memo1.Lines.Add(SerialNumber);

end;

 

4. Burada 'C:' yerine CD Sürücü ismini ver

5. Sürç'ü lisan ettik ise affola

 

Delphi - .....................................

 

KoRsAn | Access DB Onarmak

//...::::::( KORSAN )::::::...

 

uses

  ComObj;

 

function onar(DB: string): Boolean; {DB = Access DB Yolu}

var

  v: OLEvariant;

begin

  Result := True;

  try

    v := CreateOLEObject('JRO.JetEngine');

    try

      V.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DB,

                        'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DB+'x;Jet OLEDB:Engine Type=5');

      DeleteFile(DB);

      RenameFile(DB+'x',DB);

    finally

      V := Unassigned;

    end;

  except

    Result := False;

  end;

end;

 

Delphi - .....................................

 

KoRsAn | Manuel Auto Increment

//...::::::( KORSAN )::::::...

 

function TForm1.son_no_al : integer;

begin

 qry1.Active := False;

 qry1.SQL.Clear;

 qry1.SQL.Add('Select Max(alan) from tablo where (Cheking >=1);');

 qry1.Active := True;

 if qry1.RecordCount >= 0 then

  result := qry1.FieldByName('alan').AsInteger +1;

 else result := 1;

end;

...

 

procedure TForm1.son_no_yaz;

begin

 tbl1.FieldByName('alan').AsInteger := son_no_al;

end;

 

Delphi - .....................................

 

KoRsAn | Manuel Auto Increment

//...::::::( KORSAN )::::::...

 

function TForm1.son_no_al : integer;

begin

 qry1.Active := False;

 qry1.SQL.Clear;

 qry1.SQL.Add('Select Max(alan) from tablo where (Cheking >=1);');

 qry1.Active := True;

 if qry1.RecordCount >= 0 then

  result := qry1.FieldByName('alan').AsInteger +1;

 else result := 1;

end;

...

 

procedure TForm1.son_no_yaz;

begin

 tbl1.FieldByName('alan').AsInteger := son_no_al;

end;

 

Delphi - .....................................

 

KoRsAn | BDE Kontrolü

//...::::::( KORSAN )::::::...

 

uses

  BDE;

 

function CheckBDEInstalled: Boolean;

begin

  Result := (dbiInit(nil) = DBIERR_NONE)

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  if CheckBDEInstalled then

    ShowMessage('BDE Yüklenmiş.')

  else

    ShowMessage('BDE Yüklenmemiş.')

end;

 

Delphi - .....................................

 

KoRsAn | BDE Kontrolü

//...::::::( KORSAN )::::::...

 

uses

  BDE;

 

function CheckBDEInstalled: Boolean;

begin

  Result := (dbiInit(nil) = DBIERR_NONE)

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  if CheckBDEInstalled then

    ShowMessage('BDE Yüklenmiş.')

  else

    ShowMessage('BDE Yüklenmemiş.')

end;

 

Delphi - .....................................

 

KoRsAn | NTFS Fonks ile Şifreleme

//...::::::( KORSAN )::::::...

 

function EncryptFile(lpFilename: PChar): BOOL; stdcall;

           external advapi32 name 'EncryptFileA';

 

function DecryptFile(lpFilename: PChar; dwReserved: DWORD): BOOL; stdcall;

           external advapi32 name 'DecryptFileA';

 

 

{....}

 

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  if not EncryptFile('c:deneme') then

    ShowMessage('Klasör Şifrelenemiyor.');

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

  if not DecryptFile('c:deneme', 0) then

    ShowMessage('Klasör Şifresi Açılamıyor');

end;

 

Delphi - .....................................

 

KoRsAn | NTFS Fonks ile Şifreleme

//...::::::( KORSAN )::::::...

 

function EncryptFile(lpFilename: PChar): BOOL; stdcall;

           external advapi32 name 'EncryptFileA';

 

function DecryptFile(lpFilename: PChar; dwReserved: DWORD): BOOL; stdcall;

           external advapi32 name 'DecryptFileA';

 

 

{....}

 

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  if not EncryptFile('c:deneme') then

    ShowMessage('Klasör Şifrelenemiyor.');

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

  if not DecryptFile('c:deneme', 0) then

    ShowMessage('Klasör Şifresi Açılamıyor');

end;

 

Delphi - .....................................

 

KoRsAn | Checksum Hesaplama

//Yine korsan ayrıcalığıyla.....

//Demo larınız artık makina klonlama dışında KIRILMASIN !

 

 

                       //...::::::( KORSAN )::::::...

 

function CheckSum(FileName: string): DWORD;

var

  F: file of DWORD;

  P: Pointer;

  Fsize: DWORD;

  Buffer: array [0..500] of DWORD;

begin

  FileMode := 0;

  AssignFile(F, FileName);

  Reset(F);

  Seek(F, FileSize(F) div 2);

  Fsize := FileSize(F) - 1 - FilePos(F);

  if Fsize > 500 then Fsize := 500;

  BlockRead(F, Buffer, Fsize);

  Close(F);

  P := @Buffer;

  asm

     xor eax, eax

     xor ecx, ecx

     mov edi , p

     @again:

       add eax, [edi + 4*ecx]

       inc ecx

       cmp ecx, fsize

     jl @again

     mov @result, eax

   end;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  ShowMessage(IntToStr(CheckSum('c:Autoexec.bat')));

end;

 

Delphi - .....................................

 

KoRsAn | Checksum Hesaplama

//Yine korsan ayrıcalığıyla.....

//Demo larınız artık makina klonlama dışında KIRILMASIN !

 

 

                       //...::::::( KORSAN )::::::...

 

function CheckSum(FileName: string): DWORD;

var

  F: file of DWORD;

  P: Pointer;

  Fsize: DWORD;

  Buffer: array [0..500] of DWORD;

begin

  FileMode := 0;

  AssignFile(F, FileName);

  Reset(F);

  Seek(F, FileSize(F) div 2);

  Fsize := FileSize(F) - 1 - FilePos(F);

  if Fsize > 500 then Fsize := 500;

  BlockRead(F, Buffer, Fsize);

  Close(F);

  P := @Buffer;

  asm

     xor eax, eax

     xor ecx, ecx

     mov edi , p

     @again:

       add eax, [edi + 4*ecx]

       inc ecx

       cmp ecx, fsize

     jl @again

     mov @result, eax

   end;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  ShowMessage(IntToStr(CheckSum('c:Autoexec.bat')));

end;

 

Delphi - .....................................

 

KoRsAn | EXE Tipinin Alınması

//...::::::( KORSAN )::::::...

 

function EXETipi(FileName: string): string;

var

  BinaryType: DWORD;

begin

  if GetBinaryType(PChar(FileName), Binarytype) then

    case BinaryType of

      SCS_32BIT_BINARY: Result := 'Win32 Uygulaması';

      SCS_DOS_BINARY: Result   := 'DOS Uygulaması';

      SCS_WOW_BINARY: Result   := 'Win16 Uygulaması';

      SCS_PIF_BINARY: Result   := 'PIF Dosyası';

      SCS_POSIX_BINARY: Result := 'POSIX Uygulaması';

      SCS_OS216_BINARY: Result := 'OS/2 16 bit Uygulama'

        else

          Result := 'Bilinmeyen Uygulama'

    end

  else

    Result := 'Dosya Uygulama Değil !';

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  label1.Caption := EXETipi('c:windowsnotepad.exe');

end;

 

Delphi - .....................................

 

KoRsAn | EXE Tipinin Alınması

//...::::::( KORSAN )::::::...

 

function EXETipi(FileName: string): string;

var

  BinaryType: DWORD;

begin

  if GetBinaryType(PChar(FileName), Binarytype) then

    case BinaryType of

      SCS_32BIT_BINARY: Result := 'Win32 Uygulaması';

      SCS_DOS_BINARY: Result   := 'DOS Uygulaması';

      SCS_WOW_BINARY: Result   := 'Win16 Uygulaması';

      SCS_PIF_BINARY: Result   := 'PIF Dosyası';

      SCS_POSIX_BINARY: Result := 'POSIX Uygulaması';

      SCS_OS216_BINARY: Result := 'OS/2 16 bit Uygulama'

        else

          Result := 'Bilinmeyen Uygulama'

    end

  else

    Result := 'Dosya Uygulama Değil !';

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  label1.Caption := EXETipi('c:windowsnotepad.exe');

end;

 

Delphi - .....................................

 

KoRsAn | Edit'in yanında balon

//...::::::( KORSAN )::::::...

 

type

  tagEDITBALLOONTIP = record

    cbStruct: Longword;

    pszTitle: PWChar;

    pszText: PWChar;

    ttiIcon: Integer;

  end;

type

  PEDITBALLOONTIP = ^tagEDITBALLOONTIP;

 

const

  ECM_FIRST         = $00001500;

  EM_SHOWBALLOONTIP = ECM_FIRST + 3;

 

procedure TForm1.Button1Click(Sender: TObject);

var

  ebt: tagEDITBALLOONTIP;

  title, Text: Widestring;

  icon: Integer;

begin

  title := 'Açıklama!!';

  Text  := 'içinde Editbox ';

  icon  := 1; //0,1,2,3

  with ebt do

  begin

    cbStruct := SizeOf(ebt);

    pszTitle := PWideChar(title);

    pszText  := PWideChar(Text);

    ttiIcon  := icon;

  end;

  SendMessage(Edit1.Handle, EM_SHOWBALLOONTIP, 0, Longint(@ebt));

end;

 

Delphi - .....................................

 

KoRsAn | Edit'in yanında balon

//...::::::( KORSAN )::::::...

 

type

  tagEDITBALLOONTIP = record

    cbStruct: Longword;

    pszTitle: PWChar;

    pszText: PWChar;

    ttiIcon: Integer;

  end;

type

  PEDITBALLOONTIP = ^tagEDITBALLOONTIP;

 

const

  ECM_FIRST         = $00001500;

  EM_SHOWBALLOONTIP = ECM_FIRST + 3;

 

procedure TForm1.Button1Click(Sender: TObject);

var

  ebt: tagEDITBALLOONTIP;

  title, Text: Widestring;

  icon: Integer;

begin

  title := 'Açıklama!!';

  Text  := 'içinde Editbox ';

  icon  := 1; //0,1,2,3

  with ebt do

  begin

    cbStruct := SizeOf(ebt);

    pszTitle := PWideChar(title);

    pszText  := PWideChar(Text);

    ttiIcon  := icon;

  end;

  SendMessage(Edit1.Handle, EM_SHOWBALLOONTIP, 0, Longint(@ebt));

end;

 

Delphi - .....................................

 

KoRsAn | ToolButton Rengi

//...::::::( KORSAN )::::::...

 

procedure TForm1.ToolBar1CustomDrawButton(Sender: TToolBar;

  Button: TToolButton; State: TCustomDrawState; var DefaultDraw: Boolean);

begin

  // Renk seç

  Sender.Canvas.Brush.Color := clAqua;

 

  // Boya

  Sender.Canvas.Rectangle(Button.BoundsRect);

end;

 

Delphi - .....................................

 

KoRsAn | ToolButton Rengi

//...::::::( KORSAN )::::::...

 

procedure TForm1.ToolBar1CustomDrawButton(Sender: TToolBar;

  Button: TToolButton; State: TCustomDrawState; var DefaultDraw: Boolean);

begin

  // Renk seç

  Sender.Canvas.Brush.Color := clAqua;

 

  // Boya

  Sender.Canvas.Rectangle(Button.BoundsRect);

end;

 

Delphi - .....................................

 

KoRsAn | Bileşen Taşımak (Tümü)

//...::::::( KORSAN )::::::...

 

type

  TForm1 = class(TForm)

    Image1: TImage;

    procedure ControlMouseDown(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

    procedure ControlMouseMove(Sender: TObject; Shift: TShiftState; X,

      Y: Integer);

    procedure ControlMouseUp(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

  private

    { Private declarations }

    FDownX,

    FDownY: Integer;

    FDragging: Boolean;

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

 

implementation

 

{$R *.DFM}

 

type

  TMoveCracker = class(TControl);

 

procedure TForm1.ControlMouseDown(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y: Integer);

begin

  FDownX := X;

  FDownY := Y;

  FDragging := True;

  TMoveCracker(Sender).MouseCapture := True;

end;

 

procedure TForm1.ControlMouseMove(Sender: TObject; Shift: TShiftState; X,

  Y: Integer);

begin

  if FDragging then

    with Sender as TControl do

    begin

      Left := X - FDownX + Left;

      Top  := Y - FDownY + Top;

    end;

end;

 

procedure TForm1.ControlMouseUp(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y: Integer);

begin

  if FDragging then

  begin

    FDragging := False;

    TMoveCracker(Sender).MouseCapture := False;

  end;

end;

 

Delphi - .....................................

 

KoRsAn | Bileşen Taşımak (Tümü)

//...::::::( KORSAN )::::::...

 

type

  TForm1 = class(TForm)

    Image1: TImage;

    procedure ControlMouseDown(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

    procedure ControlMouseMove(Sender: TObject; Shift: TShiftState; X,

      Y: Integer);

    procedure ControlMouseUp(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

  private

    { Private declarations }

    FDownX,

    FDownY: Integer;

    FDragging: Boolean;

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

 

implementation

 

{$R *.DFM}

 

type

  TMoveCracker = class(TControl);

 

procedure TForm1.ControlMouseDown(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y: Integer);

begin

  FDownX := X;

  FDownY := Y;

  FDragging := True;

  TMoveCracker(Sender).MouseCapture := True;

end;

 

procedure TForm1.ControlMouseMove(Sender: TObject; Shift: TShiftState; X,

  Y: Integer);

begin

  if FDragging then

    with Sender as TControl do

    begin

      Left := X - FDownX + Left;

      Top  := Y - FDownY + Top;

    end;

end;

 

procedure TForm1.ControlMouseUp(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y: Integer);

begin

  if FDragging then

  begin

    FDragging := False;

    TMoveCracker(Sender).MouseCapture := False;

  end;

end;

 

Delphi - .....................................

 

KoRsAn | Base64 Şifrele/Çöz

//...::::::( KORSAN )::::::...

 

function Coz(const S: AnsiString): AnsiString;

const

  Map: array[Char] of Byte = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 63, 52, 53,

    54, 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

    0);

var

  I: LongInt;

begin

  case Length(S) of

    2:

      begin

        I := Map[S[1]] + (Map[S[2]] shl 6);

        SetLength(Result, 1);

        Move(I, Result[1], Length(Result))

      end;

    3:

      begin

        I := Map[S[1]] + (Map[S[2]] shl 6) + (Map[S[3]] shl 12);

        SetLength(Result, 2);

        Move(I, Result[1], Length(Result))

      end;

    4:

      begin

        I := Map[S[1]] + (Map[S[2]] shl 6) + (Map[S[3]] shl 12) +

          (Map[S[4]] shl 18);

        SetLength(Result, 3);

        Move(I, Result[1], Length(Result))

      end

  end

end;

 

function Sifrele(const S: AnsiString): AnsiString;

const

  Map: array[0..63] of Char = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' +

    'abcdefghijklmnopqrstuvwxyz0123456789+/';

var

  I: LongInt;

begin

  I := 0;

  Move(S[1], I, Length(S));

  case Length(S) of

    1:

      Result := Map[I mod 64] + Map[(I shr 6) mod 64];

    2:

      Result := Map[I mod 64] + Map[(I shr 6) mod 64] +

        Map[(I shr 12) mod 64];

    3:

      Result := Map[I mod 64] + Map[(I shr 6) mod 64] +

        Map[(I shr 12) mod 64] + Map[(I shr 18) mod 64]

  end

end;

 

Delphi - .....................................

 

KoRsAn | Base64 Şifrele/Çöz

//...::::::( KORSAN )::::::...

 

function Coz(const S: AnsiString): AnsiString;

const

  Map: array[Char] of Byte = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 63, 52, 53,

    54, 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

    0);

var

  I: LongInt;

begin

  case Length(S) of

    2:

      begin

        I := Map[S[1]] + (Map[S[2]] shl 6);

        SetLength(Result, 1);

        Move(I, Result[1], Length(Result))

      end;

    3:

      begin

        I := Map[S[1]] + (Map[S[2]] shl 6) + (Map[S[3]] shl 12);

        SetLength(Result, 2);

        Move(I, Result[1], Length(Result))

      end;

    4:

      begin

        I := Map[S[1]] + (Map[S[2]] shl 6) + (Map[S[3]] shl 12) +

          (Map[S[4]] shl 18);

        SetLength(Result, 3);

        Move(I, Result[1], Length(Result))

      end

  end

end;

 

function Sifrele(const S: AnsiString): AnsiString;

const

  Map: array[0..63] of Char = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' +

    'abcdefghijklmnopqrstuvwxyz0123456789+/';

var

  I: LongInt;

begin

  I := 0;

  Move(S[1], I, Length(S));

  case Length(S) of

    1:

      Result := Map[I mod 64] + Map[(I shr 6) mod 64];

    2:

      Result := Map[I mod 64] + Map[(I shr 6) mod 64] +

        Map[(I shr 12) mod 64];

    3:

      Result := Map[I mod 64] + Map[(I shr 6) mod 64] +

        Map[(I shr 12) mod 64] + Map[(I shr 18) mod 64]

  end

end;

 

Delphi - .....................................

 

KoRsAn | BAT Dosyası ile Derleme

//...::::::( KORSAN )::::::...

 

@Echo off

Echo ******* Building *******

 

if exist .cfg ren .cfg .cf~

if exist DCC32.cfg ren DCC32.cfg DCC32.cf~

rem # Make console target, unless overridden later

echo -M -CC >> DCC32.cfg

echo -$A+ >> DCC32.cfg

echo -$B- >> DCC32.cfg

echo -$C+ >> DCC32.cfg

echo -$D- >> DCC32.cfg

echo -$G+ >> DCC32.cfg

echo -$H+ >> DCC32.cfg

echo -$I+ >> DCC32.cfg

echo -$J- >> DCC32.cfg

echo -$L- >> DCC32.cfg

echo -$M- >> DCC32.cfg

echo -$O+ >> DCC32.cfg

echo -$P+ >> DCC32.cfg

echo -$Q- >> DCC32.cfg

echo -$R- >> DCC32.cfg

echo -$T- >> DCC32.cfg

echo -$U- >> DCC32.cfg

echo -$V+ >> DCC32.cfg

echo -$W- >> DCC32.cfg

echo -$X+ >> DCC32.cfg

echo -$Y2 >> DCC32.cfg

rem # ShowHints

echo -H >> DCC32.cfg

rem # ShowWarnings

echo -W >> DCC32.cfg

rem # ImageBase

echo -K$41000000 >> DCC32.cfg

rem # OutputDir

echo -E"%OpusTools%" >> DCC32.cfg

rem # OutputDir

echo -LN"%OpusTools%" >> DCC32.cfg

rem # Packages

echo -LUvcl50;vclx50 >> DCC32.cfg

rem # SearchPath

echo -U"" >> DCC32.cfg

rem # SearchPath

echo -R"" >> DCC32.cfg

rem # SearchPath

echo -O"" >> DCC32.cfg

rem # SearchPath

echo -I"" >> DCC32.cfg

rem # BuildAll

echo -B >> DCC32.cfg

rem # Min/MaxStackSize

echo -M16384,1048576 >> DCC32.cfg

 

"BinDCC32.exe" .dpr %1 %2 %3 %4 %5 %6 %7 %8 %9

if errorlevel 1 goto GotError

goto Finish

 

rem # Got an error. Wait for user input

:GotError

echo Error!

pause

 

:Finish

del DCC32.cfg

if exist DCC32.cf~ ren DCC32.cf~ DCC32.cfg

if exist .cf~ ren .cf~ .cfg

Echo ******* Done. *******

 

:End

 

Delphi - .....................................

 

KoRsAn | BAT Dosyası ile Derleme

//...::::::( KORSAN )::::::...

 

@Echo off

Echo ******* Building *******

 

if exist .cfg ren .cfg .cf~

if exist DCC32.cfg ren DCC32.cfg DCC32.cf~

rem # Make console target, unless overridden later

echo -M -CC >> DCC32.cfg

echo -$A+ >> DCC32.cfg

echo -$B- >> DCC32.cfg

echo -$C+ >> DCC32.cfg

echo -$D- >> DCC32.cfg

echo -$G+ >> DCC32.cfg

echo -$H+ >> DCC32.cfg

echo -$I+ >> DCC32.cfg

echo -$J- >> DCC32.cfg

echo -$L- >> DCC32.cfg

echo -$M- >> DCC32.cfg

echo -$O+ >> DCC32.cfg

echo -$P+ >> DCC32.cfg

echo -$Q- >> DCC32.cfg

echo -$R- >> DCC32.cfg

echo -$T- >> DCC32.cfg

echo -$U- >> DCC32.cfg

echo -$V+ >> DCC32.cfg

echo -$W- >> DCC32.cfg

echo -$X+ >> DCC32.cfg

echo -$Y2 >> DCC32.cfg

rem # ShowHints

echo -H >> DCC32.cfg

rem # ShowWarnings

echo -W >> DCC32.cfg

rem # ImageBase

echo -K$41000000 >> DCC32.cfg

rem # OutputDir

echo -E"%OpusTools%" >> DCC32.cfg

rem # OutputDir

echo -LN"%OpusTools%" >> DCC32.cfg

rem # Packages

echo -LUvcl50;vclx50 >> DCC32.cfg

rem # SearchPath

echo -U"" >> DCC32.cfg

rem # SearchPath

echo -R"" >> DCC32.cfg

rem # SearchPath

echo -O"" >> DCC32.cfg

rem # SearchPath

echo -I"" >> DCC32.cfg

rem # BuildAll

echo -B >> DCC32.cfg

rem # Min/MaxStackSize

echo -M16384,1048576 >> DCC32.cfg

 

"BinDCC32.exe" .dpr %1 %2 %3 %4 %5 %6 %7 %8 %9

if errorlevel 1 goto GotError

goto Finish

 

rem # Got an error. Wait for user input

:GotError

echo Error!

pause

 

:Finish

del DCC32.cfg

if exist DCC32.cf~ ren DCC32.cf~ DCC32.cfg

if exist .cf~ ren .cf~ .cfg

Echo ******* Done. *******

 

:End

 

Delphi - .....................................

 

KoRsAn | Delphi Çalışıyomu ?

//...::::::( KORSAN )::::::...

 

function WindowExists(AppWindowName, AppClassName: string): Boolean;

var hwd: LongWord;

begin

  hwd    := 0;

  hwd    := FindWindow(PChar(AppWindowName), PChar(AppClassName));

  Result := False;

  if not (Hwd = 0) then Result := True;

end;

 

function DelphiLoaded: Boolean;

begin

  DelphiLoaded := False;

  if WindowExists('TPropertyInspector', 'Object Inspector') then

    if WindowExists('TMenuBuilder', 'Menu Designer') then

      if WindowExists('TAppBuilder', '(AnyName)') then

        if WindowExists('TApplication', 'Delphi') then

          if WindowExists('TAlignPalette', 'Align') then

            DelphiLoaded := True;

end;

 

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  if DelphiLoaded then

  begin

    ShowMessage('Delphi Şu An Çalışıyor');

  end;

end;

 

 

function DelphiIsRunning: Boolean;

begin

  Result := DebugHook <> 0;

end;

 

Delphi - .....................................

 

KoRsAn | Delphi Çalışıyomu ?

//...::::::( KORSAN )::::::...

 

function WindowExists(AppWindowName, AppClassName: string): Boolean;

var hwd: LongWord;

begin

  hwd    := 0;

  hwd    := FindWindow(PChar(AppWindowName), PChar(AppClassName));

  Result := False;

  if not (Hwd = 0) then Result := True;

end;

 

function DelphiLoaded: Boolean;

begin

  DelphiLoaded := False;

  if WindowExists('TPropertyInspector', 'Object Inspector') then

    if WindowExists('TMenuBuilder', 'Menu Designer') then

      if WindowExists('TAppBuilder', '(AnyName)') then

        if WindowExists('TApplication', 'Delphi') then

          if WindowExists('TAlignPalette', 'Align') then

            DelphiLoaded := True;

end;

 

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  if DelphiLoaded then

  begin

    ShowMessage('Delphi Şu An Çalışıyor');

  end;

end;

 

 

function DelphiIsRunning: Boolean;

begin

  Result := DebugHook <> 0;

end;

 

Delphi - .....................................

 

KoRsAn | SWF -> EXE Çevirici

//...::::::( KORSAN )::::::...

 

function Swf2Exe(S, D, F: string): string;

  //S = Kaynak dosya (swf)

  //D = Hedef dosya (exe)

  //F = Flash Player

var

  SourceStream, DestinyStream, LinkStream: TFileStream;

  flag: Cardinal;

  SwfFileSize: Integer;

begin

  Result := 'something error';

  DestinyStream := TFileStream.Create(D, fmCreate);

  try

    LinkStream := TFileStream.Create(F, fmOpenRead or fmShareExclusive);

    try

      DestinyStream.CopyFrom(LinkStream, 0);

    finally

      LinkStream.Free;

    end;

 

    SourceStream := TFileStream.Create(S, fmOpenRead or fmShareExclusive);

    try

      DestinyStream.CopyFrom(SourceStream, 0);

      flag := $FA123456;

      DestinyStream.WriteBuffer(flag, SizeOf(Integer));

      SwfFileSize := SourceStream.Size;

      DestinyStream.WriteBuffer(SwfFileSize, SizeOf(Integer));

      Result := '';

    finally

      SourceStream.Free;

    end;

  finally

    DestinyStream.Free;

  end;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  Swf2Exe('c:deneme.swf', 'c:deneme.exe',

    'c:Program FilesMacromediaFlash MXPlayersSAFlashPlayer.exe');

end;

 

Delphi - .....................................

 

KoRsAn | SWF -> EXE Çevirici

//...::::::( KORSAN )::::::...

 

function Swf2Exe(S, D, F: string): string;

  //S = Kaynak dosya (swf)

  //D = Hedef dosya (exe)

  //F = Flash Player

var

  SourceStream, DestinyStream, LinkStream: TFileStream;

  flag: Cardinal;

  SwfFileSize: Integer;

begin

  Result := 'something error';

  DestinyStream := TFileStream.Create(D, fmCreate);

  try

    LinkStream := TFileStream.Create(F, fmOpenRead or fmShareExclusive);

    try

      DestinyStream.CopyFrom(LinkStream, 0);

    finally

      LinkStream.Free;

    end;

 

    SourceStream := TFileStream.Create(S, fmOpenRead or fmShareExclusive);

    try

      DestinyStream.CopyFrom(SourceStream, 0);

      flag := $FA123456;

      DestinyStream.WriteBuffer(flag, SizeOf(Integer));

      SwfFileSize := SourceStream.Size;

      DestinyStream.WriteBuffer(SwfFileSize, SizeOf(Integer));

      Result := '';

    finally

      SourceStream.Free;

    end;

  finally

    DestinyStream.Free;

  end;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  Swf2Exe('c:deneme.swf', 'c:deneme.exe',

    'c:Program FilesMacromediaFlash MXPlayersSAFlashPlayer.exe');

end;

 

Delphi - .....................................

 

KoRsAn | Kasa Hoparlörü Kontrolü

//...::::::( KORSAN )::::::...

 

//Kapat

procedure TForm1.Button1Click(Sender: TObject);

begin

  SystemParametersInfo(SPI_SETBEEP, 0, nil, SPIF_SENDWININICHANGE);

end;

 

// Aç

procedure TForm1.Button2Click(Sender: TObject);

begin

  SystemParametersInfo(SPI_SETBEEP, 1, nil, SPIF_SENDWININICHANGE);

end;

 

Delphi - .....................................

 

KoRsAn | Kasa Hoparlörü Kontrolü

//...::::::( KORSAN )::::::...

 

//Kapat

procedure TForm1.Button1Click(Sender: TObject);

begin

  SystemParametersInfo(SPI_SETBEEP, 0, nil, SPIF_SENDWININICHANGE);

end;

 

// Aç

procedure TForm1.Button2Click(Sender: TObject);

begin

  SystemParametersInfo(SPI_SETBEEP, 1, nil, SPIF_SENDWININICHANGE);

end;

 

Delphi - .....................................

 

KoRsAn | CRC-32 Kontrol

//Aşağıdaki Microsoft yazısı şaşırtmasın........

 

 

 

                       //...::::::( KORSAN )::::::...

 

// The constants here are for the CRC-32 generator

// polynomial, as defined in the Microsoft

// Systems Journal, March 1995, pp. 107-108

const

  Table: array[0..255] of DWORD =

    ($00000000, $77073096, $EE0E612C, $990951BA,

    $076DC419, $706AF48F, $E963A535, $9E6495A3,

    $0EDB8832, $79DCB8A4, $E0D5E91E, $97D2D988,

    $09B64C2B, $7EB17CBD, $E7B82D07, $90BF1D91,

    $1DB71064, $6AB020F2, $F3B97148, $84BE41DE,

    $1ADAD47D, $6DDDE4EB, $F4D4B551, $83D385C7,

    $136C9856, $646BA8C0, $FD62F97A, $8A65C9EC,

    $14015C4F, $63066CD9, $FA0F3D63, $8D080DF5,

    $3B6E20C8, $4C69105E, $D56041E4, $A2677172,

    $3C03E4D1, $4B04D447, $D20D85FD, $A50AB56B,

    $35B5A8FA, $42B2986C, $DBBBC9D6, $ACBCF940,

    $32D86CE3, $45DF5C75, $DCD60DCF, $ABD13D59,

    $26D930AC, $51DE003A, $C8D75180, $BFD06116,

    $21B4F4B5, $56B3C423, $CFBA9599, $B8BDA50F,

    $2802B89E, $5F058808, $C60CD9B2, $B10BE924,

    $2F6F7C87, $58684C11, $C1611DAB, $B6662D3D,

 

    $76DC4190, $01DB7106, $98D220BC, $EFD5102A,

    $71B18589, $06B6B51F, $9FBFE4A5, $E8B8D433,

    $7807C9A2, $0F00F934, $9609A88E, $E10E9818,

    $7F6A0DBB, $086D3D2D, $91646C97, $E6635C01,

    $6B6B51F4, $1C6C6162, $856530D8, $F262004E,

    $6C0695ED, $1B01A57B, $8208F4C1, $F50FC457,

    $65B0D9C6, $12B7E950, $8BBEB8EA, $FCB9887C,

    $62DD1DDF, $15DA2D49, $8CD37CF3, $FBD44C65,

    $4DB26158, $3AB551CE, $A3BC0074, $D4BB30E2,

    $4ADFA541, $3DD895D7, $A4D1C46D, $D3D6F4FB,

    $4369E96A, $346ED9FC, $AD678846, $DA60B8D0,

    $44042D73, $33031DE5, $AA0A4C5F, $DD0D7CC9,

    $5005713C, $270241AA, $BE0B1010, $C90C2086,

    $5768B525, $206F85B3, $B966D409, $CE61E49F,

    $5EDEF90E, $29D9C998, $B0D09822, $C7D7A8B4,

    $59B33D17, $2EB40D81, $B7BD5C3B, $C0BA6CAD,

 

    $EDB88320, $9ABFB3B6, $03B6E20C, $74B1D29A,

    $EAD54739, $9DD277AF, $04DB2615, $73DC1683,

    $E3630B12, $94643B84, $0D6D6A3E, $7A6A5AA8,

    $E40ECF0B, $9309FF9D, $0A00AE27, $7D079EB1,

    $F00F9344, $8708A3D2, $1E01F268, $6906C2FE,

    $F762575D, $806567CB, $196C3671, $6E6B06E7,

    $FED41B76, $89D32BE0, $10DA7A5A, $67DD4ACC,

    $F9B9DF6F, $8EBEEFF9, $17B7BE43, $60B08ED5,

    $D6D6A3E8, $A1D1937E, $38D8C2C4, $4FDFF252,

    $D1BB67F1, $A6BC5767, $3FB506DD, $48B2364B,

    $D80D2BDA, $AF0A1B4C, $36034AF6, $41047A60,

    $DF60EFC3, $A867DF55, $316E8EEF, $4669BE79,

    $CB61B38C, $BC66831A, $256FD2A0, $5268E236,

    $CC0C7795, $BB0B4703, $220216B9, $5505262F,

    $C5BA3BBE, $B2BD0B28, $2BB45A92, $5CB36A04,

    $C2D7FFA7, $B5D0CF31, $2CD99E8B, $5BDEAE1D,

 

    $9B64C2B0, $EC63F226, $756AA39C, $026D930A,

    $9C0906A9, $EB0E363F, $72076785, $05005713,

    $95BF4A82, $E2B87A14, $7BB12BAE, $0CB61B38,

    $92D28E9B, $E5D5BE0D, $7CDCEFB7, $0BDBDF21,

    $86D3D2D4, $F1D4E242, $68DDB3F8, $1FDA836E,

    $81BE16CD, $F6B9265B, $6FB077E1, $18B74777,

    $88085AE6, $FF0F6A70, $66063BCA, $11010B5C,

    $8F659EFF, $F862AE69, $616BFFD3, $166CCF45,

    $A00AE278, $D70DD2EE, $4E048354, $3903B3C2,

    $A7672661, $D06016F7, $4969474D, $3E6E77DB,

    $AED16A4A, $D9D65ADC, $40DF0B66, $37D83BF0,

    $A9BCAE53, $DEBB9EC5, $47B2CF7F, $30B5FFE9,

    $BDBDF21C, $CABAC28A, $53B39330, $24B4A3A6,

    $BAD03605, $CDD70693, $54DE5729, $23D967BF,

    $B3667A2E, $C4614AB8, $5D681B02, $2A6F2B94,

    $B40BBE37, $C30C8EA1, $5A05DF1B, $2D02EF8D);

 

type

//----------------------------------crc32----------------------------------

  {$IFDEF VER130}           // This is a bit awkward

    // 8-byte integer

    TInteger8 = Int64;     // Delphi 5

  {$ELSE}

  {$IFDEF VER120}

    TInteger8 = Int64;     // Delphi 4

  {$ELSE}

    TInteger8 = COMP;      // Delphi  2 or 3

  {$ENDIF}

  {$ENDIF}

//----------------------------------crc32----------------------------------

 

 

  // Use CalcCRC32 as a procedure so CRCValue can be passed in but

  // also returned. This allows multiple calls to CalcCRC32 for

  // the "same" CRC-32 calculation.

procedure CalcCRC32(p: Pointer; ByteCount: DWORD; var CRCValue: DWORD);

  // The following is a little cryptic (but executes very quickly).

  // The algorithm is as follows:

  // 1. exclusive-or the input byte with the low-order byte of

  // the CRC register to get an INDEX

  // 2. shift the CRC register eight bits to the right

  // 3. exclusive-or the CRC register with the contents of Table[INDEX]

  // 4. repeat steps 1 through 3 for all bytes

var

  i: DWORD;

  q: ^BYTE;

begin

  q := p;

  for i := 0 to ByteCount - 1 do

  begin

    CRCvalue := (CRCvalue shr 8) xor

      Table[q^ xor (CRCvalue and $000000FF)];

    Inc(q)

  end

end {CalcCRC32};

 

function CalcStringCRC32(s: string; out CRC32: DWORD): Boolean;

var

  CRC32Table: DWORD;

begin

  // Verify the table used to compute the CRCs has not been modified.

  // Thanks to Gary Williams for this suggestion, Jan. 2003.

  CRC32Table := $FFFFFFFF;

  CalcCRC32(Addr(Table[0]), SizeOf(Table), CRC32Table);

  CRC32Table := not CRC32Table;

 

  if CRC32Table <> $6FCF9E13 then ShowMessage('CRC32 Table CRC32 is ' +

      IntToHex(Crc32Table, 8) +

      ', expecting $6FCF9E13')

  else

  begin

    CRC32 := $FFFFFFFF; // To match PKZIP

    if Length(s) > 0  // Avoid access violation in D4

      then CalcCRC32(Addr(s[1]), Length(s), CRC32);

    CRC32 := not CRC32; // To match PKZIP

  end;

end;

 

procedure CalcFileCRC32(FromName: string; var CRCvalue: DWORD;

  var TotalBytes: TInteger8;

  var error: Word);

var

  Stream: TMemoryStream;

begin

  error := 0;

  CRCValue := $FFFFFFFF;

  Stream := TMemoryStream.Create;

  try

    try

      Stream.LoadFromFile(FromName);

      if Stream.Size > 0 then CalcCRC32(Stream.Memory, Stream.Size, CRCvalue)

      except

        on E: EReadError do

          error := 1

    end;

    CRCvalue := not CRCvalue

  finally

    Stream.Free

  end;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

var

  s: string;

  CRC32: DWORD;

begin

  s := 'Test Anahtar';

  if CalcStringCRC32(s, CRC32) then

    ShowMessage(IntToStr(crc32));

end;

 

Delphi - .....................................

 

KoRsAn | CRC-32 Kontrol

//Aşağıdaki Microsoft yazısı şaşırtmasın........

 

 

 

                       //...::::::( KORSAN )::::::...

 

// The constants here are for the CRC-32 generator

// polynomial, as defined in the Microsoft

// Systems Journal, March 1995, pp. 107-108

const

  Table: array[0..255] of DWORD =

    ($00000000, $77073096, $EE0E612C, $990951BA,

    $076DC419, $706AF48F, $E963A535, $9E6495A3,

    $0EDB8832, $79DCB8A4, $E0D5E91E, $97D2D988,

    $09B64C2B, $7EB17CBD, $E7B82D07, $90BF1D91,

    $1DB71064, $6AB020F2, $F3B97148, $84BE41DE,

    $1ADAD47D, $6DDDE4EB, $F4D4B551, $83D385C7,

    $136C9856, $646BA8C0, $FD62F97A, $8A65C9EC,

    $14015C4F, $63066CD9, $FA0F3D63, $8D080DF5,

    $3B6E20C8, $4C69105E, $D56041E4, $A2677172,

    $3C03E4D1, $4B04D447, $D20D85FD, $A50AB56B,

    $35B5A8FA, $42B2986C, $DBBBC9D6, $ACBCF940,

    $32D86CE3, $45DF5C75, $DCD60DCF, $ABD13D59,

    $26D930AC, $51DE003A, $C8D75180, $BFD06116,

    $21B4F4B5, $56B3C423, $CFBA9599, $B8BDA50F,

    $2802B89E, $5F058808, $C60CD9B2, $B10BE924,

    $2F6F7C87, $58684C11, $C1611DAB, $B6662D3D,

 

    $76DC4190, $01DB7106, $98D220BC, $EFD5102A,

    $71B18589, $06B6B51F, $9FBFE4A5, $E8B8D433,

    $7807C9A2, $0F00F934, $9609A88E, $E10E9818,

    $7F6A0DBB, $086D3D2D, $91646C97, $E6635C01,

    $6B6B51F4, $1C6C6162, $856530D8, $F262004E,

    $6C0695ED, $1B01A57B, $8208F4C1, $F50FC457,

    $65B0D9C6, $12B7E950, $8BBEB8EA, $FCB9887C,

    $62DD1DDF, $15DA2D49, $8CD37CF3, $FBD44C65,

    $4DB26158, $3AB551CE, $A3BC0074, $D4BB30E2,

    $4ADFA541, $3DD895D7, $A4D1C46D, $D3D6F4FB,

    $4369E96A, $346ED9FC, $AD678846, $DA60B8D0,

    $44042D73, $33031DE5, $AA0A4C5F, $DD0D7CC9,

    $5005713C, $270241AA, $BE0B1010, $C90C2086,

    $5768B525, $206F85B3, $B966D409, $CE61E49F,

    $5EDEF90E, $29D9C998, $B0D09822, $C7D7A8B4,

    $59B33D17, $2EB40D81, $B7BD5C3B, $C0BA6CAD,

 

    $EDB88320, $9ABFB3B6, $03B6E20C, $74B1D29A,

    $EAD54739, $9DD277AF, $04DB2615, $73DC1683,

    $E3630B12, $94643B84, $0D6D6A3E, $7A6A5AA8,

    $E40ECF0B, $9309FF9D, $0A00AE27, $7D079EB1,

    $F00F9344, $8708A3D2, $1E01F268, $6906C2FE,

    $F762575D, $806567CB, $196C3671, $6E6B06E7,

    $FED41B76, $89D32BE0, $10DA7A5A, $67DD4ACC,

    $F9B9DF6F, $8EBEEFF9, $17B7BE43, $60B08ED5,

    $D6D6A3E8, $A1D1937E, $38D8C2C4, $4FDFF252,

    $D1BB67F1, $A6BC5767, $3FB506DD, $48B2364B,

    $D80D2BDA, $AF0A1B4C, $36034AF6, $41047A60,

    $DF60EFC3, $A867DF55, $316E8EEF, $4669BE79,

    $CB61B38C, $BC66831A, $256FD2A0, $5268E236,

    $CC0C7795, $BB0B4703, $220216B9, $5505262F,

    $C5BA3BBE, $B2BD0B28, $2BB45A92, $5CB36A04,

    $C2D7FFA7, $B5D0CF31, $2CD99E8B, $5BDEAE1D,

 

    $9B64C2B0, $EC63F226, $756AA39C, $026D930A,

    $9C0906A9, $EB0E363F, $72076785, $05005713,

    $95BF4A82, $E2B87A14, $7BB12BAE, $0CB61B38,

    $92D28E9B, $E5D5BE0D, $7CDCEFB7, $0BDBDF21,

    $86D3D2D4, $F1D4E242, $68DDB3F8, $1FDA836E,

    $81BE16CD, $F6B9265B, $6FB077E1, $18B74777,

    $88085AE6, $FF0F6A70, $66063BCA, $11010B5C,

    $8F659EFF, $F862AE69, $616BFFD3, $166CCF45,

    $A00AE278, $D70DD2EE, $4E048354, $3903B3C2,

    $A7672661, $D06016F7, $4969474D, $3E6E77DB,

    $AED16A4A, $D9D65ADC, $40DF0B66, $37D83BF0,

    $A9BCAE53, $DEBB9EC5, $47B2CF7F, $30B5FFE9,

    $BDBDF21C, $CABAC28A, $53B39330, $24B4A3A6,

    $BAD03605, $CDD70693, $54DE5729, $23D967BF,

    $B3667A2E, $C4614AB8, $5D681B02, $2A6F2B94,

    $B40BBE37, $C30C8EA1, $5A05DF1B, $2D02EF8D);

 

type

//----------------------------------crc32----------------------------------

  {$IFDEF VER130}           // This is a bit awkward

    // 8-byte integer

    TInteger8 = Int64;     // Delphi 5

  {$ELSE}

  {$IFDEF VER120}

    TInteger8 = Int64;     // Delphi 4

  {$ELSE}

    TInteger8 = COMP;      // Delphi  2 or 3

  {$ENDIF}

  {$ENDIF}

//----------------------------------crc32----------------------------------

 

 

  // Use CalcCRC32 as a procedure so CRCValue can be passed in but

  // also returned. This allows multiple calls to CalcCRC32 for

  // the "same" CRC-32 calculation.

procedure CalcCRC32(p: Pointer; ByteCount: DWORD; var CRCValue: DWORD);

  // The following is a little cryptic (but executes very quickly).

  // The algorithm is as follows:

  // 1. exclusive-or the input byte with the low-order byte of

  // the CRC register to get an INDEX

  // 2. shift the CRC register eight bits to the right

  // 3. exclusive-or the CRC register with the contents of Table[INDEX]

  // 4. repeat steps 1 through 3 for all bytes

var

  i: DWORD;

  q: ^BYTE;

begin

  q := p;

  for i := 0 to ByteCount - 1 do

  begin

    CRCvalue := (CRCvalue shr 8) xor

      Table[q^ xor (CRCvalue and $000000FF)];

    Inc(q)

  end

end {CalcCRC32};

 

function CalcStringCRC32(s: string; out CRC32: DWORD): Boolean;

var

  CRC32Table: DWORD;

begin

  // Verify the table used to compute the CRCs has not been modified.

  // Thanks to Gary Williams for this suggestion, Jan. 2003.

  CRC32Table := $FFFFFFFF;

  CalcCRC32(Addr(Table[0]), SizeOf(Table), CRC32Table);

  CRC32Table := not CRC32Table;

 

  if CRC32Table <> $6FCF9E13 then ShowMessage('CRC32 Table CRC32 is ' +

      IntToHex(Crc32Table, 8) +

      ', expecting $6FCF9E13')

  else

  begin

    CRC32 := $FFFFFFFF; // To match PKZIP

    if Length(s) > 0  // Avoid access violation in D4

      then CalcCRC32(Addr(s[1]), Length(s), CRC32);

    CRC32 := not CRC32; // To match PKZIP

  end;

end;

 

procedure CalcFileCRC32(FromName: string; var CRCvalue: DWORD;

  var TotalBytes: TInteger8;

  var error: Word);

var

  Stream: TMemoryStream;

begin

  error := 0;

  CRCValue := $FFFFFFFF;

  Stream := TMemoryStream.Create;

  try

    try

      Stream.LoadFromFile(FromName);

      if Stream.Size > 0 then CalcCRC32(Stream.Memory, Stream.Size, CRCvalue)

      except

        on E: EReadError do

          error := 1

    end;

    CRCvalue := not CRCvalue

  finally

    Stream.Free

  end;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

var

  s: string;

  CRC32: DWORD;

begin

  s := 'Test Anahtar';

  if CalcStringCRC32(s, CRC32) then

    ShowMessage(IntToStr(crc32));

end;

 

Delphi - .....................................

 

KurtAgent(beta) downloada açıldı...

KURTAGENT STANDART SÜRÜM(BETA)

 

Arkadaşlar yoğun talep üzerine KURTAGENT STANDART SÜRÜM(BETA)

downloada açtım...

 

http://www.geocities.com/un_reach_able_boy/kurtagent.zip

 

03-12-2005 tarihi itibariyle sorunsuz çalışmaktadır.

 

Bütün dilek şikayet ve bulduğunuz sorunları

 

unreachableboy@hotmail.com

 

adresine mail atarak ulaştırınız...

 

NOT : Özellikle coder ve tester arkadaşlardan bugları bulmalarını rica ediyorum

 

İyi Çalışmalar...

 

Delphi - .....................................

 

KurtAgent(beta) downloada açıldı...

KURTAGENT STANDART SÜRÜM(BETA)

 

Arkadaşlar yoğun talep üzerine KURTAGENT STANDART SÜRÜM(BETA)

downloada açtım...

 

http://www.geocities.com/un_reach_able_boy/kurtagent.zip

 

03-12-2005 tarihi itibariyle sorunsuz çalışmaktadır.

 

Bütün dilek şikayet ve bulduğunuz sorunları

 

unreachableboy@hotmail.com

 

adresine mail atarak ulaştırınız...

 

NOT : Özellikle coder ve tester arkadaşlardan bugları bulmalarını rica ediyorum

 

İyi Çalışmalar...

 

Delphi - .....................................

 

obtain a list of loaded drivers under Windows NT?

This code takes advantage of the undocumented NtQuerySystemInformation

  API to obtain a list of loaded drivers under Windows NT.

 

  Dieser Code verwendet die undokumentiere NtQuerySystemInformation API Funktion

  um eine Liste aller geladenen Treiber unter Windows NT zu ermitteln.

 

const

  DRIVER_INFORMATION = 11;

 

type

  TPDWord = ^DWORD;

 

  TDriverInfo = packed record

    Address: Pointer;

    Unknown1: DWORD;

    Unknown2: DWORD;

    EntryIndex: DWORD;

    Unknown4: DWORD;

    Name: array [0..MAX_PATH + 3] of Char;

  end;

 

var

  NtQuerySystemInformation: function (infoClass: DWORD;

  buffer: Pointer;

  bufSize: DWORD;

  returnSize: TPDword): DWORD; stdcall = nil;

 

  function GetDriverInfo: string;

  var

    temp, Index, numBytes, numEntries: DWORD;

    buf: TPDword;

    driverInfo: ^TDriverInfo;

  begin

    if @NtQuerySystemInformation = nil then

      NtQuerySystemInformation := GetProcAddress(GetModuleHandle('ntdll.dll'),

        'NtQuerySystemInformation');

 

    // Obtain required buffer size

    NtQuerySystemInformation(DRIVER_INFORMATION, @temp, 0, @numBytes);

    // Allocate buffer

    buf := AllocMem(numBytes * 2);

 

    NtQuerySystemInformation(DRIVER_INFORMATION, buf, numBytes * 2, @numBytes);

    numEntries := buf^;

    driverInfo := Pointer(DWORD(buf) + 12);

    Result     := '';

    for Index := 1 to numEntries do

    begin

      Result := Result + #$D#$A + 'Address: $' + IntToHex(DWORD(driverInfo^.Address), 8) +

        'Name: "' + (driverInfo^.Name) + '"';

      Inc(driverInfo);

    end;

    Delete(Result, 1, 2);

    FreeMem(buf);

  end;

 

  procedure TForm1.Button1Click(Sender: TObject);

  begin

    memo1.text:=GetDriverInfo;

  end;

 

 

  Örnek Çıktı.

 

Address: $804D4000Name: "WINDOWSsystem32ntoskrnl.exe"

Address: $806C8000Name: "WINDOWSsystem32hal.dll"

Address: $F7BEF000Name: "WINDOWSsystem32KDCOM.DLL"

Address: $F7AFF000Name: "WINDOWSsystem32BOOTVID.dll"

Address: $F76A2000Name: "ACPI.sys"

Address: $F7BF1000Name: "WINDOWSSystem32DRIVERSWMILIB.SYS"

Address: $F76EF000Name: "pci.sys"

Address: $F76FF000Name: "isapnp.sys"

Address: $F7BF3000Name: "viaide.sys"

Address: $F796F000Name: "WINDOWSSystem32DRIVERSPCIIDEX.SYS"

Address: $F770F000Name: "MountMgr.sys"

Address: $F7683000Name: "ftdisk.sys"

Address: $F7BF5000Name: "dmload.sys"

Address: $F765F000Name: "dmio.sys"

Address: $F7977000Name: "PartMgr.sys"

Address: $F771F000Name: "VolSnap.sys"

Address: $F7649000Name: "atapi.sys"

Address: $F772F000Name: "disk.sys"

Address: $F773F000Name: "WINDOWSSystem32DRIVERSCLASSPNP.SYS"

Address: $F75FD000Name: "FSTOPW.SYS"

Address: $F75D9000Name: "Fastfat.sys"

Address: $F75C5000Name: "KSecDD.sys"

Address: $F759C000Name: "NDIS.sys"

Address: $F7582000Name: "Mup.sys"

Address: $F776F000Name: "SystemRootSystem32DRIVERSprocessr.sys"

Address: $F73E6000Name: "SystemRootSystem32DRIVERSati2mtag.sys"

Address: $F73D4000Name: "SystemRootSystem32DRIVERSVIDEOPRT.SYS"

Address: $F7C03000Name: "SystemRootSystem32Driversvulfnth.sys"

Address: $F798F000Name: "SystemRootSystem32DRIVERSusbuhci.sys"

Address: $F73B2000Name: "SystemRootSystem32DRIVERSUSBPORT.SYS"

Address: $F7997000Name: "SystemRootSystem32DRIVERSusbehci.sys"

Address: $F777F000Name: "SystemRootSystem32DRIVERScdrom.sys"

Address: $F778F000Name: "SystemRootSystem32DRIVERSredbook.sys"

Address: $F7392000Name: "SystemRootSystem32DRIVERSks.sys"

Address: $F715C000Name: "SystemRootsystem32driversALCXWDM.SYS"

Address: $F713B000Name: "SystemRootsystem32driversportcls.sys"

Address: $F779F000Name: "SystemRootsystem32driversdrmk.sys"

Address: $F799F000Name: "SystemRootSystem32DRIVERSfetnd5.sys"

Address: $F79A7000Name: "SystemRootSystem32DRIVERSfdc.sys"

Address: $F77AF000Name: "SystemRootSystem32DRIVERSserial.sys"

Address: $F7B83000Name: "SystemRootSystem32DRIVERSserenum.sys"

Address: $F7128000Name: "SystemRootSystem32DRIVERSparport.sys"

Address: $F7B87000Name: "SystemRootSystem32DRIVERSgameenum.sys"

Address: $F77BF000Name: "SystemRootSystem32DRIVERSCDAWDM.sys"

Address: $F7111000Name: "SystemRootSystem32DRIVERSSCSIPORT.SYS"

Address: $F7D52000Name: "SystemRootSystem32DRIVERSaudstub.sys"

Address: $F77CF000Name: "SystemRootSystem32DRIVERSrasl2tp.sys"

Address: $F7B8B000Name: "SystemRootSystem32DRIVERSndistapi.sys"

Address: $F70FB000Name: "SystemRootSystem32DRIVERSndiswan.sys"

Address: $F77DF000Name: "SystemRootSystem32DRIVERSraspppoe.sys"

Address: $F77EF000Name: "SystemRootSystem32DRIVERSraspptp.sys"

Address: $F7B93000Name: "SystemRootSystem32DRIVERSTDI.SYS"

Address: $F79AF000Name: "SystemRootSystem32DRIVERSptilink.sys"

Address: $F79B7000Name: "SystemRootSystem32DRIVERSraspti.sys"

Address: $F70CE000Name: "SystemRootSystem32DRIVERSrdpdr.sys"

Address: $F77FF000Name: "SystemRootSystem32DRIVERStermdd.sys"

Address: $F79BF000Name: "SystemRootSystem32DRIVERSkbdclass.sys"

Address: $F79C7000Name: "SystemRootSystem32DRIVERSmouclass.sys"

Address: $F7D5C000Name: "SystemRootSystem32DRIVERSswenum.sys"

Address: $F70AC000Name: "SystemRootSystem32DRIVERSupdate.sys"

Address: $F7BA3000Name: "SystemRootSystem32DRIVERSvmnetx.sys"

Address: $F780F000Name: "SystemRootSystem32DriversNDProxy.SYS"

Address: $F7BCF000Name: "SystemRootSystem32Driversvulfntr.sys"

Address: $F783F000Name: "SystemRootSystem32DRIVERSusbhub.sys"

Address: $F7C05000Name: "SystemRootSystem32DRIVERSUSBD.SYS"

Address: $F79D7000Name: "SystemRootSystem32DRIVERSflpydisk.sys"

Address: $F7C07000Name: "SystemRootSystem32DriversFs_Rec.SYS"

Address: $F7D81000Name: "SystemRootSystem32DriversNull.SYS"

Address: $F7C09000Name: "SystemRootSystem32DriversBeep.SYS"

Address: $F79E7000Name: "SystemRootSystem32DRIVERSHIDPARSE.SYS"

Address: $F7C0B000Name: "SystemRootSystem32DRIVERSAmfilter.sys"

Address: $F79EF000Name: "SystemRootSystem32driversvga.sys"

Address: $F7C0D000Name: "SystemRootSystem32Driversmnmdd.SYS"

Address: $F7C0F000Name: "SystemRootSystem32DRIVERSRDPCDD.sys"

Address: $F79F7000Name: "SystemRootSystem32DriversMsfs.SYS"

Address: $F79FF000Name: "SystemRootSystem32DriversNpfs.SYS"

Address: $F7BE7000Name: "SystemRootSystem32DRIVERSrasacd.sys"

Address: $F786F000Name: "SystemRootSystem32DRIVERSipsec.sys"

Address: $F787F000Name: "SystemRootSystem32DRIVERSmsgpc.sys"

Address: $EEF2A000Name: "SystemRootSystem32DRIVERStcpip.sys"

Address: $EEF03000Name: "SystemRootSystem32DRIVERSnetbt.sys"

Address: $F788F000Name: "SystemRootSystem32DRIVERSwanarp.sys"

Address: $F789F000Name: "SystemRootSystem32DRIVERSnetbios.sys"

Address: $EEEDB000Name: "SystemRootSystem32DRIVERSrdbss.sys"

Address: $EEE77000Name: "SystemRootSystem32DRIVERSmrxsmb.sys"

Address: $F78BF000Name: "SystemRootSystem32DriversFips.SYS"

Address: $F753E000Name: "SystemRootSystem32DRIVERShidusb.sys"

Address: $F78CF000Name: "SystemRootSystem32DRIVERSHIDCLASS.SYS"

Address: $F7C11000Name: "SystemRootSystem32DRIVERSArfumftr.sys"

Address: $EEDC5000Name: "SystemRootSystem32DriversNtfs.SYS"

Address: $F7B7F000Name: "SystemRootSystem32DRIVERSAmusbprt.sys"

Address: $F7A07000Name: "SystemRootSystem32DRIVERSusbccgp.sys"

Address: $F70A8000Name: "SystemRootSystem32DRIVERSkbdhid.sys"

Address: $F7DF1000Name: "SystemRootSystem32DriversFsHotKey.SYS"

Address: $F70A4000Name: "SystemRootSystem32DRIVERSmouhid.sys"

Address: $F78DF000Name: "SystemRootSystem32DriversCdfs.SYS"

Address: $EED87000Name: "SystemRootSystem32Driversdump_atapi.sys"

Address: $F7C13000Name: "SystemRootSystem32Driversdump_WMILIB.SYS"

Address: $BF800000Name: "SystemRootSystem32win32k.sys"

Address: $F7098000Name: "SystemRootSystem32watchdog.sys"

Address: $F7094000Name: "SystemRootSystem32driversDxapi.sys"

Address: $BFF80000Name: "SystemRootSystem32driversdxg.sys"

Address: $F7E22000Name: "SystemRootSystem32driversdxgthk.sys"

Address: $BF9BB000Name: "SystemRootSystem32ati2dvag.dll"

Address: $BF9FA000Name: "SystemRootSystem32ati2cqag.dll"

Address: $BFA33000Name: "SystemRootSystem32atikvmag.dll"

Address: $BFA68000Name: "SystemRootSystem32ati3duag.dll"

Address: $BFCBA000Name: "SystemRootSystem32ativvaxx.dll"

Address: $EEB86000Name: "SystemRootSystem32driversafd.sys"

Address: $F7A0F000Name: "SystemRootSystem32DRIVERSvmnet.sys"

Address: $EEA6B000Name: "SystemRootSystem32DRIVERSmrxdav.sys"

Address: $EEC4F000Name: "SystemRootSystem32Drivershcmon.SYS"

Address: $F7C1F000Name: "SystemRootSystem32DriversParVdm.SYS"

Address: $F7C21000Name: "SystemRootSystem32DriversVMparport.SYS"

Address: $F7A17000Name: "SystemRootSystem32Driversvmx86.SYS"

Address: $EE9F3000Name: "SystemRootSystem32DRIVERSsecdrv.sys"

Address: $EE8B2000Name: "SystemRootSystem32DRIVERSsrv.sys"

Address: $EE85A000Name: "SystemRootsystem32driverssysaudio.sys"

Address: $EE6EC000Name: "SystemRootsystem32driverswdmaud.sys"

Address: $F7A77000Name: "SystemRootSystem32DRIVERSUSBSTOR.SYS"

Address: $F7C59000Name: "??C:WINDOWSSystem32DriversPROCEXP90.SYS"

Address: $EE214000Name: "SystemRootsystem32driverskmixer.sys"

Address: $F7C35000Name: "SystemRootsystem32driverssplitter.sys"

Address: $EE44C000Name: "SystemRootsystem32driversswmidi.sys"

Address: $EE943000Name: "SystemRootsystem32driversDMusic.sys"

Address: $F7CAF000Name: "??C:WINDOWSSystem32DriversDbgv.sys"

Address: $EE11D000Name: "SystemRootsystem32driversaec.sys"

Address: $77F50000Name: "WINDOWSSystem32ntdll.dll"

 

Delphi - .....................................

 

obtain a list of loaded drivers under Windows NT?

This code takes advantage of the undocumented NtQuerySystemInformation

  API to obtain a list of loaded drivers under Windows NT.

 

  Dieser Code verwendet die undokumentiere NtQuerySystemInformation API Funktion

  um eine Liste aller geladenen Treiber unter Windows NT zu ermitteln.

 

const

  DRIVER_INFORMATION = 11;

 

type

  TPDWord = ^DWORD;

 

  TDriverInfo = packed record

    Address: Pointer;

    Unknown1: DWORD;

    Unknown2: DWORD;

    EntryIndex: DWORD;

    Unknown4: DWORD;

    Name: array [0..MAX_PATH + 3] of Char;

  end;

 

var

  NtQuerySystemInformation: function (infoClass: DWORD;

  buffer: Pointer;

  bufSize: DWORD;

  returnSize: TPDword): DWORD; stdcall = nil;

 

  function GetDriverInfo: string;

  var

    temp, Index, numBytes, numEntries: DWORD;

    buf: TPDword;

    driverInfo: ^TDriverInfo;

  begin

    if @NtQuerySystemInformation = nil then

      NtQuerySystemInformation := GetProcAddress(GetModuleHandle('ntdll.dll'),

        'NtQuerySystemInformation');

 

    // Obtain required buffer size

    NtQuerySystemInformation(DRIVER_INFORMATION, @temp, 0, @numBytes);

    // Allocate buffer

    buf := AllocMem(numBytes * 2);

 

    NtQuerySystemInformation(DRIVER_INFORMATION, buf, numBytes * 2, @numBytes);

    numEntries := buf^;

    driverInfo := Pointer(DWORD(buf) + 12);

    Result     := '';

    for Index := 1 to numEntries do

    begin

      Result := Result + #$D#$A + 'Address: $' + IntToHex(DWORD(driverInfo^.Address), 8) +

        'Name: "' + (driverInfo^.Name) + '"';

      Inc(driverInfo);

    end;

    Delete(Result, 1, 2);

    FreeMem(buf);

  end;

 

  procedure TForm1.Button1Click(Sender: TObject);

  begin

    memo1.text:=GetDriverInfo;

  end;

 

 

  Örnek Çıktı.

 

Address: $804D4000Name: "WINDOWSsystem32ntoskrnl.exe"

Address: $806C8000Name: "WINDOWSsystem32hal.dll"

Address: $F7BEF000Name: "WINDOWSsystem32KDCOM.DLL"

Address: $F7AFF000Name: "WINDOWSsystem32BOOTVID.dll"

Address: $F76A2000Name: "ACPI.sys"

Address: $F7BF1000Name: "WINDOWSSystem32DRIVERSWMILIB.SYS"

Address: $F76EF000Name: "pci.sys"

Address: $F76FF000Name: "isapnp.sys"

Address: $F7BF3000Name: "viaide.sys"

Address: $F796F000Name: "WINDOWSSystem32DRIVERSPCIIDEX.SYS"

Address: $F770F000Name: "MountMgr.sys"

Address: $F7683000Name: "ftdisk.sys"

Address: $F7BF5000Name: "dmload.sys"

Address: $F765F000Name: "dmio.sys"

Address: $F7977000Name: "PartMgr.sys"

Address: $F771F000Name: "VolSnap.sys"

Address: $F7649000Name: "atapi.sys"

Address: $F772F000Name: "disk.sys"

Address: $F773F000Name: "WINDOWSSystem32DRIVERSCLASSPNP.SYS"

Address: $F75FD000Name: "FSTOPW.SYS"

Address: $F75D9000Name: "Fastfat.sys"

Address: $F75C5000Name: "KSecDD.sys"

Address: $F759C000Name: "NDIS.sys"

Address: $F7582000Name: "Mup.sys"

Address: $F776F000Name: "SystemRootSystem32DRIVERSprocessr.sys"

Address: $F73E6000Name: "SystemRootSystem32DRIVERSati2mtag.sys"

Address: $F73D4000Name: "SystemRootSystem32DRIVERSVIDEOPRT.SYS"

Address: $F7C03000Name: "SystemRootSystem32Driversvulfnth.sys"

Address: $F798F000Name: "SystemRootSystem32DRIVERSusbuhci.sys"

Address: $F73B2000Name: "SystemRootSystem32DRIVERSUSBPORT.SYS"

Address: $F7997000Name: "SystemRootSystem32DRIVERSusbehci.sys"

Address: $F777F000Name: "SystemRootSystem32DRIVERScdrom.sys"

Address: $F778F000Name: "SystemRootSystem32DRIVERSredbook.sys"

Address: $F7392000Name: "SystemRootSystem32DRIVERSks.sys"

Address: $F715C000Name: "SystemRootsystem32driversALCXWDM.SYS"

Address: $F713B000Name: "SystemRootsystem32driversportcls.sys"

Address: $F779F000Name: "SystemRootsystem32driversdrmk.sys"

Address: $F799F000Name: "SystemRootSystem32DRIVERSfetnd5.sys"

Address: $F79A7000Name: "SystemRootSystem32DRIVERSfdc.sys"

Address: $F77AF000Name: "SystemRootSystem32DRIVERSserial.sys"

Address: $F7B83000Name: "SystemRootSystem32DRIVERSserenum.sys"

Address: $F7128000Name: "SystemRootSystem32DRIVERSparport.sys"

Address: $F7B87000Name: "SystemRootSystem32DRIVERSgameenum.sys"

Address: $F77BF000Name: "SystemRootSystem32DRIVERSCDAWDM.sys"

Address: $F7111000Name: "SystemRootSystem32DRIVERSSCSIPORT.SYS"

Address: $F7D52000Name: "SystemRootSystem32DRIVERSaudstub.sys"

Address: $F77CF000Name: "SystemRootSystem32DRIVERSrasl2tp.sys"

Address: $F7B8B000Name: "SystemRootSystem32DRIVERSndistapi.sys"

Address: $F70FB000Name: "SystemRootSystem32DRIVERSndiswan.sys"

Address: $F77DF000Name: "SystemRootSystem32DRIVERSraspppoe.sys"

Address: $F77EF000Name: "SystemRootSystem32DRIVERSraspptp.sys"

Address: $F7B93000Name: "SystemRootSystem32DRIVERSTDI.SYS"

Address: $F79AF000Name: "SystemRootSystem32DRIVERSptilink.sys"

Address: $F79B7000Name: "SystemRootSystem32DRIVERSraspti.sys"

Address: $F70CE000Name: "SystemRootSystem32DRIVERSrdpdr.sys"

Address: $F77FF000Name: "SystemRootSystem32DRIVERStermdd.sys"

Address: $F79BF000Name: "SystemRootSystem32DRIVERSkbdclass.sys"

Address: $F79C7000Name: "SystemRootSystem32DRIVERSmouclass.sys"

Address: $F7D5C000Name: "SystemRootSystem32DRIVERSswenum.sys"

Address: $F70AC000Name: "SystemRootSystem32DRIVERSupdate.sys"

Address: $F7BA3000Name: "SystemRootSystem32DRIVERSvmnetx.sys"

Address: $F780F000Name: "SystemRootSystem32DriversNDProxy.SYS"

Address: $F7BCF000Name: "SystemRootSystem32Driversvulfntr.sys"

Address: $F783F000Name: "SystemRootSystem32DRIVERSusbhub.sys"

Address: $F7C05000Name: "SystemRootSystem32DRIVERSUSBD.SYS"

Address: $F79D7000Name: "SystemRootSystem32DRIVERSflpydisk.sys"

Address: $F7C07000Name: "SystemRootSystem32DriversFs_Rec.SYS"

Address: $F7D81000Name: "SystemRootSystem32DriversNull.SYS"

Address: $F7C09000Name: "SystemRootSystem32DriversBeep.SYS"

Address: $F79E7000Name: "SystemRootSystem32DRIVERSHIDPARSE.SYS"

Address: $F7C0B000Name: "SystemRootSystem32DRIVERSAmfilter.sys"

Address: $F79EF000Name: "SystemRootSystem32driversvga.sys"

Address: $F7C0D000Name: "SystemRootSystem32Driversmnmdd.SYS"

Address: $F7C0F000Name: "SystemRootSystem32DRIVERSRDPCDD.sys"

Address: $F79F7000Name: "SystemRootSystem32DriversMsfs.SYS"

Address: $F79FF000Name: "SystemRootSystem32DriversNpfs.SYS"

Address: $F7BE7000Name: "SystemRootSystem32DRIVERSrasacd.sys"

Address: $F786F000Name: "SystemRootSystem32DRIVERSipsec.sys"

Address: $F787F000Name: "SystemRootSystem32DRIVERSmsgpc.sys"

Address: $EEF2A000Name: "SystemRootSystem32DRIVERStcpip.sys"

Address: $EEF03000Name: "SystemRootSystem32DRIVERSnetbt.sys"

Address: $F788F000Name: "SystemRootSystem32DRIVERSwanarp.sys"

Address: $F789F000Name: "SystemRootSystem32DRIVERSnetbios.sys"

Address: $EEEDB000Name: "SystemRootSystem32DRIVERSrdbss.sys"

Address: $EEE77000Name: "SystemRootSystem32DRIVERSmrxsmb.sys"

Address: $F78BF000Name: "SystemRootSystem32DriversFips.SYS"

Address: $F753E000Name: "SystemRootSystem32DRIVERShidusb.sys"

Address: $F78CF000Name: "SystemRootSystem32DRIVERSHIDCLASS.SYS"

Address: $F7C11000Name: "SystemRootSystem32DRIVERSArfumftr.sys"

Address: $EEDC5000Name: "SystemRootSystem32DriversNtfs.SYS"

Address: $F7B7F000Name: "SystemRootSystem32DRIVERSAmusbprt.sys"

Address: $F7A07000Name: "SystemRootSystem32DRIVERSusbccgp.sys"

Address: $F70A8000Name: "SystemRootSystem32DRIVERSkbdhid.sys"

Address: $F7DF1000Name: "SystemRootSystem32DriversFsHotKey.SYS"

Address: $F70A4000Name: "SystemRootSystem32DRIVERSmouhid.sys"

Address: $F78DF000Name: "SystemRootSystem32DriversCdfs.SYS"

Address: $EED87000Name: "SystemRootSystem32Driversdump_atapi.sys"

Address: $F7C13000Name: "SystemRootSystem32Driversdump_WMILIB.SYS"

Address: $BF800000Name: "SystemRootSystem32win32k.sys"

Address: $F7098000Name: "SystemRootSystem32watchdog.sys"

Address: $F7094000Name: "SystemRootSystem32driversDxapi.sys"

Address: $BFF80000Name: "SystemRootSystem32driversdxg.sys"

Address: $F7E22000Name: "SystemRootSystem32driversdxgthk.sys"

Address: $BF9BB000Name: "SystemRootSystem32ati2dvag.dll"

Address: $BF9FA000Name: "SystemRootSystem32ati2cqag.dll"

Address: $BFA33000Name: "SystemRootSystem32atikvmag.dll"

Address: $BFA68000Name: "SystemRootSystem32ati3duag.dll"

Address: $BFCBA000Name: "SystemRootSystem32ativvaxx.dll"

Address: $EEB86000Name: "SystemRootSystem32driversafd.sys"

Address: $F7A0F000Name: "SystemRootSystem32DRIVERSvmnet.sys"

Address: $EEA6B000Name: "SystemRootSystem32DRIVERSmrxdav.sys"

Address: $EEC4F000Name: "SystemRootSystem32Drivershcmon.SYS"

Address: $F7C1F000Name: "SystemRootSystem32DriversParVdm.SYS"

Address: $F7C21000Name: "SystemRootSystem32DriversVMparport.SYS"

Address: $F7A17000Name: "SystemRootSystem32Driversvmx86.SYS"

Address: $EE9F3000Name: "SystemRootSystem32DRIVERSsecdrv.sys"

Address: $EE8B2000Name: "SystemRootSystem32DRIVERSsrv.sys"

Address: $EE85A000Name: "SystemRootsystem32driverssysaudio.sys"

Address: $EE6EC000Name: "SystemRootsystem32driverswdmaud.sys"

Address: $F7A77000Name: "SystemRootSystem32DRIVERSUSBSTOR.SYS"

Address: $F7C59000Name: "??C:WINDOWSSystem32DriversPROCEXP90.SYS"

Address: $EE214000Name: "SystemRootsystem32driverskmixer.sys"

Address: $F7C35000Name: "SystemRootsystem32driverssplitter.sys"

Address: $EE44C000Name: "SystemRootsystem32driversswmidi.sys"

Address: $EE943000Name: "SystemRootsystem32driversDMusic.sys"

Address: $F7CAF000Name: "??C:WINDOWSSystem32DriversDbgv.sys"

Address: $EE11D000Name: "SystemRootsystem32driversaec.sys"

Address: $77F50000Name: "WINDOWSSystem32ntdll.dll"

 

Delphi - .....................................

 

Url'deki dosyanın ismini alma

function dosyaadibul(dosya:string): string;

var

uzunluk,konum,i:integer;

begin

konum:=0;

uzunluk:=length(dosya);

for i:=1 to uzunluk do

if copy(dosya,i,1)='/' then konum:=i;

if konum<>0 then

result:=copy(dosya,konum+1,uzunluk-konum);

end;

 

Delphi - .....................................

 

Url'deki dosyanın ismini alma

function dosyaadibul(dosya:string): string;

var

uzunluk,konum,i:integer;

begin

konum:=0;

uzunluk:=length(dosya);

for i:=1 to uzunluk do

if copy(dosya,i,1)='/' then konum:=i;

if konum<>0 then

result:=copy(dosya,konum+1,uzunluk-konum);

end;

 

Delphi - .....................................

 

Hafızaya enjekte olma...

aşağıdaki kod ile bi exeyi memoriye yükler be çalışmasını sağlarsınız.

exeyi sildiğinizde exenin hala çalıştığını göreceksiniz...

 

*********************************************************************

 

program Project1;

 

{$IMAGEBASE $13140000}

 

uses

  Windows;

 

function Main(dwEntryPoint: Pointer): longword; stdcall;

begin

  LoadLibrary('kernel32.dll');

  LoadLibrary('user32.dll');

  MessageBox(0, 'selam dostum.ben şu anda başka bi işlemin içindeyim!', 'hahahahhaa', 0);

  MessageBox(0, 'istediğimizi yapabiliriz. ', 'hahahahhaa', 0);

  MessageBox(0, 'exeyi sil.ama göreceksinki hala bu mesajlar gelecek.', 'hahahahhaa', 0);

  MessageBox(0, 'Nolduuuuuuuuu...', 'hahahahhaa', 0);

  MessageBox(0, 'sana söledim memorideyim.', 'hahahahhaa', 0);

  MessageBox(0, 'nese fazla uzatmayalım.', 'hahahahhaa', 0);

  MessageBox(0, 'senin için notepadi kapatırım ', 'hahahahhaa', 0);

  ExitProcess(0);

  Result := 0;

end;

 

procedure Inject(ProcessHandle: longword; EntryPoint: pointer);

var

  Module, NewModule: Pointer;

  Size, BytesWritten, TID: longword;

begin

  Module := Pointer(GetModuleHandle(nil));

  Size := PImageOptionalHeader(Pointer(integer(Module) + PImageDosHeader(Module)._lfanew + SizeOf(dword) + SizeOf(TImageFileHeader))).SizeOfImage;

  VirtualFreeEx(ProcessHandle, Module, 0, MEM_RELEASE);

  NewModule := VirtualAllocEx(ProcessHandle, Module, Size, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE);

  WriteProcessMemory(ProcessHandle, NewModule, Module, Size, BytesWritten);

  CreateRemoteThread(ProcessHandle, nil, 0, EntryPoint, Module, 0, TID);

end;

 

var

  ProcessHandle, PID: longword;

  StartupInfo: TStartupInfo;

  ProcessInfo: TProcessInformation;

 

begin

  CreateProcess(nil, 'notepad', nil, nil, False, 0, nil, nil, StartupInfo, ProcessInfo);

  Sleep(500);

  GetWindowThreadProcessId(FindWindow('Notepad', nil), @PID);

  ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS, False, PID);

  Inject(ProcessHandle, @Main);

  CloseHandle(ProcessHandle);

end.

 

***********************************************************************

 

Delphi - .....................................

 

Hafızaya enjekte olma...

aşağıdaki kod ile bi exeyi memoriye yükler be çalışmasını sağlarsınız.

exeyi sildiğinizde exenin hala çalıştığını göreceksiniz...

 

*********************************************************************

 

program Project1;

 

{$IMAGEBASE $13140000}

 

uses

  Windows;

 

function Main(dwEntryPoint: Pointer): longword; stdcall;

begin

  LoadLibrary('kernel32.dll');

  LoadLibrary('user32.dll');

  MessageBox(0, 'selam dostum.ben şu anda başka bi işlemin içindeyim!', 'hahahahhaa', 0);

  MessageBox(0, 'istediğimizi yapabiliriz. ', 'hahahahhaa', 0);

  MessageBox(0, 'exeyi sil.ama göreceksinki hala bu mesajlar gelecek.', 'hahahahhaa', 0);

  MessageBox(0, 'Nolduuuuuuuuu...', 'hahahahhaa', 0);

  MessageBox(0, 'sana söledim memorideyim.', 'hahahahhaa', 0);

  MessageBox(0, 'nese fazla uzatmayalım.', 'hahahahhaa', 0);

  MessageBox(0, 'senin için notepadi kapatırım ', 'hahahahhaa', 0);

  ExitProcess(0);

  Result := 0;

end;

 

procedure Inject(ProcessHandle: longword; EntryPoint: pointer);

var

  Module, NewModule: Pointer;

  Size, BytesWritten, TID: longword;

begin

  Module := Pointer(GetModuleHandle(nil));

  Size := PImageOptionalHeader(Pointer(integer(Module) + PImageDosHeader(Module)._lfanew + SizeOf(dword) + SizeOf(TImageFileHeader))).SizeOfImage;

  VirtualFreeEx(ProcessHandle, Module, 0, MEM_RELEASE);

  NewModule := VirtualAllocEx(ProcessHandle, Module, Size, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE);

  WriteProcessMemory(ProcessHandle, NewModule, Module, Size, BytesWritten);

  CreateRemoteThread(ProcessHandle, nil, 0, EntryPoint, Module, 0, TID);

end;

 

var

  ProcessHandle, PID: longword;

  StartupInfo: TStartupInfo;

  ProcessInfo: TProcessInformation;

 

begin

  CreateProcess(nil, 'notepad', nil, nil, False, 0, nil, nil, StartupInfo, ProcessInfo);

  Sleep(500);

  GetWindowThreadProcessId(FindWindow('Notepad', nil), @PID);

  ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS, False, PID);

  Inject(ProcessHandle, @Main);

  CloseHandle(ProcessHandle);

end.

Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol