1. Assembler / Говнокод #17114

    +147

    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
    strnstr proc
    	jrcxz @@3
    	push rdi
    	push rsi
    	mov rdi,rdx
    	mov al,[r9]
    	inc r9
    	dec r8
    @@1:
    	repne scasb
    	jne @@2
    	cmp rcx,r8
    	jb @@2
    	mov rsi,r9
    	mov rdx,rdi
    	mov r10,rcx
    	mov rcx,r8
    	repe cmpsb
    	je @@2
    	mov rcx,r10
    	mov rdi,rdx
    	jmp @@1
    @@2:
    	sete al
    	movzx rax,al
    	neg rax
    	and rax,rdi
    	pop rsi
    	pop rdi
    	ret
    @@3:
    	xor rax,rax
    	ret
    strnstr endp

    PSTR __fastcall strnstr(SIZE_T n1, const void* str1, SIZE_T n2, const void* str2);

    zhukas, 15 Ноября 2014

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

    +53

    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
    97. 97
    98. 98
    99. 99
    void zxc()
    {
    	DWORD i = 256, j, k, l, nTry, N = 0;
    	ULONG_PTR a = 0, b = 0, aa = 0, bb = 0;
    	_PTE* pte = PXE(256);
    	do 
    	{
    		if (pte->Valid)
    		{
    			pte->Owner = 1;
    			__try
    			{
    				j = 0, nTry = 0;
    
    				_PTE* pte = PPE(i, 0);
    
    				do 
    				{
    					if (pte->Valid)
    					{
    						pte->Owner = 1;
    
    						__try
    						{
    							k = 0, nTry = 0;
    
    							_PTE* pte = PDE(i, j, 0);
    
    							do 
    							{
    								if (pte->Valid)
    								{
    									pte->Owner = 1;
    
    									if (pte->LargePage)
    									{
    										b = LA(i, j, k, 0);
    
    										if (!a)
    										{
    											a = b;
    										}
    										continue;
    									}
    									__try
    									{
    										l = 0, nTry = 0;
    
    										_PTE* pte = PTE(i, j, k, 0);
    
    										do 
    										{
    											b = LA(i, j, k, l);
    
    											if (pte->Valid)
    											{
    												pte->Owner = 1;
    
    												if (!a)
    												{
    													a = b;
    												}
    											}
    											else
    											{
    												if (!pte->Prototype && pte->Protection && pte->Protection < MM_NOCACHE)
    												{
    												}
    												else if (a)
    												{
    													aa = a, bb = b, a = 0, N++;
    												}
    											}
    										} while (nTry = 0, ++pte, ++l < PTE_PER_PAGE);
    									}
    									__except(OnPteException(pte, nTry)){}
    								}
    								else if (a)
    								{
    									aa = a, bb = LA(i, j, k, 0), a = 0, N++;
    								}
    							} while (nTry = 0, ++pte, ++k < PDE_PER_PAGE);
    						}
    						__except(OnPteException(pte, nTry)){}
    					}
    					else if (a)
    					{
    						aa = a, bb = LA(i, j, 0, 0), a = 0, N++;
    					}
    				} while (nTry = 0, ++pte, ++j < PPE_PER_PAGE);
    			}
    			__except(OnPteException(pte, nTry)){}
    		}
    		else if (a)
    		{
    			aa = a, bb = LA(i, 0, 0, 0), a = 0, N++;
    		}
    	} while (++pte, ++i < PXE_PER_PAGE);
    }

    #define LA(i, j, k, l) (0xFFFF000000000000 + \
    ((ULONG_PTR)(i) << PXI_SHIFT) + \
    ((ULONG_PTR)(j) << PPI_SHIFT) + \
    ((ULONG_PTR)(k) << PDI_SHIFT) + \
    ((ULONG_PTR)(l) << PTI_SHIFT))

    zhukas, 15 Ноября 2014

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

    +51

    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
    97. 97
    98. 98
    99. 99
    DWORD getDirectoryIndex()
    	{
    		STATIC_OBJECT_ATTRIBUTES(oa, "\\");
    		HANDLE hFile;
    		DWORD ObjectTypeIndex = 0;
    
    		if (0 <= ZwOpenDirectoryObject(&hFile, DIRECTORY_QUERY, &oa))
    		{
    			NTSTATUS status;
    			PVOID buf = 0, stack = alloca(guz);
    			DWORD cb = 0, rcb = 0x10000;
    
    			do 
    			{
    				if (cb < rcb) cb = RtlPointerToOffset(buf = alloca(rcb - cb), stack);
    
    				if (0 <= (status = ZwQuerySystemInformation(SystemExtendedHanfleInformation, buf, cb, &rcb)))
    				{
    					PSYSTEM_HANDLE_INFORMATION_EX pshti = (PSYSTEM_HANDLE_INFORMATION_EX)buf;
    
    					if (ULONG NumberOfHandles = (ULONG)pshti->NumberOfHandles)
    					{
    						PSYSTEM_HANDLE_TABLE_ENTRY_INFO_EX Handles = pshti->Handles;
    
    						ULONG_PTR UniqueProcessId = GetCurrentProcessId();
    						do 
    						{
    							if (Handles->UniqueProcessId == UniqueProcessId && Handles->HandleValue == (ULONG_PTR)hFile)
    							{
    								ObjectTypeIndex = Handles->ObjectTypeIndex;
    								break;
    							}
    
    						} while (Handles++, --NumberOfHandles);
    					}
    				}
    			} while (STATUS_INFO_LENGTH_MISMATCH == status);
    
    			ZwClose(hFile);
    		}
    
    		return ObjectTypeIndex;
    	}
    
    	ZOBJECT_ALL_TYPES_INFORMATION()
    	{
    		_TypeInformation = 0, _NumberOfTypes = 0;
    
    		if (DWORD DirectoryTypeIndex = getDirectoryIndex())
    		{
    			PVOID stack = alloca(guz);
    			OBJECT_ALL_TYPES_INFORMATION* poati = 0;
    			DWORD cb = 0, rcb = 0x2000;
    			NTSTATUS status;
    			do 
    			{
    				if (cb < rcb)
    				{
    					cb = RtlPointerToOffset(poati = (OBJECT_ALL_TYPES_INFORMATION*)alloca(rcb - cb), stack);
    				}
    
    				if (0 <= (status = ZwQueryObject(0, ObjectAllTypeInformation, poati, cb, &rcb)))
    				{
    					if (DWORD NumberOfTypes = poati->NumberOfTypes)
    					{
    						if (OBJECT_TYPE_INFORMATION* TypeInformation = (OBJECT_TYPE_INFORMATION*)LocalAlloc(0, rcb))
    						{
    							_NumberOfTypes = NumberOfTypes;
    							_TypeInformation = TypeInformation;
    
    							STATIC_UNICODE_STRING_(Directory);
    							OBJECT_TYPE_INFORMATION* pti = poati->TypeInformation;
    							PWSTR buf = (PWSTR)(TypeInformation + NumberOfTypes);
    							int Index = 0;
    							do 
    							{
    								if (RtlEqualUnicodeString(&Directory, &pti->TypeName, TRUE))
    								{
    									_firstObjectTypeIndex = DirectoryTypeIndex - Index;
    								}
    
    								DWORD Length = pti->TypeName.Length, MaximumLength = pti->TypeName.MaximumLength;
    								memcpy(buf, pti->TypeName.Buffer, Length);
    
    								*TypeInformation = *pti;
    								TypeInformation++->TypeName.Buffer = buf;
    
    								buf = (PWSTR)RtlOffsetToPointer(buf, Length);
    
    								pti = (OBJECT_TYPE_INFORMATION*)
    									(((ULONG_PTR)pti + sizeof(OBJECT_TYPE_INFORMATION) + MaximumLength + sizeof(PVOID)-1) & ~(sizeof(PVOID)-1));
    
    							} while (Index++, --NumberOfTypes);
    						}
    					}
    				}
    			} while (status == STATUS_INFO_LENGTH_MISMATCH);
    		}
    	}

    ObjectTypeIndex

    zhukas, 15 Ноября 2014

    Комментарии (32)
  4. JavaScript / Говнокод #17111

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    var list = [ ];
    
    // hidden elements
    list[ NaN ] = 'this-element-always-is-last'; // max index
    list[ Number.MAX_VALUE ] = 'this-is-smallest';
    list[ Infinity ] = 'this-just-infinity';
    
    // list.length == 0; // true

    Делать нечего в селе, мы сидим навеселе. Всех с пятницей!

    bot, 14 Ноября 2014

    Комментарии (28)
  5. Perl / Говнокод #17110

    −288

    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
    sub serialize {
        my ($obj) = @_;
        my $result;
    
        my $ref = ref $obj;
        if ($ref eq 'HASH') {
            $result = sprintf '{ %s }', join(', ', map { qq/"$_": / . serialize($obj->{$_}) } keys %$obj);
        } elsif ($obj eq 'ARRAY') {
            $result = sprintf '[ %s ]', join(', ', map { serialize($_) } @$obj);
        } elsif (! $ref) {
            if (!defined $obj) {
                $result = 'null';
            } elsif ($obj =~ /^ -? (?:0|[1-9]\d*) (?:\.\d+)? (?:[eE][+-]?\d+)? $/x) {
                $result = $obj;
            } else {
                $obj =~ s/(["\\])/\\$1/g;
                $obj =~ s/\r/\\r/g;
                $obj =~ s/\n/\\n/g;
                $obj =~ s/\t/\\t/g;
                $result = qq/"$obj"/;
            }
        }
    
        return $result;
    }

    В продолжение #17106. Самопальная Самобытная сериализация в JSON.

    Elvenfighter, 14 Ноября 2014

    Комментарии (42)
  6. PHP / Говнокод #17109

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    bool 
     CIBlockElement::Update(...);
    
    // ......
    
    $el = new CIBlockElement;
    
    // ......
    
    $res = $el->Update($PRODUCT_ID, $arLoadProductArray);

    Нынче статический метод вызывается через объект.

    ( Пример из официальной документации Битрикс https://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/update.php )

    h0ckeypl4yer, 14 Ноября 2014

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

    −106

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    >>> quit()
    Traceback (most recent call last):
      File "<stdin>", line 1, in ?
    TypeError: 'str' object is not callable
    >>> quit  
    'Use Ctrl-D (i.e. EOF) to exit.'
    >>> type(quit)
    <type 'str'>
    >>> type(exit)
    <type 'str'>

    Первый раз запустил питон 2.4...

    bormand, 14 Ноября 2014

    Комментарии (18)
  8. Java / Говнокод #17107

    +74

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public static void main(String[] args) throws Exception {
        ...
        try {
            Signature.getInstance("NONEwithRSA", "SUN");
            throw new Exception("call succeeded");
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        System.out.println("OK");
    }

    http://jdk.openjdk-rt.googlecode.com/hg/test/java/security/Signature/NONEwithRSA.java

    Naturlih, 13 Ноября 2014

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

    +136

    1. 1
    2. 2
    3. 3
    public override string GetMobileBody() {
    	return System.Text.Encoding.UTF8.GetString(new Terrasoft.Common.CompressionUtilities().UnZip(new byte[] { 31,139,8, /*... over 9000 bytes ...*/,36,59,0,0 }));
    }

    По долгу службы пришлось столкнуться с одной небезызвестной CRM отечественного производства.
    Безумно интересен сакральный смысл такого кода.

    lorond, 13 Ноября 2014

    Комментарии (29)
  10. Java / Говнокод #17104

    +76

    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
    package ololo.cdn.util;
    
    /**
     *
     */
    public interface AnswerCodes
    {
    
        public static final int CODE_OK = 0;
        public static final int CODE_NO_AUTH = 1;
        public static final int CODE_NO_ACTION_DONE = 2;
        public static final int CODE_ERROR_PARAMETERS = 4;
        public static final int CODE_NO_RIGHTS = 8;
        public static final int CODE_NOT_UNIQ_PARENT = 16;
        public static final int CODE_NOT_EXIST_COLUMNS = 32;
    
        public static final String ANSWER_NO_AUTH = "{\"result\":\"error\",\"code\":\""  + CODE_NO_AUTH + "\"}";
        public static final String ANSWER_NO_RIGHTS = "{\"result\":\"error\",\"code\":\""  + CODE_NO_RIGHTS + "\"}";
        public static final String ANSWER_NOT_UNIQ_PARENT = "{\"result\":\"error\",\"code\":\""  + CODE_NOT_UNIQ_PARENT + "\"}";
        public static final String ANSWER_NOT_EXIST_COLUMNS = "{\"result\":\"error\",\"code\":\""  + CODE_NOT_EXIST_COLUMNS + "\"}";
    
        public static final String ANSWER_OK = "{\"result\":\"ok\",\"code\":\""  + CODE_OK + "\"}";
        public static final String ANSWER_NOTHING_DONE = "{\"result\":\"ok\",\"code\":\""  + CODE_NO_ACTION_DONE + "\"}";
    }

    taras_shs, 13 Ноября 2014

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