[Delphi] DH Junk Code Maker 0.4

  • 0 Respuestas
  • 3374 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil

[Delphi] DH Junk Code Maker 0.4

  • en: Julio 09, 2016, 11:40:32 am
Un programa en Delphi para generar codigo basura y lograr quitar algunas firmas de AV en un malware hecho en Delphi.

Tiene las siguientes opciones :

  • Generar constantes[/li]
  • Generar variables[/li]
  • Generar varios for[/li]
  • Generar funciones con variables[/li]
  • Generar funciones con for[/li]
  • Generar codigo con todas las funciones anteriores juntas[/li]
  • Se puede establecer una lontigud para cada opcion[/li][/list]

    Una imagen :



    El codigo :

    Código: Delphi
    1. // DH Junk Code Maker 0.4
    2. // (C) Doddy Hackman 2016
    3.  
    4. unit junk;
    5.  
    6. interface
    7.  
    8. uses
    9.   Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
    10.   System.Classes, Vcl.Graphics,
    11.   Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls,
    12.   Vcl.ComCtrls, Vcl.Styles.Utils.Menus, Vcl.Styles.Utils.SysStyleHook,
    13.   Vcl.Styles.Utils.SysControls, Math, Vcl.Menus, Vcl.Imaging.pngimage,
    14.   Vcl.ImgList;
    15.  
    16. type
    17.   TFormHome = class(TForm)
    18.     imgLogo: TImage;
    19.     gbOutput: TGroupBox;
    20.     mmOutput: TMemo;
    21.     gbEnterLength: TGroupBox;
    22.     txtLength: TEdit;
    23.     udLength: TUpDown;
    24.     gbType: TGroupBox;
    25.     cmbOptions: TComboBox;
    26.     gbOptions: TGroupBox;
    27.     btnGenerate: TButton;
    28.     ppOptions: TPopupMenu;
    29.     copy: TMenuItem;
    30.     clear: TMenuItem;
    31.     ilIconos: TImageList;
    32.     procedure btnGenerateClick(Sender: TObject);
    33.     procedure clearClick(Sender: TObject);
    34.     procedure copyClick(Sender: TObject);
    35.   private
    36.     { Private declarations }
    37.   public
    38.     { Public declarations }
    39.   end;
    40.  
    41. var
    42.   FormHome: TFormHome;
    43.  
    44. implementation
    45.  
    46. {$R *.dfm}
    47. // Functions
    48.  
    49. function dh_generate_string(option: string; length_string: integer): string;
    50. const
    51.   letters1: array [1 .. 26] of string = ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
    52.     'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
    53.     'x', 'y', 'z');
    54. const
    55.   letters2: array [1 .. 26] of string = ('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
    56.     'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
    57.     'X', 'Y', 'Z');
    58. const
    59.   numbers: array [1 .. 10] of string = ('0', '1', '2', '3', '4', '5', '6', '7',
    60.     '8', '9');
    61.  
    62. const
    63.   cyrillic: array [1 .. 44] of string = ('?', '?', '?', '?', '?', '?', '?', '?',
    64.     '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?',
    65.     '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?',
    66.     '?', '?', '?', '?', '?', '?');
    67.  
    68. const
    69.   no_idea1: array [1 .. 13] of string = ('?', '?', '?', '?', '?', '?', '?', '?',
    70.     '?', '?', '?', '?', '?');
    71.  
    72. const
    73.   no_idea2: array [1 .. 28] of string = ('?', '?', '?', '?', '?', '?', '?', '?',
    74.     '?', '?', '?', '?', '?', '?', '?', '?', '??', '?', '?', '?', '?', '?', '?',
    75.     '?', '?', '?', '?', '??');
    76.  
    77. const
    78.   no_idea3: array [1 .. 13] of string = ('??', '?', '?', '?', '?', '?', '?',
    79.     '_', '?', '`', '?', '_', '?');
    80.  
    81. const
    82.   no_idea4: array [1 .. 26] of string = ('?', '?', '€', '?', 'l', '?', '™', 'O',
    83.     'e', '?', '?', '?', '?', '?', '?', '?', '?', '-', '/', '·', 'v', '8', '?',
    84.     '˜', '?', '=');
    85.  
    86. const
    87.   no_idea5: array [1 .. 33] of string = ('?', '?', '?', '?', 'n', '?', '?', '?',
    88.     '?', '?', '?', 'G', '?', '?', '?', 'e', 'ß', '?', '?', '?', '?', '?', '?',
    89.     '?', '?', '?', '?', '?', '?', '?', '8', 'S', '?');
    90.  
    91. const
    92.   no_idea6: array [1 .. 32] of string = ('?', '?', '?', '?', '?', '?', '?', '?',
    93.     '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?',
    94.     '?', '?', '?', '?', '?', '?', '?', '?', '?');
    95. var
    96.   code: string;
    97.   gen_now: string;
    98.   i: integer;
    99.   index: integer;
    100. begin
    101.  
    102.   gen_now := '';
    103.  
    104.   for i := 1 to length_string do
    105.   begin
    106.     if (option = '1') then
    107.     begin
    108.       gen_now := gen_now + letters1[RandomRange(1, Length(letters1) + 1)];
    109.     end
    110.     else if (option = '2') then
    111.     begin
    112.       gen_now := gen_now + letters2[RandomRange(1, Length(letters2) + 1)];
    113.     end
    114.     else if (option = '3') then
    115.     begin
    116.       gen_now := gen_now + numbers[RandomRange(1, Length(numbers) + 1)];
    117.     end
    118.     else if (option = '4') then
    119.     begin
    120.       gen_now := gen_now + cyrillic[RandomRange(1, Length(cyrillic) + 1)];
    121.     end
    122.     else if (option = '5') then
    123.     begin
    124.       gen_now := gen_now + no_idea1[RandomRange(1, Length(no_idea1) + 1)];
    125.     end
    126.     else if (option = '6') then
    127.     begin
    128.       gen_now := gen_now + no_idea2[RandomRange(1, Length(no_idea2) + 1)];
    129.     end
    130.     else if (option = '7') then
    131.     begin
    132.       gen_now := gen_now + no_idea3[RandomRange(1, Length(no_idea3) + 1)];
    133.     end
    134.     else if (option = '8') then
    135.     begin
    136.       gen_now := gen_now + no_idea4[RandomRange(1, Length(no_idea4) + 1)];
    137.     end
    138.     else if (option = '9') then
    139.     begin
    140.       gen_now := gen_now + no_idea5[RandomRange(1, Length(no_idea5) + 1)];
    141.     end
    142.     else if (option = '10') then
    143.     begin
    144.       gen_now := gen_now + no_idea6[RandomRange(1, Length(no_idea6) + 1)];
    145.     end
    146.     else
    147.     begin
    148.       gen_now := gen_now + letters1[RandomRange(1, Length(letters1) + 1)];
    149.     end;
    150.   end;
    151.   code := gen_now;
    152.  
    153.   Result := code;
    154. end;
    155.  
    156. function message_box(title, message_text, type_message: string): string;
    157. begin
    158.   if not(title = '') and not(message_text = '') and not(type_message = '') then
    159.   begin
    160.     try
    161.       begin
    162.         if (type_message = 'Information') then
    163.         begin
    164.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
    165.             MB_ICONINFORMATION);
    166.         end
    167.         else if (type_message = 'Warning') then
    168.         begin
    169.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
    170.             MB_ICONWARNING);
    171.         end
    172.         else if (type_message = 'Question') then
    173.         begin
    174.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
    175.             MB_ICONQUESTION);
    176.         end
    177.         else if (type_message = 'Error') then
    178.         begin
    179.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
    180.             MB_ICONERROR);
    181.         end
    182.         else
    183.         begin
    184.           MessageBox(FormHome.Handle, PChar(message_text), PChar(title),
    185.             MB_ICONINFORMATION);
    186.         end;
    187.         Result := '</li><li type="square"> MessageBox : OK';[/li][/list]
    188.       end;
    189.     except
    190.       begin
    191.         Result := '[-] Error';
    192.       end;
    193.     end;
    194.   end
    195.   else
    196.   begin
    197.     Result := '[-] Error';
    198.   end;
    199. end;
    200.  
    201. //
    202.  
    203. procedure TFormHome.btnGenerateClick(Sender: TObject);
    204. var
    205.   id: string;
    206.   i, y: integer;
    207.   vars, vars2, name, name2, value, value2: string;
    208.   strings, strings2: string;
    209.   functions, code: string;
    210.   limit_random: integer;
    211. begin
    212.  
    213.   if (StrToInt(txtLength.Text) > 0) then
    214.   begin
    215.  
    216.     if (cmbOptions.ItemIndex = 0) then
    217.     begin
    218.       for i := 1 to StrToInt(txtLength.Text) do
    219.       begin
    220.         name := dh_generate_string('1', 5);
    221.         value := dh_generate_string('1', 20);
    222.         mmOutput.Lines.Add('const ' + name + '=' + '''' + value + '''' + ';');
    223.       end;
    224.       mmOutput.Lines.Add('');
    225.     end
    226.     else if (cmbOptions.ItemIndex = 1) then
    227.     begin
    228.  
    229.       vars := 'var ';
    230.       strings := '';
    231.  
    232.       for i := 1 to StrToInt(txtLength.Text) do
    233.       begin
    234.         name := dh_generate_string('1', 5);
    235.         value := dh_generate_string('1', 20);
    236.         if (i = StrToInt(txtLength.Text)) then
    237.         begin
    238.           vars := vars + name + ':string;';
    239.         end
    240.         else
    241.         begin
    242.           vars := vars + name + ',';
    243.         end;
    244.         if (i = StrToInt(txtLength.Text)) then
    245.         begin
    246.           strings := strings + name + ':=' + '''' + value + '''' + ';';
    247.         end
    248.         else
    249.         begin
    250.           strings := strings + name + ':=' + '''' + value + '''' + ';' +
    251.             sLineBreak;
    252.         end;
    253.       end;
    254.  
    255.       id := dh_generate_string('1', 5);
    256.  
    257.       code := 'procedure gen_vars_' + id + ';' + sLineBreak + vars + sLineBreak
    258.         + 'begin' + sLineBreak + strings + sLineBreak + 'end;';
    259.  
    260.       mmOutput.Lines.Add(code);
    261.       mmOutput.Lines.Add('');
    262.  
    263.     end
    264.     else if (cmbOptions.ItemIndex = 2) then
    265.     begin
    266.       vars := 'var i,y:integer;';
    267.       strings := '';
    268.       for i := 1 to StrToInt(txtLength.Text) do
    269.       begin
    270.         value := dh_generate_string('3', 2);
    271.  
    272.         if (i = StrToInt(txtLength.Text)) then
    273.         begin
    274.           strings := strings + 'i := 0;' + sLineBreak + 'y := 0;' + sLineBreak +
    275.             sLineBreak;
    276.           strings := strings + 'for i := 0 to ' + value + ' do' + sLineBreak +
    277.             'begin' + sLineBreak + 'inc(y);' + sLineBreak + 'end;';
    278.         end
    279.         else
    280.         begin
    281.           strings := strings + 'i := 0;' + sLineBreak + 'y := 0;' + sLineBreak +
    282.             sLineBreak;
    283.           strings := strings + 'for i := 0 to ' + value + ' do' + sLineBreak +
    284.             'begin' + sLineBreak + 'inc(y);' + sLineBreak + 'end;' + sLineBreak
    285.             + sLineBreak;
    286.         end;
    287.       end;
    288.  
    289.       id := dh_generate_string('1', 5);
    290.  
    291.       code := 'procedure gen_fors_' + id + ';' + sLineBreak + vars + sLineBreak
    292.         + 'begin' + sLineBreak + strings + sLineBreak + 'end;';
    293.  
    294.       mmOutput.Lines.Add(code);
    295.       mmOutput.Lines.Add('');
    296.  
    297.     end
    298.     else if (cmbOptions.ItemIndex = 3) then
    299.     begin
    300.       code := '';
    301.       functions := '';
    302.  
    303.       for i := 1 to StrToInt(txtLength.Text) do
    304.       begin
    305.         vars := 'var ';
    306.         strings := '';
    307.         limit_random := StrToInt(dh_generate_string('3', 1));
    308.         if (limit_random = 0) then
    309.         begin
    310.           limit_random := 5;
    311.         end;
    312.         for y := 1 to limit_random do
    313.         begin
    314.           name := dh_generate_string('1', 5);
    315.           value := dh_generate_string('1', 20);
    316.           if (y = limit_random) then
    317.           begin
    318.             vars := vars + name + ':string;';
    319.           end
    320.           else
    321.           begin
    322.             vars := vars + name + ',';
    323.           end;
    324.           if (y = limit_random) then
    325.           begin
    326.             strings := strings + name + ':=' + '''' + value + '''' + ';';
    327.           end
    328.           else
    329.           begin
    330.             strings := strings + name + ':=' + '''' + value + '''' + ';' +
    331.               sLineBreak;
    332.           end;
    333.         end;
    334.  
    335.         id := dh_generate_string('1', 5);
    336.  
    337.         if (i = StrToInt(txtLength.Text)) then
    338.         begin
    339.           functions := 'function gen_vars_' + id + '():string;' + sLineBreak +
    340.             vars + sLineBreak + 'begin' + sLineBreak + strings + sLineBreak +
    341.             'Result :=' + '''' + id + '''' + ';' + sLineBreak + 'end;' +
    342.             sLineBreak;
    343.         end
    344.         else
    345.         begin
    346.           functions := 'function gen_vars_' + id + '():string;' + sLineBreak +
    347.             vars + sLineBreak + 'begin' + sLineBreak + strings + sLineBreak +
    348.             'Result :=' + '''' + id + '''' + ';' + sLineBreak + 'end;' +
    349.             sLineBreak + sLineBreak;
    350.         end;
    351.  
    352.         code := code + functions;
    353.  
    354.       end;
    355.  
    356.       mmOutput.Lines.Add(code);
    357.       // mmOutput.Lines.Add('');
    358.     end
    359.     else if (cmbOptions.ItemIndex = 4) then
    360.     begin
    361.  
    362.       code := '';
    363.  
    364.       for i := 1 to StrToInt(txtLength.Text) do
    365.       begin
    366.  
    367.         vars := 'var i,y:integer;';
    368.         strings := '';
    369.         limit_random := StrToInt(dh_generate_string('3', 1));
    370.  
    371.         if (limit_random = 0) then
    372.         begin
    373.           limit_random := 5;
    374.         end;
    375.         for y := 1 to limit_random do
    376.         begin
    377.           value := dh_generate_string('3', 2);
    378.  
    379.           if (i = limit_random) then
    380.           begin
    381.             strings := strings + 'i := 0;' + sLineBreak + 'y := 0;' +
    382.               sLineBreak;
    383.             strings := strings + 'for i := 0 to ' + value + ' do' + sLineBreak +
    384.               'begin' + sLineBreak + 'inc(y);' + sLineBreak + 'end;' +
    385.               sLineBreak;
    386.           end
    387.           else
    388.           begin
    389.             strings := strings + 'i := 0;' + sLineBreak + 'y := 0;' +
    390.               sLineBreak;
    391.             strings := strings + 'for i := 0 to ' + value + ' do' + sLineBreak +
    392.               'begin' + sLineBreak + 'inc(y);' + sLineBreak + 'end;' +
    393.               sLineBreak;
    394.           end;
    395.         end;
    396.  
    397.         id := dh_generate_string('3', 5);
    398.  
    399.         if (i = StrToInt(txtLength.Text)) then
    400.         begin
    401.           functions := 'function gen_fors_' + id + '():integer();' + sLineBreak
    402.             + vars + sLineBreak + 'begin' + sLineBreak + strings + 'Result :=' +
    403.             id + ';' + sLineBreak + 'end;' + sLineBreak;
    404.         end
    405.         else
    406.         begin
    407.           functions := 'function gen_fors_' + id + '():integer();' + sLineBreak
    408.             + vars + sLineBreak + 'begin' + sLineBreak + strings + 'Result :=' +
    409.             id + ';' + sLineBreak + 'end;' + sLineBreak + sLineBreak;
    410.         end;
    411.  
    412.         code := code + functions;
    413.  
    414.       end;
    415.  
    416.       mmOutput.Lines.Add(code);
    417.       // mmOutput.Lines.Add('');
    418.  
    419.     end
    420.     else if (cmbOptions.ItemIndex = 5) then
    421.     begin
    422.  
    423.       code := '';
    424.       functions := '';
    425.  
    426.       for i := 1 to StrToInt(txtLength.Text) do
    427.       begin
    428.  
    429.         vars := 'var ';
    430.         strings := '';
    431.         vars2 := 'var ';
    432.         strings2 := '';
    433.  
    434.         limit_random := StrToInt(dh_generate_string('3', 1));
    435.  
    436.         if (limit_random = 0) then
    437.         begin
    438.           limit_random := 5;
    439.         end;
    440.         for y := 1 to limit_random do
    441.         begin
    442.           name := dh_generate_string('1', 20);
    443.           name2 := dh_generate_string('1', 20);
    444.           value := dh_generate_string('1', 20);
    445.           value2 := dh_generate_string('3', 2);
    446.  
    447.           if (y = limit_random) then
    448.           begin
    449.             vars := vars + name + ':string;';
    450.           end
    451.           else
    452.           begin
    453.             vars := vars + name + ',';
    454.           end;
    455.  
    456.           if (y = limit_random) then
    457.           begin
    458.             strings := strings + name + ':=' + '''' + value + '''' + ';';
    459.           end
    460.           else
    461.           begin
    462.             strings := strings + name + ':=' + '''' + value + '''' + ';' +
    463.               sLineBreak;
    464.           end;
    465.  
    466.           vars2 := 'var i,y:integer;';
    467.  
    468.           if (y = limit_random) then
    469.           begin
    470.             strings2 := strings2 + 'i := 0;' + sLineBreak + 'y := 0;' +
    471.               sLineBreak;
    472.             strings2 := strings2 + 'for i := 0 to ' + value2 + ' do' +
    473.               sLineBreak + 'begin' + sLineBreak + 'inc(y);' + sLineBreak +
    474.               'end;' + sLineBreak;
    475.           end
    476.           else
    477.           begin
    478.             strings2 := strings2 + 'i := 0;' + sLineBreak + 'y := 0;' +
    479.               sLineBreak;
    480.             strings2 := strings2 + 'for i := 0 to ' + value2 + ' do' +
    481.               sLineBreak + 'begin' + sLineBreak + 'inc(y);' + sLineBreak +
    482.               'end;' + sLineBreak;
    483.           end;
    484.         end;
    485.  
    486.         id := dh_generate_string('1', 5);
    487.  
    488.         if (i = StrToInt(txtLength.Text)) then
    489.         begin
    490.           functions := 'function gen_functions_' + id + '():string;' +
    491.             sLineBreak + vars + sLineBreak + vars2 + sLineBreak + 'begin' +
    492.             sLineBreak + strings + sLineBreak + strings2 + 'Result :=' + '''' +
    493.             id + '''' + ';' + sLineBreak + 'end;' + sLineBreak;
    494.         end
    495.         else
    496.         begin
    497.           functions := 'function gen_functions_' + id + '():string;' +
    498.             sLineBreak + vars + sLineBreak + vars2 + sLineBreak + 'begin' +
    499.             sLineBreak + strings + sLineBreak + strings2 + 'Result :=' + '''' +
    500.             id + '''' + ';' + sLineBreak + 'end;' + sLineBreak + sLineBreak;
    501.         end;
    502.  
    503.         code := code + functions;
    504.       end;
    505.  
    506.       mmOutput.Lines.Add(code);
    507.  
    508.     end;
    509.  
    510.     message_box('DH Junk Code Maker 0.4', 'Enjoy the junk source',
    511.       'Information');
    512.   end
    513.   else
    514.   begin
    515.     message_box('DH Junk Code Maker 0.4',
    516.       'The length should be greater than zero', 'Warning');
    517.   end;
    518. end;
    519.  
    520. procedure TFormHome.clearClick(Sender: TObject);
    521. begin
    522.   mmOutput.clear;
    523.   message_box('DH Junk Code Maker 0.4', 'Output cleaned', 'Information');
    524. end;
    525.  
    526. procedure TFormHome.copyClick(Sender: TObject);
    527. begin
    528.   mmOutput.SelectAll;
    529.   mmOutput.CopyToClipboard;
    530.   message_box('DH Junk Code Maker 0.4', 'Output copied to the clipboard',
    531.     'Information');
    532. end;
    533.  
    534. end.
    535.  
    536. // The End ?
    537.  

    Si quieren bajar el programa lo pueden hacer de aca :

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

    Eso seria todo.

 

[Sintaxis general de Delphi] By: Geek Lord Venezuela [R00t] Team

Iniciado por ANTRAX

Respuestas: 0
Vistas: 3357
Último mensaje Febrero 24, 2010, 04:35:15 pm
por ANTRAX
Eliminar acentos y otros agregados de un caracter/cadena Delphi 2009

Iniciado por ANTRAX

Respuestas: 0
Vistas: 5195
Último mensaje Febrero 24, 2010, 04:57:14 pm
por ANTRAX
1er troyano en Delphi By: Geek Lord Venezuela [R00t] Team

Iniciado por ANTRAX

Respuestas: 0
Vistas: 5455
Último mensaje Febrero 24, 2010, 04:34:48 pm
por ANTRAX
[Delphi] Creacion de un Server Builder con recursos

Iniciado por BigBear

Respuestas: 1
Vistas: 2695
Último mensaje Marzo 09, 2015, 07:56:20 pm
por Flemon
[Delphi] Project Arsenal X 0.2 (Regalo de navidad)

Iniciado por BigBear

Respuestas: 2
Vistas: 5378
Último mensaje Diciembre 28, 2015, 10:27:44 am
por BigBear