Сборный / Говнокод #24698 Ссылка на оригинал

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
format PE GUI at 0x10000

include 'win32a.inc'

invoke  MessageBoxA, 0, message, caption, MB_ICONQUESTION + MB_OK
invoke ExitProcess, 0

message db "Just test.", 0
caption db "Test.", 0

data import
    library kernel32, 'KERNEL32.DLL', user32, 'USER32.DLL'

    import kernel32, ExitProcess, 'ExitProcess'

    import user32, MessageBoxA, 'MessageBoxA'
end data

Не пойму, чочему уменьшив базу на 1 программа перестаёт роботать, но собирается нормально. 0x10000 -- это самое маленькое значение с которым она роботать. С 0x0 какая-то ашипка на счет длл лезит.

И ксатати, лоли дебагер почему-то не могет зогружать такие програмым.

yet_another_one_shit yet_another_one_shit, (Updated )

Комментарии (47, +47)

Сборный / Говнокод #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, +4)

Сборный / Говнокод #24481 Ссылка на оригинал

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
; минимальная .COM программа, которую я смог высрать в ascii
; генерит ret и передаёт на него управление
; пробел (and r/m8, reg) я тоже не использовал
; писалась в hex-кодах

push 314ah
pop ax
xor ax, 3070h
push ax
pop bx
pop ax
push ax
xor ah, [bx]
sub [bx], ah
pop ax
push ax
dec ax
xor ax, 3c3ch
xor bx, ah
jnz 013ah

hJ1X5p0P[XP2'('XPH5<<0'u!
Мой малинькый скукожоный моск очинь долго мучился, прежде чем родить это. Так что, не судити строго. :)

666_N33D135 666_N33D135, (Updated )

Комментарии (105, +105)

Сборный / Говнокод #24402 Ссылка на оригинал

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
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
getword:
    push ebx ecx esi edi
    cmp al, ' '
    jbe .be
    mov byte [.b1], 0x74
    mov byte [.b2], 0x74
    jmp .start
.be:
    mov byte [.b1], 0x73
    mov byte [.b2], 0x73
.start:
    mov edi, _tib
    mov ebx, edi
    add ebx, [_ntib]
    add edi, [_toin]
.l1:
    cmp edi, ebx
    jae .l3
    scasb
.b1:jae .l1
    mov esi, edi
    mov edi, [_here]
    inc edi
    dec esi
    xor ecx, ecx
.l2:
    cmp esi, ebx
    jae .l3
    cmp al, [esi]
.b2:jae .l3
    movsb
    inc ecx
    jmp .l2
.l3:
    mov eax, [_here]
    mov [eax], cl
    sub esi, _tib - 1
    mov [_toin], esi
    pop edi esi ecx ebx
    ret

Оооооо даааааааааа!

666_N33D135 666_N33D135, (Updated )

Комментарии (7, +7)

Сборный / Говнокод #23394 Ссылка на оригинал

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
tms     код DSP   пример MMACF32

      msubf32      MR1,MR1,MR2        ;
   || mmov32  @point14,mr0            ;
      mmov32  @point15,mr1            ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      mmov32       mr2,@point01         ;     01
      msubf32      mr2,mr2,mr1          ;     01-15
   || mmov32       mr1,@_cos2           ;           B
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      mmpyf32      mr2,mr2,mr1          ;mr2=(01-15)B
   || mmov32       mr1,@point02         ;     02
      msubf32      mr0,mr1,mr0          ;mr0=(02-14)
   || mmov32       mr1,@_cos4           ;           C
      mmov32       mr3,@point00         ;     00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      mmacf32      mr3,mr2,mr2,mr1,mr0  ;mr3=00+(01-15)B mr2=(02-14)C
   || mmov32       mr0,@point03         ;
      mmov32       mr1,@point13         ;
      msubf32      mr0,mr0,mr1          ;
   || mmov32       mr1,@_cos6           ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      mmacf32      mr3,mr2,mr2,mr1,mr0  ;mr3=00+(01-15)B+(02-14)C mr2=(03-13)D
   || mmov32       mr0,@point05         ;
      mmov32       mr1,@point11         ;
      msubf32      mr0,mr0,mr1          ;
   || mmov32       mr1,@_cos10          ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ...............

