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

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

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $data = "<?php define('DSN', 'mysql:dbname={$_POST['db_name']};host={$_POST['host_mysql']}'); define('DBUSER', '{$_POST['login_mysql']}'); define('DBPASS', '{$_POST['password_mysql']}');";
    $mysql_string = file_get_contents( 'class/mysql.php' );
    $new_mysql = $data . ' ' . $mysql_string;
    if ( !file_put_contents( 'class/mysql.php', $new_mysql ) ) {
    	errorMessage( "Не удалось сохранить файлы конфигураций, пожалуйста обратитесь в службу технической поддержки клиентов" );
    }

    install.php

    kindofbear, 15 Июля 2014

    Комментарии (11)
  3. 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)
  4. Куча / Говнокод #16286

    +131

    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
    if (SceneTextureIndex == 0)    return float4(CalcSceneColor(UV), 0);
        else if (SceneTextureIndex == 1)    return ScreenSpaceData.GBuffer.Depth;
        else if (SceneTextureIndex == 2)    return float4(ScreenSpaceData.GBuffer.DiffuseColor, 0);
        else if (SceneTextureIndex == 3)    return float4(ScreenSpaceData.GBuffer.SpecularColor, 0);
        else if (SceneTextureIndex == 4)    return float4(ScreenSpaceData.GBuffer.SubsurfaceColor, 0);
        else if (SceneTextureIndex == 5)    return float4(ScreenSpaceData.GBuffer.BaseColor, 0);
        else if (SceneTextureIndex == 6)    return ScreenSpaceData.GBuffer.Specular;
        else if (SceneTextureIndex == 7)    return ScreenSpaceData.GBuffer.Metallic;
        else if (SceneTextureIndex == 8)    return float4(ScreenSpaceData.GBuffer.WorldNormal, 0);
        else if (SceneTextureIndex == 9)    return 1; // todo
        else if (SceneTextureIndex == 10)    return ScreenSpaceData.GBuffer.Opacity;
        else if (SceneTextureIndex == 11)    return ScreenSpaceData.GBuffer.Roughness;
        else if (SceneTextureIndex == 12)    return ScreenSpaceData.GBuffer.GBufferAO;
        else if (SceneTextureIndex == 13)    return ScreenSpaceData.GBuffer.CustomDepth;
        else if (SceneTextureIndex == 14)    return Texture2DSample(PostprocessInput0, PostprocessInput0Sampler, UV);
        else if (SceneTextureIndex == 15)    return Texture2DSample(PostprocessInput1, PostprocessInput1Sampler, UV);
        else if (SceneTextureIndex == 16)    return Texture2DSample(PostprocessInput2, PostprocessInput2Sampler, UV);
        else if (SceneTextureIndex == 17)    return Texture2DSample(PostprocessInput3, PostprocessInput3Sampler, UV);
        else if (SceneTextureIndex == 18)    return Texture2DSample(PostprocessInput4, PostprocessInput4Sampler, UV);
        else if (SceneTextureIndex == 19)    return Texture2DSample(PostprocessInput5, PostprocessInput5Sampler, UV);
        else if (SceneTextureIndex == 20)    return Texture2DSample(PostprocessInput6, PostprocessInput6Sampler, UV);
        else if (SceneTextureIndex == 21)    return ScreenSpaceData.GBuffer.DecalMask;
        else if (SceneTextureIndex == 22)    return float4(GetLightingModelColor(ScreenSpaceData.GBuffer), 1);
        else if (SceneTextureIndex == 23)    return ScreenSpaceData.AmbientOcclusion;

    LispGovno, 08 Июля 2014

    Комментарии (11)
  5. Python / Говнокод #16250

    −96

    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
    import random
    
    while 0<1:
        inn_d=str(random.randint(100000000,999999999))
        a=int(inn_d[:1])*2
        b=int(inn_d[1:2])*4
        c=int(inn_d[2:3])*10
        d=int(inn_d[3:4])*3
        e=int(inn_d[4:5])*5
        f=int(inn_d[5:6])*9
        g=int(inn_d[6:7])*4
        l=int(inn_d[7:8])*6
        m=int(inn_d[8:9])*8
        x=a+b+c+d+e+f+g+l+m
        y=x%11
        if y%11==10:
            y=0
        print str(inn_d)+str(y)

    Такой вот генератор ИННов

    pl7ofit, 28 Июня 2014

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

    +132

    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
    private object N(Func<object> func)
            {
                try
                {
                    return func();
                }
                catch (NullReferenceException)
                {
                    return null;
                }
            }
    
    ...
    
    int? val = (int?)N(() => oldAttr.parent_value.Analyses_attribute);
    
    ...

    Мощный метод для поддержки паровозов.

    MainGovnokoder, 25 Июня 2014

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

    +133

    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
    string parser(string chto, string chem)
                {
                    int dlina = chem.Length;
                    int kol = chto.Length;
                    string ret = null;
                    int shet = 0;
                    int r = 0;
                    int nom = 0;
                    for (int i = 0; i < kol; i++)
                    {
                        if (chto[i] == chem[0] && shet == 0)
                        {
                            for (int j = i; j < dlina + i; j++)
                            {
                                if (chto[j] == chem[r])
                                {
                                    r++;
                                    shet++;
                                    nom = j;
                                }
    
                            }
                            if (shet != dlina)
                            {
                                shet = 0;
                                r = 0;
                                nom = 0;
                            }
                        }
                    }
                    int schet = nom + 3;
                    while (chto[schet] != '<')
                    {
                        ret += chto[schet];
                        schet++;
                    }
                    return ret;
                }

    Функция для парсинга подстроки

    vladb9582, 18 Июня 2014

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

    +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
    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
    // ------------------------------
    // config on all machines
    akka {
      actor {
       provider = akka.remote.RemoteActorRefProvider
       deployment {
         /greeter {
           remote = akka.tcp://MySystem@machine1:2552
         }
       }
     }
    }
     
    // ------------------------------
    // define the greeting actor and the greeting message
    case class Greeting(who: String) extends Serializable
     
    class GreetingActor extends Actor with ActorLogging {
      def receive = {
        case Greeting(who) ⇒ log.info("Hello " + who)
     }
    }
     
    // ------------------------------
    // on machine 1: empty system, target for deployment from machine 2
    val system = ActorSystem("MySystem")
     
    // ------------------------------
    // on machine 2: Remote Deployment - deploying on machine1
    val system = ActorSystem("MySystem")
    val greeter = system.actorOf(Props[GreetingActor], name = "greeter")
     
    // ------------------------------
    // on machine 3: Remote Lookup (logical home of “greeter” is machine2, remote deployment is transparent)
    val system = ActorSystem("MySystem")
    val greeter = system.actorSelection("akka.tcp://MySystem@machine2:2552/user/greeter")
    greeter ! Greeting("Sonny Rollins")

    Где найти такую же няшку под кресты?

    laMer007, 13 Июня 2014

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

    +98

    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
    procedure TForm1.FormCreate(Sender: TObject);
    var
      H: THandle;
      R: TRect;
      appbardata: tappbardata;
    
    begin
    
      sx := 0;
      sy := 0;
      ax := 0;
      ay := 0;
      sh := GetSystemMetrics(SM_CYSCREEN);
    
      ZeroMemory(@appbardata, SizeOf(tappbardata));
      SHAppbarmessage(5, appbardata);
    
      If appbardata.rc.TopLeft.X > 1 then
      begin
        ax := appbardata.rc.BottomRight.X - appbardata.rc.TopLeft.X;
        ax:=ax+4;
      end
      else
      ax:=6;
    
      If appbardata.rc.TopLeft.y > 1 then
      begin
        ay := appbardata.rc.BottomRight.y - appbardata.rc.TopLeft.y;
      ay:=ay+4;
      end
      else
      ay:=6;
    
      sx := (GetSystemMetrics(SM_CXSCREEN)-form1.ClientWidth-ax);
      sy := (GetSystemMetrics(SM_CYSCREEN)-form1.ClientHeight-ay);
    
      Form1.left := sx;
      Form1.Top :=sy;
    
    end;

    Выравнивание всплывающего окошка точно по правому краю.
    Даже не знаю, гк ли это, ибо глаз не видит себя. Но смотрится очень странно, почти как хак.

    brutushafens, 10 Июня 2014

    Комментарии (11)
  10. PHP / Говнокод #16062

    +162

    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
    switch ($Age){
    	case "30-35 лет" : $Age="30-35 лет";	break;
    	case "35-40 лет" : $Age="35-40 лет";	break;
    	case "40-45 лет" : $Age="40-45 лет";	break;
    	case "45-50 лет" : $Age="45-50 лет";	break;
    	case "50-55 лет" : $Age="50-55 лет";	break;
    	}
    switch ($Driving){
    	case "10-15 лет" : $Driving="10-15 лет";	break;
    	case "20-25 лет" : $Driving="20-25 лет";	break;
    	case "25-30 лет" : $Driving="25-30 лет";	break;
    	case "30-35 лет" : $Driving="30-35 лет";	break;
    	}
    	
    switch ($Register){
    	case "не в Москве" : $Register="не в Москве";	break;
    	case "Авиамоторная" : $Register="Авиамоторная";	break;
    	case "Автозаводская" : $Register="Автозаводская";	break;
    	case "Академическая" : $Register="Академическая";	break;
    	case "Александровский сад" : $Register="Александровский сад";	break;
    	case "Алексеевская" : $Register="Алексеевская";	break;
    	case "Алтуфьево" : $Register="Алтуфьево";	break;

    И так далее все станции...
    Кто-нить понимает зачем? Программисту платили за количество строк?

    aaparin, 27 Мая 2014

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

    +17

    1. 1
    MagicClass::getInstance().getFooFactory().createFoo().killMePlease();

    http://habrahabr.ru/post/222007/
    А вообще "Внедрение зависимостей в C++ через контейнеры" - та ещё традиционная специальная олимпиада крестовиков.

    LispGovno, 20 Мая 2014

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