Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: BigBear en 14 Junio 2013, 19:04 pm



Título: [Delphi] Spam King 0.2
Publicado por: BigBear en 14 Junio 2013, 19:04 pm
Un simple programa para spammear en un canal IRC , solo ponen los mensajes a enviar y el programa cada cierto tiempo marcado por ustedes mandara mensajes privados a cada persona en ese canal marcado.

Una imagen :

(http://doddyhackman.webcindario.com/images/spamkingdelphidelphi.jpg)

El codigo

Código
  1. // Spam King 0.2
  2. // Coded By Doddy H
  3.  
  4. unit irc;
  5.  
  6. interface
  7.  
  8. uses
  9.  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  10.  Dialogs, StdCtrls, sButton, sSkinManager, ExtCtrls, IdBaseComponent,
  11.  IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, IdContext, IdCmdTCPClient,
  12.  IdIRC, sMemo, sGroupBox, sLabel, sEdit, ComCtrls, sStatusBar, sListBox,
  13.  PerlRegEx, jpeg, acPNG;
  14.  
  15. type
  16.  TForm1 = class(TForm)
  17.    sSkinManager1: TsSkinManager;
  18.    Timer1: TTimer;
  19.    IdIRC1: TIdIRC;
  20.    sGroupBox1: TsGroupBox;
  21.    sLabel2: TsLabel;
  22.    sEdit1: TsEdit;
  23.    sEdit2: TsEdit;
  24.    sLabel3: TsLabel;
  25.    sEdit3: TsEdit;
  26.    sLabel4: TsLabel;
  27.    sEdit4: TsEdit;
  28.    sStatusBar1: TsStatusBar;
  29.    sGroupBox2: TsGroupBox;
  30.    sListBox1: TsListBox;
  31.    sLabel5: TsLabel;
  32.    sEdit5: TsEdit;
  33.    sButton2: TsButton;
  34.    sGroupBox3: TsGroupBox;
  35.    sListBox2: TsListBox;
  36.    sButton1: TsButton;
  37.    sLabel6: TsLabel;
  38.    sEdit6: TsEdit;
  39.    sButton3: TsButton;
  40.    sGroupBox4: TsGroupBox;
  41.    sMemo1: TsMemo;
  42.    PerlRegEx1: TPerlRegEx;
  43.    Console: TsGroupBox;
  44.    sMemo2: TsMemo;
  45.    sLabel1: TsLabel;
  46.    Image1: TImage;
  47.    sLabel7: TsLabel;
  48.    procedure sButton1Click(Sender: TObject);
  49.    procedure Timer1Timer(Sender: TObject);
  50.    procedure IdIRC1PrivateMessage(ASender: TIdContext; const ANicknameFrom,
  51.      AHost, ANicknameTo, AMessage: string);
  52.    procedure sButton3Click(Sender: TObject);
  53.    procedure IdIRC1NicknamesListReceived(ASender: TIdContext;
  54.      const AChannel: string; ANicknameList: TStrings);
  55.    procedure sButton2Click(Sender: TObject);
  56.    procedure FormCreate(Sender: TObject);
  57.    procedure IdIRC1Raw(ASender: TIdContext; AIn: Boolean;
  58.      const AMessage: string);
  59.    procedure IdIRC1Disconnected(Sender: TObject);
  60.    procedure IdIRC1Connected(Sender: TObject);
  61.  private
  62.    { Private declarations }
  63.  public
  64.    { Public declarations }
  65.  end;
  66.  
  67. var
  68.  Form1: TForm1;
  69.  
  70. implementation
  71.  
  72. {$R *.dfm}
  73.  
  74. procedure TForm1.FormCreate(Sender: TObject);
  75. begin
  76.  
  77.  sSkinManager1.SkinDirectory := ExtractFilePath(Application.ExeName) + 'Data';
  78.  sSkinManager1.SkinName := 'tv-b';
  79.  sSkinManager1.Active := True;
  80.  
  81. end;
  82.  
  83. procedure TForm1.IdIRC1Connected(Sender: TObject);
  84. begin
  85.  sStatusBar1.Panels[0].text := '[+] Connected ...';
  86.  Form1.sStatusBar1.Update;
  87. end;
  88.  
  89. procedure TForm1.IdIRC1Disconnected(Sender: TObject);
  90. begin
  91.  sStatusBar1.Panels[0].text := '[+] Stopped';
  92.  Form1.sStatusBar1.Update;
  93. end;
  94.  
  95. procedure TForm1.IdIRC1NicknamesListReceived
  96.  (ASender: TIdContext; const AChannel: string; ANicknameList: TStrings);
  97. var
  98.  i: integer;
  99.  i2: integer;
  100.  renicks: string;
  101.  listanow: TStringList;
  102.  arraynow: array of String;
  103.  
  104. begin
  105.  
  106.  sListBox2.Clear;
  107.  
  108.  for i := 0 to ANicknameList.Count - 1 do
  109.  begin
  110.  
  111.    PerlRegEx1.Regex := '(.*) = ' + sEdit3.text + ' :(.*)';
  112.    PerlRegEx1.Subject := ANicknameList[i];
  113.  
  114.    if PerlRegEx1.Match then
  115.    begin
  116.      renicks := PerlRegEx1.SubExpressions[2];
  117.  
  118.      renicks := StringReplace(renicks, sEdit4.text, '', []);
  119.  
  120.      listanow := TStringList.Create;
  121.      listanow.Delimiter := ' ';
  122.      listanow.DelimitedText := renicks;
  123.  
  124.      for i2 := 0 to listanow.Count - 1 do
  125.      begin
  126.        sListBox2.Items.Add(listanow[i2]);
  127.      end;
  128.  
  129.    end;
  130.  
  131.  end;
  132.  
  133. end;
  134.  
  135. procedure TForm1.IdIRC1PrivateMessage(ASender: TIdContext; const ANicknameFrom,
  136.  AHost, ANicknameTo, AMessage: string);
  137. begin
  138.  sMemo1.Lines.Add(ANicknameFrom + ' : ' + AMessage);
  139. end;
  140.  
  141. procedure TForm1.IdIRC1Raw(ASender: TIdContext; AIn: Boolean;
  142.  const AMessage: string);
  143. begin
  144.  sMemo2.Lines.Add(AMessage);
  145. end;
  146.  
  147. procedure TForm1.sButton1Click(Sender: TObject);
  148. begin
  149.  
  150.  sListBox2.Items.Clear;
  151.  sMemo2.Lines.Clear;
  152.  sMemo1.Lines.Clear;
  153.  
  154.  IdIRC1.Host := sEdit1.text;
  155.  IdIRC1.Port := StrToInt(sEdit2.text);
  156.  IdIRC1.Nickname := sEdit4.text;
  157.  IdIRC1.Username := sEdit4.text + ' 1 1 1 1';
  158.  IdIRC1.AltNickname := sEdit4.text + '-123';
  159.  
  160.  try
  161.  
  162.    IdIRC1.Connect;
  163.    IdIRC1.Join(sEdit3.text);
  164.  
  165.    Timer1.Interval := StrToInt(sEdit6.text) * 1000;
  166.    Timer1.Enabled := True;
  167.  
  168.  except
  169.    sStatusBar1.Panels[0].text := '[-] Error';
  170.    Form1.sStatusBar1.Update;
  171.  end;
  172.  
  173. end;
  174.  
  175. procedure TForm1.sButton2Click(Sender: TObject);
  176. begin
  177.  sListBox1.Items.Add(sEdit5.text);
  178. end;
  179.  
  180. procedure TForm1.sButton3Click(Sender: TObject);
  181. begin
  182.  sStatusBar1.Panels[0].text := '[-] Stopped';
  183.  Form1.sStatusBar1.Update;
  184.  IdIRC1.Disconnect();
  185.  Abort;
  186.  
  187. end;
  188.  
  189. procedure TForm1.Timer1Timer(Sender: TObject);
  190. var
  191.  i: integer;
  192. begin
  193.  
  194.  sStatusBar1.Panels[0].text := '[+] Spamming ...';
  195.  Form1.sStatusBar1.Update;
  196.  
  197.  for i := 0 to sListBox2.Count - 1 do
  198.  begin
  199.  
  200.    IdIRC1.Say(sListBox2.Items[i], sListBox1.Items[Random(sListBox1.Count - 1)
  201.        + 0]);
  202.  
  203.  end;
  204.  
  205. end;
  206.  
  207. end.
  208.  
  209. // The End ?
  210.  

Si lo quieren bajar lo pueden hacer de aca (https://sourceforge.net/projects/spamking/)