Просто хочу поделится

Discussion in 'WASM.BEGINNERS' started by galenkane, Apr 30, 2023.

  1. galenkane

    galenkane Active Member

    Blog Posts:
    0
    Joined:
    Jan 13, 2017
    Messages:
    317
    Спасибо чатгпт что был создан.
    Теперь инди можно понять!

    Возьмем его сорц:
    Code (ASM):
    1. ;
    2. ;    -= EP RESOLVER =-
    3. ;
    4.  
    5.  
    6. .data?
    7. G_Codes    BYTE 10000H DUP (?)
    8. G_Fetch    BYTE 10000H DUP (?)
    9.  
    10. .code
    11.  
    12. Fetch$:
    13.     DB "RW ", 0
    14.     DB "R  ", 0
    15.     DB "W  ", 0
    16.     DB "RCW", 0
    17.     DB "CW ", 0
    18.     DB "CRW", 0
    19.     DB "CR ", 0
    20.  
    21. comment '
    22. ;
    23. ;
    24.    assume esi:PTLS
    25. EpIsRepeat proc uses edi Ip:PVOID
    26.    mov ecx,[esi].Tr.Ep.Id
    27.    lea edi,[esi].Tr.Ep.Xlog
    28.    mov eax,Ip
    29.    repne scasd
    30.    .if Zero?
    31.  
    32.    .endif
    33.    lea eax,[edi][-4]
    34.    ret
    35. EpIsRepeat endp
    36.  
    37. EpBtraceRelative proc Tls:PTLS
    38.    mov esi,Tls
    39.    assume esi:PTLS
    40.    mov eax,[esi].Tr.Btrace.Header.Id
    41.    .repeat
    42.        mov ecx,[esi].Tr.Btrace.Branch[eax*4]
    43.        mov edx,[esi].Tr.Btrace.Target[eax*4]
    44.        %DBG "DYE: - BTR: 0x%X -> 0x%X", Edx, Ecx
    45.        movzx ecx,B [esi].Tr.Btrace.Decode[eax]
    46.        mov edx,ecx
    47.        and edx,BT_CLASS
    48.        lea edx,EpClass[edx*4][edx]
    49.        bt ecx,BT_AI
    50.        setc cl
    51.        movzx ecx,cl
    52.        %DBG "DYE:        %s AI: 0x%X", Ecx, Edx
    53.        inc eax
    54.        .if Eax > [Esi].Tr.Btrace.Header.Limit
    55.            xor eax,eax
    56.        .endif
    57.    .until ([Esi].Tr.Btrace.Header.Id == Eax) || (!D[Esi].Tr.Btrace.Branch[Eax*4])
    58.    ret
    59. EpClass:
    60.    DB "LINE", 0
    61.    DB "RET ", 0
    62.    DB "RETI", 0
    63.    DB "RETF", 0
    64.    DB "JCC ", 0
    65.    DB "JCX ", 0
    66.    DB "JMPR", 0
    67.    DB "JMPI", 0
    68.    DB "JMPF", 0
    69.    DB "CALR", 0
    70.    DB "CALI", 0
    71.    DB "CALF", 0
    72. EpBtraceRelative endp'
    73.  
    74. I_$File    db "gp.bin", 0
    75.  
    76. .data
    77. G_Dump    BOOLEAN ?
    78. G_EPL    BOOLEAN ?
    79.  
    80. .code
    81. GpBuild proc uses ebx Ip:PVOID, Patch:PGPP
    82.     mov ebx,Patch
    83.     assume ebx:PGPP
    84.     push 0
    85.     push 0    ; NL
    86.     push Ip
    87.     push 8    ; Portion
    88.     push offset MmFree
    89.     push offset MmAlloc
    90.     %CKITE KID_KIT
    91.     mov [ebx].Store,eax
    92.     .if !Zero?
    93.         push BUILD_IDLE_CLEANUP
    94.         push offset _AllocForBuild
    95.         push offset MmFree
    96.         push offset MmAlloc
    97.         push [ebx].Store
    98.         %CKITB KID_BUILD
    99.         mov [ebx].Build,eax
    100.         mov [ebx].Limit,ecx
    101.         .if !Eax
    102.             push offset MmFree
    103.             push [ebx].Store
    104.             %CKITE KID_FREE_STORE
    105.             xor eax,eax
    106.         .endif
    107.     .endif
    108. Exit:
    109.     ret
    110. GpBuild endp
    111.  
    112. ;
    113. ; o Ip ~ GP(Ki).
    114. ;
    115. EpResolve proc uses ebx esi Tls:PTLS
    116. Local N:ULONG
    117.     mov esi,Tls
    118.     assume esi:PTLS
    119.     bt [esi].Tr.Ia.Ea.Flags,EA_FETCH
    120.     .if Carry?    ; DF
    121.         mov eax,[esi].Tr.LaX.La
    122.         .if ([Esi].Tr.LaX.Ea == Eax) && (Eax < 7FFE0000H)    ; LA != EA -> ~TEB; ~USD
    123.                 mov edx,[esi].Tr.Ia.Ea.Flags
    124.                 and edx,(1 shl EA_DISP32) or (1 shl EA_SIB) or (1 shl EA_BASE) or (1 shl EA_STR)
    125.                 .if Edx == (1 shl EA_DISP32)    ; Abs DF.
    126.                     invoke LdrIsImage, [Esi].Tr.Ip    ; 2 if
    127.                     mov ecx,[esi].Tr.Ip
    128.                     .if (Eax != 2) || ((G_iBase <= Ecx) && (G_iLimit > Ecx))
    129.                         ;.if G_OnEA
    130.                         ;    jmp @F
    131.                         ;.endif
    132.                      
    133.                         mov ecx,[esi].Tr.LaX.La
    134.                         shr ecx,12
    135.                         bts D G_Fetch,ecx
    136.                         .if !Carry?
    137.                         @@:
    138.                             bts G_EPL,0
    139.                             comment '
    140.                            .if !Carry?
    141.                                invoke CreateFile, addr I_$File, GENERIC_READ or GENERIC_WRITE, 0, 0, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, 0
    142.                                mov ebx,eax
    143.                                invoke GpBuild, [Esi].Tr.Ip, addr G_EPGP
    144.                                mov ecx,G_EPGP.Limit
    145.                                sub ecx,G_EPGP.Build
    146.                                invoke WriteFile, Ebx, G_EPGP.Build, Ecx, addr N, NULL
    147.                                invoke CloseHandle, Ebx
    148.                            .endif'
    149.  
    150.                             %DBG "AI 0x%X [0x%X]", [esi].Tr.LaX.La, [esi].Tr.Ip
    151.                             bts G_Dump,0
    152.                             .if !Carry?
    153.                                 ;invoke CreateFile, addr I_$File, GENERIC_READ or GENERIC_WRITE, 0, 0, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, 0
    154.                                 mov ebx,eax
    155.                                 ;invoke WriteFile, Ebx, 401000H, 5000H, addr N, NULL
    156.                                 ;invoke CloseHandle, Ebx
    157.                             .endif
    158.                             mov ecx,[esi].Tr.Ip
    159.                             shr ecx,12
    160.                             bts D G_Codes,ecx
    161.                         .else
    162.                             mov ecx,[esi].Tr.Ip
    163.                             shr ecx,12
    164.                             bt D G_Codes,ecx
    165.                             jnc @b
    166.                         .endif
    167.                     .endif
    168.                 .endif
    169.                 mov edx,[esi].Tr.Ia.Fetch
    170.                 .if Edx && (Edx != XED_OPERAND_ACTION_R) && (Edx != XED_OPERAND_ACTION_CR)    ; W/RW
    171.                     mov ecx,[esi].Tr.LaX.La
    172.                     shr ecx,12
    173.                     btr D G_Codes,ecx
    174.                     .if Carry?    ; W-AI
    175.                         ;%DBG "WA 0x%X [0x%X]", [esi].Tr.LaX.La, [esi].Tr.Ip
    176.                     .endif
    177.                 .endif
    178.         .endif
    179.     .endif
    180.     ret
    181. EpResolve endp

    На что получаем внятный ответ от gpt3.5 turbo


    GPT4


    VIVA LA CHATGPT
     
    Application, Intro and Rel like this.
  2. f13nd

    f13nd Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 22, 2009
    Messages:
    2,020
    Пухлый мальчик с крашеными волосами, самоопределяющийся как фея, уже успел этим год назад поделиться.
     
  3. MaKaKa

    MaKaKa Member

    Blog Posts:
    0
    Joined:
    Nov 25, 2020
    Messages:
    53
    Да хватит, я просто спор проиграл.
     
  4. Rel

    Rel Well-Known Member

    Blog Posts:
    2
    Joined:
    Dec 11, 2008
    Messages:
    5,317
    Какие всё-таки тут удивительные персонажи обитают...
     
  5. f13nd

    f13nd Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 22, 2009
    Messages:
    2,020
    https://habr.com/ru/news/738054/
     
  6. TrashGen

    TrashGen ТрещГен

    Blog Posts:
    0
    Joined:
    Mar 15, 2011
    Messages:
    1,201
    Location:
    подполье
    f13nd, лал) для бота эти дела и были реальными, просто относительно бота реальность - виртуальная, чо хочет в ней, то и считает былью. Хорошо ИИ разработал адвокатишку ленивую, браво!
    --- Сообщение объединено, Jul 6, 2023 ---
    Люди ж тоже не всегда лгут осознанно, они также могут быть дезинформированы или получили пласт ложных воспоминаний во сне внутри сна, или etc.
     
  7. f13nd

    f13nd Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 22, 2009
    Messages:
    2,020
    Ну типа задравшись с кривыми, но непреднамеренными ошибками декомпилера выходишь такой на новый уровень куколдизма и реверсишь чат-гопотой этой, а она тебя уже по-настоящему через болт продергивает.
     
    TrashGen likes this.
  8. GRAFik

    GRAFik Active Member

    Blog Posts:
    0
    Joined:
    Mar 14, 2020
    Messages:
    350
    Ну дык, а я о чем? Вы это, как его? Завязывайте так палиться. Как увидел на первых кадрах ТрешГену - косящего под Борю М., на демосцене (в смысле многогранного и многообещающего) :) - так сразу телевизор со страху и выключил. Боже, куда только мир катится? :) Что ж дальше-то ждать от ТрешГенадия? Тили-тили, трали-вали - это мы не тили тили - это им не трали-вали. (с) :)

    -> Буй буй <-
     
  9. TrashGen

    TrashGen ТрещГен

    Blog Posts:
    0
    Joined:
    Mar 15, 2011
    Messages:
    1,201
    Location:
    подполье
    GRAFik, не нравится - не смотри, не можешь не смотреть - вырви глоза свои ибо ничего хорошего ты сёравно не видишь и не увидишь
     
  10. GRAFik

    GRAFik Active Member

    Blog Posts:
    0
    Joined:
    Mar 14, 2020
    Messages:
    350
    Самого главного глазами не увидеть - зорко одно лишь сердце. Не удивлюсь если и для этой фразы Генадий Трешев затребует копирайт. :)
     
  11. TrashGen

    TrashGen ТрещГен

    Blog Posts:
    0
    Joined:
    Mar 15, 2011
    Messages:
    1,201
    Location:
    подполье
    GRAFik, начинай удивляться - копирайт не нужен. Ты - не нужен. Я - не нужен. Твои буквы здесь - не нужны. Моих букв здесь - просто нет.
    --- Сообщение объединено, Jul 7, 2023 ---
    ps: посмотри название темы. Всем, чем ты можешь поделиться - самим собой. Желание делиться самим собой это инстинкт одноклеточного организма. Вот такой тебе шеллкод из моей единственной клетки, ватно-ехидная амеба.
     
  12. KPG

    KPG Member

    Blog Posts:
    0
    Joined:
    Jan 13, 2021
    Messages:
    121
    Попробуйте запытать GPT4 на понимание генерации примеров кода метапрограммирования на Форт (Forth)
    и на правильное понимание исходников Форт программ.
    Сюрпризы будут, а казалось бы даже на сам Форт язык приняты и стандарты. :)

    P.S. Мне особо ничего не получалось узнать от GPT3.5-turbo в этом вопросе.
    В сервисе https://koala.sh/chat (5-ть разовых вопросов без регистрации, но можно сбросить куки в браузере и использовать Free Planet VPN для смены страны и перестарте браузера, ещё используя uBlock Origin - и это почти всегда работает)

    Второй сервис https://poe.com/Sage но в нём надо на электронную почту получать код для активации сессии.

    То, что GPT объясняет ассемблерный код - это вполне здравая его фича (интересно, а как и с каким результатом он объяснит код
    ядра KolibriOS), он AI, вероятно, и по сырому asm выхлопу "может" "восстановить" исходный высокоуровневый код,
    а потом ещё подобрать компилятор, системное окружение и.др. для проверки идентичности его компилирования. :)
    Думаю, что и в этом направлении ведётся обучение нейросеток.
     
  13. GRAFik

    GRAFik Active Member

    Blog Posts:
    0
    Joined:
    Mar 14, 2020
    Messages:
    350
    Эх, товарищ Гена Трешофович, видимо, из-за долгого злоупотребления тяжелыми веществами - мозг у вас вконец атрофировался. Нет в вас чувства патриотизма, нет и понимания величия Родины, нет духовности, нет ума. Чего не хватишься, того у вас и нет. :)
     
  14. TrashGen

    TrashGen ТрещГен

    Blog Posts:
    0
    Joined:
    Mar 15, 2011
    Messages:
    1,201
    Location:
    подполье
    GRAFik, любишь ты посудить о том, о чем не имеешь ни малейшего представления. Вот чего в тебе нет, так это тонкости - слошное деликатно-пафосное уныние.
     
    Application likes this.
  15. KPG

    KPG Member

    Blog Posts:
    0
    Joined:
    Jan 13, 2021
    Messages:
    121
    Интересно, а насколько реально или нет прорешать задачи на ассемблере https://code.golf/rankings/holes/all/assembly/bytes
    и попасть в топ рейтинга?

    P.S. Как вообще такое достижимо? (если кто сталкивался с решением codegolf задач)
    (считаются же байты написанного решения в текстовом представлении)
     
  16. Rockphorr

    Rockphorr Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 9, 2004
    Messages:
    2,625
    Location:
    Russia
    Артемий Лебедев штоле ????
     
  17. f13nd

    f13nd Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 22, 2009
    Messages:
    2,020