Membahas Tentang Inject di Indy Delphi 7

Indy ( Internet Direct )

Lalu apa indy itu ? indy adalah komponen open source yang terdiri dari protocol internet yang sudah begitu popular ,seperti HTTP , FTP , SMTP , TCP , UDP ,Gopher , Whois dan lain -lain , karena open source maka kita dapat mempelajari semua kode program yang ada untuk dikembangkan . kemudahan yang lain adalah indy mendukung protocol sampai 120 protokol , sebelumya protocol adalah aturan standar atau ketentuan dalam komunikasi jaringan , jadi dalam komunikasi jaringan sudah dibentuk aturan baku dalam proses data .
 
Socket programming adalah bagaimana cara menggunakan socket API ( Application Socket Programming ), untuk menghubungkan komunikasi antara proses remote dan local , programmer yang menggunakan ILE ( Integrated Language Environment) C dapat menggunakan informasi untuk mengembangkan aplikasi socket . Anda juga dapat menggunakan kode socket API dari bahasa ILE lainnya , seperti RPG . JAVA juga mendukung alat penghubung untuk socket programming

Dan maksud dari API adalah sebuah library atau fungsi windows untuk mengeksekusi sebuah perintah yang ada di dalam semua tampilan windows , sebagai contoh untuk tampilan desktop ,screen saver ,shutdown computer dll

Biasanya seorang programmer yang membuat program seperti berbasiskan protocol jaringan kita sebut dia adalah programmer winsock ( windows socket ).

Winsock dapat didefinisikan dan di dokumentasikan oleh standar API untuk pemograman protocols jaringan . Umumnya digunakan untuk program TCP / IP , tetapi dapat juga digunakan untuk program novell ( IPX / SPX ) dan protocol jaringan lainnya . Winsock dapat digunakan untuk DLL ( Dynamic Link Library ) yang merupakan bagian dari Win32 .

Cara kerja dari winsock adalah perpaduan antara IP Address dan port number , lalu apa yang dimaksud dengan IP Address . IP Address adalah sebuah alamat virtual pada setiap computer untuk mengirimkan data , contoh dalam kehidupan nyata adalah setiap kita mengirim surat kita harus menyertakan alamat pengirim dan alamat tujuan , jika tidak ada maka paket tidak bisa dikirim karena tidak jelas alamat pengirim dan alamat penerima . contoh alamat IP Address adalah 192.168.1.1

Lalu yang dimaksud dengan port number ,pada pelayanan jaringan di computer , port number dapat dikatakan sebagai identifikasi khusus untuk setiap proses, contoh jika anda menggunakan layanan internet seperti google .com anda telah menggunakan port number tertentu , yaitu port 80

Jadi windows socket adalah perpaduan IP Address dan port number , contoh anda mengakses http://www.google.com , kita misalkan google.com memiliki IP Address 66.25.12.25 , sama saja anda mengakses dengan http://www.google.com:80 atau http://66.25.12.25:80 atau untuk layanan chatting seperti MIRC menggunakan port :6666 jadi cara kerja untuk mengakses MIRC adalah alamatserver:portnumber contoh kita anggap IP Address untuk alamatserver chating misalkan DALNET adalah :121.122.204.12 maka prosesnya adalah 121.122.204.12:6666

Kembali ke topic utama kita adalah Indy ( Internet direct ) , indy digunakan untuk membuat aplikasi yang menggunakan protocol jaringan


Untuk pemograman indy dapat menggunakan bahasa pemograman seperti Borland Delphi , Borland C++ builder , Visual Studio.net, C# , dan untuk platform ( berbeda system operasi ) dapat digunakan pula di Linux , .Net Framework, dan Win32.

Untuk selanjutnya penulis akan menjelaskan dengan membuat Inject  . penulis menggunakan bahasa pemograman Borland Delphi 7 dan komponen indy server ( IdMappedPortTCP1 ).


 procedure TForm1.IdMappedPortTCP1Execute(AThread: TIdMappedPortThread);
var bug:string;
begin
  bug:= 'GET http://'+ComboBox1.Text+'/ HTTP/1.1'+#13#10#13#10#13#10#13#10;
if (Pos('CONNECT',Athread.NetData)<>0) then

  Athread.NetData := Athread.NetData + Bug;
  Memo1.Lines.Add(AThread.NetData);
