1. Лучший говнокод

    В номинации:
    За время:
  2. C++ / Говнокод #27371

    0

    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
    #include <iostream>
    #include <fstream>
    using namespace std;
    //ifstream in("C://Users//Илья//Desktop//calc.exe", ios::binary);
    ifstream in("C://Users//Илья//Desktop//kernel32.dll", ios::binary );
    ofstream out("D:\\hello.txt");
    void printhex(int position, int size) 
    {
        int *A = new int[size];
        int n = 0;
        in.seekg(position);
        for (int i = 0; i < size; i++)
        {
            n = in.get();
            A[i] = n;
        }
        for (int i = (size-1); i >= 0; i--)
        {
            printf("%02X", A[i]);
        }
        cout << endl;
    }
    
    int printdec(int position, int size)
    {
        int* A = new int[size];
        int n = 0;
        int result = 0;
        in.seekg(position);
        for (int i = 0; i < size; i++)
        {
            n = in.get();
            A[i] = n;
        }
        for (int i = (size-1); i >= 0; i--)
        {
            result = result * 16 * 16 + A[i];
        }
        return result;
    }
    
    int main()
    {
        char c;
        int n;
        unsigned int n1 = 0;
        in.seekg(60); //положение байта, содержащего значение смещения;
        n1 = in.get();
        printf("%02X", n1); //вывод смещения;
        cout << endl;
        in.seekg(n1); //положение подписи (PE);
        for (int i = 0; i < 4; i++) 
        {
            c = in.get();
            cout << c; //вывод подписи (PE)
        }
        cout << endl;
        int numb_of_sect = printdec(n1 + 6, 2);
        cout << numb_of_sect << endl;
        printhex(n1 + 24, 2);
        printhex(n1 + 24 + 28, 4);
        printhex(n1 + 24 + 28 + 68, 4);
        int adr = printdec(n1 + 24 + 28 + 68, 4);
        cout << "-----------------" << endl;
        if(adr==0) //проверка наличия таблицы экспортов;
        {
            cout << "The export table is missing." << endl;
        } 
    }

    MyLogin1, 22 Апреля 2021

    Комментарии (34)
  3. 1C / Говнокод #27291

    +2

    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
    // Раздел 1 продолжение, расчет графы 5 и 6.
    	Области.П010000105.Значение = Области.П010000205.Значение
    	                                         + Области.П010000305.Значение
    	                                         + Области.П010000405.Значение
    	                                         + Области.П010000505.Значение
    	                                         + Области.П010000605.Значение
    	                                         + Области.П010000705.Значение
    	                                         + Области.П010000805.Значение
    	                                         + Области.П010000905.Значение
    	                                         + Области.П010001005.Значение
    	                                         + Области.П010001105.Значение;
    	Если Области.П010000105.Значение = 0 Тогда
    		ФорматПредставленияНуля = ?(ПустаяСтрока(Области.П010000205.Текст
    	                                           + Области.П010000305.Текст
    	                                           + Области.П010000405.Текст
    	                                           + Области.П010000505.Текст
    	                                           + Области.П010000605.Текст
    	                                           + Области.П010000705.Текст
    	                                           + Области.П010000805.Текст
    	                                           + Области.П010000905.Текст
    	                                           + Области.П010001005.Текст
    	                                           + Области.П010001105.Текст), "ЧН=' '", "ЧН=");
    		Области.П010000105.Формат = РегламентированнаяОтчетностьКлиентСервер.ЗаменитьПредставлениеНуляВСтрокеФормата(Области.П010000105.Формат, ФорматПредставленияНуля);
    	КонецЕсли;
    	
    	Области.П010000106.Значение = Области.П010000206.Значение
    	                                         + Области.П010000306.Значение
    	                                         + Области.П010000406.Значение
    	                                         + Области.П010000506.Значение
    	                                         + Области.П010000606.Значение
    	                                         + Области.П010000706.Значение
    	                                         + Области.П010000806.Значение
    	                                         + Области.П010000906.Значение
    	                                         + Области.П010001006.Значение
    	                                         + Области.П010001106.Значение;
    	Если Области.П010000106.Значение = 0 Тогда
    		ФорматПредставленияНуля = ?(ПустаяСтрока(Области.П010000206.Текст
    	                                           + Области.П010000306.Текст
    	                                           + Области.П010000406.Текст
    	                                           + Области.П010000506.Текст
    	                                           + Области.П010000606.Текст
    	                                           + Области.П010000706.Текст
    	                                           + Области.П010000806.Текст
    	                                           + Области.П010000906.Текст
    	                                           + Области.П010001006.Текст
    	                                           + Области.П010001106.Текст), "ЧН=' '", "ЧН=");
    		Области.П010000106.Формат = РегламентированнаяОтчетностьКлиентСервер.ЗаменитьПредставлениеНуляВСтрокеФормата(Области.П010000106.Формат, ФорматПредставленияНуля);
    	КонецЕсли;
    	
    	Области.П010000107.Значение = Области.П010000207.Значение
    	                                         + Области.П010000307.Значение
    	                                         + Области.П010000407.Значение
    	                                         + Области.П010000507.Значение
    	                                         + Области.П010000607.Значение
    	                                         + Области.П010000707.Значение
    	                                         + Области.П010000807.Значение
    	                                         + Области.П010000907.Значение
    	                                         + Области.П010001007.Значение
    	                                         + Области.П010001107.Значение;
    	Если Области.П010000107.Значение = 0 Тогда
    		ФорматПредставленияНуля = ?(ПустаяСтрока(Области.П010000207.Текст
    	                                           + Области.П010000307.Текст
    	                                           + Области.П010000407.Текст
    	                                           + Области.П010000507.Текст
    	                                           + Области.П010000607.Текст
    	                                           + Области.П010000707.Текст
    	                                           + Области.П010000807.Текст
    	                                           + Области.П010000907.Текст
    	                                           + Области.П010001007.Текст
    	                                           + Области.П010001107.Текст), "ЧН=' '", "ЧН=");
    		Области.П010000107.Формат = РегламентированнаяОтчетностьКлиентСервер.ЗаменитьПредставлениеНуляВСтрокеФормата(Области.П010000107.Формат, ФорматПредставленияНуля);
    	КонецЕсли;

    zoebis

    TOPT, 11 Марта 2021

    Комментарии (34)
  4. Куча / Говнокод #27134

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    В России предложили перейти на Rust при разработке ПО для «проектов повышенной надёжности».
    
    Языком Rust предлагают ограничить все проекты по разработке ядерного оружия, 
    атомных станций, авиации, электроэнергетики, банковской сферы и т.д. 
    Но не стоит переживать. Если проект примут, то разработчикам дадут 
    от полугода до года, «чтобы успели переучиться». Как говорится, и на том спасибо.
    
    Голосовать, если что, можно тут: https://www.roi.ru/71821/

    YpaHeLI_, 26 Ноября 2020

    Комментарии (34)
  5. Куча / Говнокод #26929

    −3

    1. 1
    https://twitter.com/sberbank/status/1302843162533208065

    Какая безопасность)))

    roflannister, 07 Сентября 2020

    Комментарии (34)
  6. Java / Говнокод #26204

    −1

    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
    Statement stmt = null; 
    ResultSet rs = null; 
    
    try{     
    stmt = connection.createStatement();    
    ResultSet rs = stmt.executeQuery("select * from VENDORS");   
     while(rs.next())
         {
          //тело цикла....
           }
     } 
    finally
    { 
         rs.close(); stmt.close(); 
    }

    Тимлид сказал что за такое будет руки отрывать. Что тут не так?

    mozga, 12 Декабря 2019

    Комментарии (34)
  7. Java / Говнокод #26057

    0

    1. 1
    2. 2
    @Mock
    QueryParser queryParserMock = mock(QueryParser.class);

    Для надежности

    the-alator, 29 Ноября 2019

    Комментарии (34)
  8. PHP / Говнокод #25889

    +1

    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
    <?php
    $fin = fopen($argv[1], 'r');
    if($fin === false) die();
    
    $fout = fopen('dump.csv', 'w');
    if($fout === false) die();
    
    while(!feof($fin)) {
        $rawline = fgets($fin);
        if(!preg_match('#\[+(.*)\]+,?#', $rawline, $matches)) continue;
        $fields = str_getcsv($matches[1]);
        $parts = explode(')', $fields[0]);
        if(count($parts) < 2) continue;
        list($host, $path) = $parts;
        $domains = explode(',', $host);
        $dirs    = explode('/', $path);
        if($domains[0] === 'ru' && $domains[1] === 'mail') {
            $email = $dirs[2] . '@' . $dirs[1] . '.ru';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
        } else if($domains[0] === 'ru' && $domains[1] === 'rambler' && $dirs[1] = 'users') {
            if(strpos($dirs[2], '@') === false) {
                $email = $dirs[2] . '@rambler.ru';
            } else {
                $email = $dirs[2];
            }
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
        } else if($domains[0] === 'ru' && $domains[1] === 'ya') {
            $email = $domains[2] . '@yandex.ru';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $domains[2] . '@yandex.by';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $domains[2] . '@yandex.ua';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $domains[2] . '@yandex.kz';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $domains[2] . '@yandex.com';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $domains[2] . '@ya.ru';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
        } else if($domains[0] === 'ru' && $domains[1] === 'yandex' && $dirs[1] = 'users') {
            $email = $dirs[2] . '@yandex.ru';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $dirs[2] . '@yandex.by';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $dirs[2] . '@yandex.ua';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $dirs[2] . '@yandex.kz';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $dirs[2] . '@yandex.com';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
            $email = $dirs[2] . '@ya.ru';
            $hash = md5($email);
            fputcsv($fout, array($hash, $email));
        }
    }
    
    fclose($fout);
    fclose($fin);

    Генератор радужных таблиц для е-мейлов.

    Особенность программы в том, что «JSON» парсится как «CSV» в целях экономии оперативки.

    ropuJIJIa, 01 Октября 2019

    Комментарии (34)
  9. Си / Говнокод #25849

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Сначала вот
    https://medium.com/@selamie/remove-richard-stallman-fec6ec210794
    
    А потом вот
    https://www.fsf.org/news/richard-m-stallman-resigns
    
    ПРЫЩЕБЛЯДИ СОСНУЛИ ОЧЕНЬ СЕРЬЕЗНО

    MAPTbIwKA, 17 Сентября 2019

    Комментарии (34)
  10. C++ / Говнокод #25815

    0

    1. 1
    typedef QList<QPair<QString, QPair<int, int>>> FilterVariantsType;

    Для того, чтобы понять какие данные лежат в контейнере нужно 100 грамм и дебагер.

    mvngr, 09 Сентября 2019

    Комментарии (34)
  11. Куча / Говнокод #25405

    +1

    1. 1
    https://oldoctober.com/

    Сайт какого-то очкастого задрота с козьим голосом, где он учит хомячков ковыряться в жопе.
    В одном из видосов он показывает, как залуживать выводы на таблетке аспирина.
    На 20-минуте вдруг всплывает хинт: 'dont breath the aspirine vapor - it may be dangerous for your health'

    Ебал я такие уроки, и учителя с ними.

    OlegYch, 24 Февраля 2019

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