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

    Всего: 22

  2. C# / Говнокод #22712

    −23

    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
    string[] strArray = System.IO.File.ReadAllLines(Application.StartupPath + "\bin\Language.dat", Encoding.Default);
    string str = System.IO.File.ReadAllText(Application.StartupPath + "\bin\cookie\lng.dat", Encoding.Default);
    int num = 0;
    int index1 = -1;
    for (int index2 = 0; index2 < ((IEnumerable<string>) strArray).Count<string>(); ++index2)
    {
      if (num == 1)
      {
    	if (strArray[index2] == "</language>")
    	{
    	  num = 0;
    	  break;
    	}
    	++index1;
    	this.toolStripComboBox1.Items.Add((object) strArray[index2].Split('=')[1].Replace(" ", ""));
    	this.lan[index1] = strArray[index2].Split('=')[0].Replace(" ", "");
    	if (this.lan[index1] == str)
    	  this.toolStripComboBox1.SelectedIndex = index1;
      }
      if (strArray[index2] == "<language>")
    	num = 1;
    }
    for (int index2 = 0; index2 < ((IEnumerable<string>) strArray).Count<string>(); ++index2)
    {
      if (num == 1)
      {
    	if (strArray[index2] == "</languageRecaptcha>")
    	{
    	  num = 0;
    	  break;
    	}
    	if (strArray[index2].Split(':')[0] == str)
    	  this.lang[0] = strArray[index2].Split(':')[1];
      }
      if (strArray[index2] == "<languageRecaptcha>")
    	num = 1;
    }
    for (int index2 = 0; index2 < ((IEnumerable<string>) strArray).Count<string>(); ++index2)
    {
      if (num == 1)
      {
    	if (strArray[index2] == "</password>")
    	{
    	  num = 0;
    	  break;
    	}
    	if (strArray[index2].Split(':')[0] == str)
    	  this.lang[1] = strArray[index2].Split(':')[1];
      }
      if (strArray[index2] == "<password>")
    	num = 1;
    }

    И так еще 700 строк. Вся логика в Form1, который весит более сотни КБ и содержит 3500 строк.
    Это решалка рекапчи с одного сервиса, который берет за это деньги.
    Зато была заобфусцирована по самые яйца.

    yamamoto, 30 Марта 2017

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

    −49

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function isIE() { //ie?判断是否为IE浏览器
    	if (!!window.ActiveXObject || "ActiveXObject" in window)
    		return false;
    	else
    		return false;
    }

    Говно с китайского сайта.
    На нем еще в куках кидаются логин и пароль в открытом виде, ну и для полного счастья везде используется незащищенный HTTP.

    yamamoto, 07 Февраля 2017

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

    −21

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    protected override void OnMessage (Context context, Intent intent)
    {
        //Push Notification arrived - print out the keys/values
        if (intent == null || intent.Extras == null)
            foreach (var key in intent.Extras.KeySet())
                Console.WriteLine("Key: {0}, Value: {1}");
    }

    Код из документации по либе Google Cloud Messaging Client, см: https://components.xamarin.com/view/GCMClient/
    Что курили авторы?

    yamamoto, 07 Октября 2016

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

    −21

    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
    internal static bool StringToDouble(string s, ref double d)
    {
    	bool ret = true;
    	d = 0.0;
    	try
    	{
    		d = System.Convert.ToDouble(s, CultureInfo.InvariantCulture);
    	}
    	catch (System.OverflowException)
    	{
    		ret = false;
    	}
    	catch (System.FormatException)
    	{
    		ret = false;
    	}
    
    	return ret;
    }

    Из-за этого говна в глубинах WPF у меня при копировании содержимого FlowDocument кидалась туча эксепшенов, что затормаживало все к чертям.

    yamamoto, 30 Сентября 2016

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

    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
    using Microsoft.VisualBasic.CompilerServices;
    using System;
    
    namespace ConsoleApplication2
    {
      [StandardModule]
      internal sealed class Module1
      {
        [STAThread]
        public static void Main()
        {
    label_0:
          int num1;
          int num2;
          try
          {
            ProjectData.ClearProjectError();
            num1 = 1;
    label_1:
            int num3 = 2;
            Test.TTT();
            goto label_8;
    label_3:
            num2 = num3;
            switch (num1)
            {
              case 1:
                int num4 = num2 + 1;
                num2 = 0;
                switch (num4)
                {
                  case 1:
                    goto label_0;
                  case 2:
                    goto label_1;
                  case 3:
                  case 4:
                    goto label_8;
                }
            }
          }
          catch (Exception ex) when (ex is Exception & (uint) num1 > 0U & num2 == 0)
          {
            ProjectData.SetProjectError(ex);
            goto label_3;
          }
          throw ProjectData.CreateProjectError(-2146828237);
    label_8:
          if (num2 == 0)
            return;
          ProjectData.ClearProjectError();
        }
      }
    }

    Вот какая жуть получилась при декомпиляции старого доброго On Error Resume Next из VB.
    Исходный код:
    Sub Main()
    On Error Resume Next
    TTT() 'определен в модуле Test
    Exit Sub
    End Sub

    yamamoto, 23 Мая 2016

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

    +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
    private long m_IsExecuting;
    
    // ...
    
    public virtual void Execute(object parameter)
    {
    	try
    	{
    		if (Interlocked.Read(ref m_IsExecuting) != 0)
    			return;
    		Interlocked.Increment(ref m_IsExecuting);
    		m_Execute(parameter);
    	}
    	finally
    	{
    		Interlocked.Decrement(ref m_IsExecuting);
    	}
    }

    А за то, что ты меня не пустил, я пущу следующего.

    yamamoto, 18 Мая 2016

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

    +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
    [DllImport("quickusb.dll", CharSet = CharSet.Ansi)]
    static extern int QuickUsbWriteData(IntPtr Handle, byte[] outData, int length);
    
    // ...
    
     public bool Write(byte[] data)
        {
        // ...
            int result = QuickUsbWriteData(handle, data, data.Length);
    
            if (result != 0)
                return true;
            else if (result == 0)
            {
                LastError =  "QUSB returned 0";
                return false;
            }
            else
            {
                LastError = "Unknown error inside WriteData";
                return false;
            }
        // ...
      }

    Видимо, последняя ветка - на случай зомби-апокалипсиса или особо сильных глюков после передоза.

    yamamoto, 25 Марта 2016

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

    +7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    private bool trap = false;
    public bool TrapExceptions
    {
    	get { return this.trap; }
    	set { this.trap = true; }
    }

    Выхода нет.

    yamamoto, 10 Марта 2016

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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private bool IsDriverSuccessfullyInstalled(DriverInfo di, string historyDriverVersion, string historyPackageVersion)
    {
      bool flag = false;
      if (!string.IsNullOrWhiteSpace(di.VersionAfterInstallation) && !string.IsNullOrWhiteSpace(di.VersionAfterInstallation) && new Version(di.VersionAfterInstallation).CompareTo(new Version(di.VersionBeforeInstallation)) >= 0)
    	flag = true;
      return flag;
    }

    При попытке поставить драйвер интеловской видюхи инсталлер вывалился с ArgumentNullException. Декомпильнул его и увидел вот это.
    Копипаста головного мозга.

    yamamoto, 13 Февраля 2016

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

    +8

    1. 1
    2. 2
    3. 3
    4. 4
    if (args.Length < 2 || args.Length == 3 || args.Length > 5 || args.Length > 2 && args[2] != "-n" && args[2] != "-t" || args.Length == 5 && args[4] != "-f" && args[4] != "-d" && args[4] != "-a")
    {
    	FindPrivateKey.PrintHelp();
    }

    Из майкрософтовского sample для поиска файлов приватных ключей.

    yamamoto, 29 Октября 2015

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