Статус этой учётной записи - Принято

Сборный / Говнокод #7

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
0100 push si           ; V   ; в DOS обычно SI=100h (но полагаться на это нельзя)
                             ; в debug.com SI=0, поэтому отладить не получится
0101 pop  dx           ; Z   ; dx = 100h <- адрес строки для функции 9 DOS равен образу самой программы
0102 dec  si           ; N   ; si = 0ffh
0103 dec  si           ; N   ; si = 0feh
0104 pop  ax           ; X   ; ax = 0
0105 push ax           ; P   ;
0106 dec  ax           ; H   ; ax = 0ffffh
0107 xor  ax, 3535h    ; 555 ; ax = 0cacah
010A aaa               ; 7   ; поскольку a>9, прибавляем 6 к al и 1 к ah; очищаем старшую тетраду al
                             ; ax = 0cb00h
010B xor  ax, 4B30h    ; 50K ; ax = 08030h
010E xor  al, 50h      ; 4P  ; ax = 08060h
0110 push ax           ; P   ; в стек 08060h
0111 xor  ax, 4D44h    ; 5DM ; ax = 0cd24h
0114 xor  ax, [si+30h] ; 3D0 ; ax = 0cd24h + мусор
0117 xor  [si+30h], ax ; 1D0 ; [12eh] = 0сd24h
011A pop  ax           ; X   ; ax = 08060h
011B xor  ax, 4341h    ; 5AC ; ax = 0c321h
011E xor  ax, [si+32h] ; 3D2 ; ax = 0c321h + мусор
0121 xor  [si+32h], ax ; 1D2 ; [130h] = 0c321h
0124 pop  ax           ; X   ; ax = 0
0125 push ax           ; P
0126 xor  ax, 3935h    ; 559 ; ax = 3935h
0129 xor  ax, 3035h    ; 550 ; ax = 900h
012C dec  bx           ; K   ;
012D xor  al, 20h      ; 4
; после самомодификации (после xor ax, [si+30h] и xor [si+32h], ax)
012D xor  al, 24h      ; 4$  ; $ — конец строки для функции 9 DOS
                             ; просто безобидная инструкция, потому что значение al не важно
012F int  21h          ;
0131 ret               ;

Куайн в виде COM-файла для DOS.

VZNNXPH555750K4PP5DM3D01D0X5AC3D21D2XP559550K4

Последний символ — пробел.

Запостил: hasOwnProperty hasOwnProperty,

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