end;

-
NETDATA/Athread.Netdata = CONNECT IP:HOST HTTP/1.0
SPLIT - Memisah pengiriman data asli dan Payload(sleep(1000))
Dapat ditambahkan dengan header lainnya eg:
Host: String
Keep-Alive: String
dan lain-lain
Dan pada jendela sebelah kiri kolom paling bawah
adalah payload.Jadi, silahkan masukan payload
dibagian ini

LINE PARAMETER
1 X ENTER = CRLF/#13#10

procedure TForm1.IdMappedPortTCP1OutboundData(
  AThread: TIdMappedPortThread);
begin

if pos (' 405 Method', AThread.NetData) <>0 then begin
         AThread.NetData := StringReplace(AThread.NetData,' 405 Method',' 200 OK',[rfReplaceAll]);
if Pos ('502 Bad Gateway', AThread.NetData) <> 0 then begin
AThread.NetData := StringReplace(athread.NetData,'502 Bad Gateway','200 OK',[rfReplaceAll]);
end else
if Pos ('403 Forbidden', AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(athread.NetData,'403 Forbidden','200 OK',[rfReplaceAll]);
end else
if Pos ('HTTP/1.1 302 Found', AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(athread.NetData,'302 Not Found','200 OK',[rfReplaceAll]);
end else
if Pos ('400 Bad Request', AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(athread.NetData,'400 Bad Request','200 OK',[rfReplaceAll]);
end else
if Pos (' Set-Cookie', AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(AThread.NetData,' Set-Cookie',' 200 OK',[rfReplaceAll]);
end else
if Pos ('302 Found', AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(athread.NetData,'302 Found','200 OK',[rfReplaceAll]);
end else
if Pos (':22', AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(athread.NetData,':22',':443',[rfReplaceAll]);
end else
if Pos (':143', AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(athread.NetData,':143:',':443',[rfReplaceAll]);
end else
if Pos (':109', AThread.NetData) <>0 then begin
AThread.NetData := StringReplace(athread.NetData,':109:',':443',[rfReplaceAll]);
end else
Memo1.Lines.Add(AThread.NetData);
end;

end;

nah bagian yang di atas ini ada respon data yang sudah di konek in akan received pda outbound ini atau
pengeluaran data yang kita pake...
StringReplace adalah mengganti String
Contoh String : ':109:',':443' Apa arti nya ? arti nya Jika Muncul String 109 Akan di gantikan Menjadi String 443 ..

Bagian Listening Port :

procedure TForm1.btn1Click(Sender: TObject);
begin

    IdMappedPortTCP1.Bindings.Add.IP := '127.0.0.1';
    IdMappedPortTCP1.Bindings.Add.Port := StrToInt(Edit1.Text);
    IdMappedPortTCP1.MappedHost := 10.19.19.19;
    IdMappedPortTCP1.MappedPort := StrToInt(8080);
    IdMappedPortTCP1.Active := True;
    btn1.Enabled := False;
    btn2.Enabled := True;
end;

MappedHost/MappedPort Adalah Server IP/Server Proxy Misalkan Server Proxy Indosat 10.19.19.19:8080
 IdMappedPortTCP1.Active ini adalah jika kita klik button ini jadi aktif Port nya ,, Mksud Aktif Port ?
Aktif Port dari Bagian ini
    IdMappedPortTCP1.Bindings.Add.IP := '127.0.0.1'; ini adalah Server Localhost kita
    IdMappedPortTCP1.Bindings.Add.Port := StrToInt(Edit1.Text); ini adalah Port localhost

Tujuan Listening Port adlh Menyambungkan Server Ke Client ..
Seperti Warnet kan warnet pke kable ,, klo ini secara pke Port

Jika Kamu Pengen Download Contoh Source Code inject nya Download siini

Sekian dari ane  kang ...
Wassalam. WR.WB

Silahkan berkomentar asalkan tidak mengandung SPAM/SARA, jika komentar mengandng spam maka komentar tidak akan ditampilkan atau dihapus oleh admin blog ini. TERIMAKASIH

Related Posts:

0 Response to "Membahas Tentang Inject di Indy Delphi 7"

Post a Comment