maxxx maxxx, (Updated )

Комментарии (1, +1)

Сборный / Говнокод #23387 Ссылка на оригинал

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
  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
tms часть коррелятора


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
           movl          XAR6     ,#str_korel     ;
           movl          XAR7     ,#str_f1_faz    ;
           mov            AH      ,@@dlin_mass    ;
           dec            AH                      ;
           movb           AL      ,#0             ;
           movl          XAR1     ,ACC            ;
           movz           AR2     ,AH             ;
           mov     @@max_num      ,AL             ;
           mov   @@start_num      ,AR1            ;
           subb          XAR2     ,#1             ;
           mpy           ACC      ,@@index_f      ,#max_f__faz*dln_f__faz
           add           ACC      ,@@start_base   ;
           addl          XAR7     ,ACC            ;
           movb          XAR3     ,#0             ;
           movz           AR0     ,*+XAR6[AR1%++] ;
           mov             T      ,@@temp_R       ;
           movl            P      ,*+XAR7[AR0]    ;pl=alp ph=R
           mpyu          ACC      ,T     ,PH      ;R0
           mov    @@factor_R      ,AH             ;
loopi_0:   movz           AR0     ,*+XAR6[AR1%++] ;
           mov             T      ,#0             ;
           movl          ACC      ,*+XAR7[AR0]    ;
           sub            AL      ,PL             ;alpa<0
           cmp            AL      ,@@factor_alp   ;
           movb            T      ,#1            ,LO
           sub            AH      ,PH             ;
           abs           ACC                      ;
           cmp            AH      ,@@factor_R     ;
           movb            T      ,#0            ,HI
           mov            AL      ,T              ;
           add     @@max_num      ,AL             ;
           banz       loopi_0     ,AR2--          ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
           movz           AR2     ,@@dlin_mass    ;
           subb          XAR2     ,#3             ;
zabul:     movz           AR0     ,*+XAR6[AR1%++] ;
           push           AR3:AR2                 ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
           mov     @@start_n      ,AR1            ;
           movz           AR0     ,*+XAR6[AR1%++] ;
           mov             T      ,@@temp_R       ;
           movl            P      ,*+XAR7[AR0]    ;
           mpyu          ACC      ,T     ,PH      ;
           mov    @@factor_R      ,AH             ;
           movb       @@max_n     ,#0           ,UNC
loopi_1:   movz           AR0     ,*+XAR6[AR1%++] ;
           mov             T      ,#0             ;
           movl          ACC      ,*+XAR7[AR0]    ;
           sub            AL      ,PL             ;alpa<0
           cmp            AL      ,@@factor_alp   ;
           movb            T      ,#1            ,LO
           sub            AH      ,PH             ;
           abs           ACC                      ;
           cmp            AH      ,@@factor_R     ;
           movb            T      ,#0            ,HI
           mov             AL     ,T              ;
           add       @@max_n      ,AL
           banz       loopi_1     ,AR2--
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
loopi_2:   movz           AR0     ,*+XAR6[AR1%++] ;
           mov             T      ,#0             ;
           movl          ACC      ,*+XAR7[AR0]    ;
           sub            AL      ,PL             ;alpa<0
           cmp            AL      ,@@factor_alp   ;
           movb            T      ,#1            ,LO
           sub            AH      ,PH             ;
           abs           ACC                      ;
           cmp            AH      ,@@factor_R     ;
           movb            T      ,#0            ,HI
           mov            AL      ,T              ;
           add       @@max_n      ,AL             ;
           banz       loopi_2     ,AR3--          ;
           pop            AR3:AR2                 ;

maxxx maxxx, (Updated )

Комментарии (36, +36)