Selam, bu ayda Windoze beni hayal kirikligina
ugratmadi ve aylik coku$unu yapdi. Benimde office kurcak vaktim olmadi ve bu ayki yazimi
notepad ile yazdim. $u siralar okul cok vaktimi almaya ba$ladi ondan bu ay fazla bir $ey
yazamadim. Ilk olarak delphi de ufak bir port scanner yazdim onun kaynak kodunu
vermek veriyorum. Aciklamalar kaynak kodun icinde. Bu arada bu scanner cok yava$ ve hantal
bi koda sahip. Siz tcp baglantisi yerine ping atarak daha hizli bir kod yazabilirsiniz.
{
(C)opyright 1999 Meliksah Ozoral
mozoral@mimsa.com
I hate School!
}
unit Unit2;
// Bilgidimiz Unit ve geyik kodlar...
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, ScktComp;
type
TForm2 = class(TForm)
//Bevel filan bunlari formu guzelle$tirmek icin kullandim. Sizin icin
//onemli olan 4 tane edit, 3 tane button, 1 tanede listbox
Bevel1: TBevel;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Button1: TButton;
Button2: TButton;
Bevel2: TBevel;
ListBox1: TListBox;
ps: TClientSocket;
Bevel3: TBevel;
Edit4: TEdit;
Button3: TButton;
//Geyik kodlara devam...
procedure Button1Click(Sender: TObject);
procedure psConnect(Sender: TObject; Socket: TCustomWinSocket);
procedure psError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
//burada kacinci port a baglanilacagini belirtiyoz. Bu degi$ken programin
//en onemli .'si (noktasi)
portno:integer;
implementation
uses Unit1;
{$R *.DFM}
//Bizim Scan buttonumuz acik portlari taramaya ba$lamak icin!
procedure TForm2.Button1Click(Sender: TObject);
begin
//Burada olay biraz gorsellige kacti, ama bence sizde yapin, program
//calisirken kimse degerlere mudale edemesin vs...
button1.enabled:=false;
edit1.enabled:=false;
edit2.enabled:=false;
edit3.enabled:=false;
edit4.enabled:=false;
button2.enabled:=true;
//edit2 de taramaya ba$lanilacak port numarasi yaziyor ve bu numarayi portno
//icinde tutuyoruz
portno:=strtoint(edit2.text);
//edit1 ise hangi ip yi tariyacagimizi soyluyor.
ps.address:=edit1.text;
//ps bizim bildigimiz clientsocket :)
//burada hangi portdan baglanti kurulacagini soyluyoruz.
ps.port:=portno;
// ve hadi Bismillah ilk portdan baglanmayi denedik.
ps.active:=true;
end;
//Eger baglanti kurulduysa!
procedure TForm2.psConnect(Sender: TObject; Socket: TCustomWinSocket);
//bu label in ne i$e yaradigi altda yaziyor
label son;
begin
//baglanti kurulan port numarasini listbox a ekliyoruz
listbox1.items.add('Connect on Port : '+inttostr(portno));
//client socketi kapatiyor ve ayarlarini degi$tiriyoruz
ps.active:=false;
//bu portu denedik sira obur portda
portno:=portno+1;
//yalniz eger port numarasi edit3 deki port numarasindan buyukse
//son adli label a gidiyor ve programi duruduyoruz
//edit3 deki port numarasi bizim duracagimiz port numarasini belli ediyor
if portno > strtoint(edit3.text) then goto son else
//evet kucukse bir sonraki portdan devam ediyoruz...
//hemen adresimizi kontrol edelim ne olur ne olmaz, sakata gelmeyelim!
ps.address:=edit1.text;
//yeni port numaramizida belirtelim
ps.port:=portno;
//tamam bakalim bu yeni port acikmiymi$ ?
ps.active:=true;
//son labeli :)
son:
end;
//himmm baglantida hata var demek ki port kapali!
procedure TForm2.psError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
//me$hur son label imiz
label son;
begin
//program error vermesin diye errorcode nu 0 (sifir) yaptik
//Foot note burada sifiri parantez icinde belirtmemin sebebi Projman ile
//kari$tirmamaniz...
errorcode:=0;
//edit4 de hangi portda oldugumuzu belirtiyoruz...
edit4.text:='Close Port No : '+inttostr(portno);
//client socketin ayarlarini tekara degi$tirmek icin false yapiyoruz
ps.active:=false;
//bu port kapali oldugu icin siradaki portu deniyoruz!
portno:=portno+1;
//aman sakin unutmayalim sadece 65535 tane port var :)
if portno > strtoint(edit3.text) then goto son else
//bu i$lemlerin ne i$e yaradigini yukarida soylemi$tim
//yazidan tasaruf ediyom!
ps.address:=edit1.text;
ps.port:=portno;
ps.active:=true;
son:
end;
//Peki adam ya vazcayarsa onuda $unuyoz ve Cancel tu$unu ekliyoz
procedure TForm2.Button2Click(Sender: TObject);
begin
//Walla adam gibi cancel olayi bulamadim hemen port numarasini
//edit3 deki son port numarasi yapiyom ve arada kalan portlari
//atlayarak olayi bitiriyom
portno:=strtoint(edit3.text);
//tabi tu$larimizi eski haline aliyoz
button1.enabled:=true;
edit1.enabled:=true;
edit2.enabled:=true;
edit3.enabled:=true;
edit4.enabled:=true;
button2.enabled:=false;
end;
//Bu tu$uda belki adam yeni bir tarama daha yaparda
//listbox u filan temizlemek ister niyetine koydum...
procedure TForm2.Button3Click(Sender: TObject);
begin
edit4.text:='';
listbox1.items.clear;
end;
//Heheh aslinda bu bende MidiChild oldugu icin buda var :)
//Siz bunu yazmak zorunda degilsiniz.
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
{form1.portscanner1.enabled:=true;}
{action:=cafree;}
end;
end.
Iste basit ve hantal port scanneri olayi bukadar.
Babenet de bir cgi acigi buldum, olay $u istedigiz bir ki$inin o gunku istatistiklerini
gorebiliyorsunuz.Olay a$agidaki cgida adamin kullanici adini degi$tirerek oluyor.Cok basit
bir acik.Ilk olarak NIKOBAR adli lamerin istatistiklerine bakin :
http://banrep1.babenet.com/bcreport.cgi?action=today&PROVIDER=blitz1&
SITEID=249&BPROGRAM=BCE
bu satiri browserinizda yazin ve adamin o gun kac click aldigini gorun... $imdide
www.warez.com un kac click aldigina bakalim.
http://banrep1.babenet.com/bcreport.cgi?action=today&PROVIDER=rampage&SITEID=
249&BPROGRAM=BCE
burada PROVIDER=XXXXXXXX de rampage yerine istediginiz bir ki$inin sponsor idsini yazin ve
o gun ne kadar kazandigini gorun, tabi bu diger istatistikler icinde gecerli ama ben
sadece ornek olarak gunluk istatistikleri verdim... Bu aylik bu kadar, kisa oldu ama
napiyim! >;)
Meliksah Ozoral
root@mimsa.com
Hack is Fun!
thanX!
Spook : cgi ornegi icin :)
Bigfoot : hipna!
Projman : optum :x
Hazırlayan:
Meliksah : meliksah@trscene.org