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

Тема в разделе "WASM.BEGINNERS", создана пользователем galenkane, 30 апр 2023.

  1. galenkane

    galenkane Active Member

    Публикаций:
    0
    Регистрация:
    13 янв 2017
    Сообщения:
    301
    Спасибо чатгпт что был создан.
    Теперь инди можно понять!

    Возьмем его сорц:
    Код (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 и Rel нравится это.
  2. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.995
    Пухлый мальчик с крашеными волосами, самоопределяющийся как фея, уже успел этим год назад поделиться.
     
  3. MaKaKa

    MaKaKa Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2020
    Сообщения:
    53
    Да хватит, я просто спор проиграл.
     
  4. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    Какие всё-таки тут удивительные персонажи обитают...
     
  5. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.995
    https://habr.com/ru/news/738054/
     
  6. TrashGen

    TrashGen ТрещГен

    Публикаций:
    0
    Регистрация:
    15 мар 2011
    Сообщения:
    1.186
    Адрес:
    подполье
    f13nd, лал) для бота эти дела и были реальными, просто относительно бота реальность - виртуальная, чо хочет в ней, то и считает былью. Хорошо ИИ разработал адвокатишку ленивую, браво!
    --- Сообщение объединено, 6 июл 2023 ---
    Люди ж тоже не всегда лгут осознанно, они также могут быть дезинформированы или получили пласт ложных воспоминаний во сне внутри сна, или etc.
     
  7. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.995
    Ну типа задравшись с кривыми, но непреднамеренными ошибками декомпилера выходишь такой на новый уровень куколдизма и реверсишь чат-гопотой этой, а она тебя уже по-настоящему через болт продергивает.
     
    TrashGen нравится это.
  8. GRAFik

    GRAFik Active Member

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

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

    TrashGen ТрещГен

    Публикаций:
    0
    Регистрация:
    15 мар 2011
    Сообщения:
    1.186
    Адрес:
    подполье
    GRAFik, не нравится - не смотри, не можешь не смотреть - вырви глоза свои ибо ничего хорошего ты сёравно не видишь и не увидишь
     
  10. GRAFik

    GRAFik Active Member

    Публикаций:
    0
    Регистрация:
    14 мар 2020
    Сообщения:
    352
    Самого главного глазами не увидеть - зорко одно лишь сердце. Не удивлюсь если и для этой фразы Генадий Трешев затребует копирайт. :)
     
  11. TrashGen

    TrashGen ТрещГен

    Публикаций:
    0
    Регистрация:
    15 мар 2011
    Сообщения:
    1.186
    Адрес:
    подполье
    GRAFik, начинай удивляться - копирайт не нужен. Ты - не нужен. Я - не нужен. Твои буквы здесь - не нужны. Моих букв здесь - просто нет.
    --- Сообщение объединено, 7 июл 2023 ---
    ps: посмотри название темы. Всем, чем ты можешь поделиться - самим собой. Желание делиться самим собой это инстинкт одноклеточного организма. Вот такой тебе шеллкод из моей единственной клетки, ватно-ехидная амеба.
     
  12. KPG

    KPG Member

    Публикаций:
    0
    Регистрация:
    13 янв 2021
    Сообщения:
    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

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

    TrashGen ТрещГен

    Публикаций:
    0
    Регистрация:
    15 мар 2011
    Сообщения:
    1.186
    Адрес:
    подполье
    GRAFik, любишь ты посудить о том, о чем не имеешь ни малейшего представления. Вот чего в тебе нет, так это тонкости - слошное деликатно-пафосное уныние.
     
    Application нравится это.
  15. KPG

    KPG Member

    Публикаций:
    0
    Регистрация:
    13 янв 2021
    Сообщения:
    121
    Интересно, а насколько реально или нет прорешать задачи на ассемблере https://code.golf/rankings/holes/all/assembly/bytes
    и попасть в топ рейтинга?

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

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.622
    Адрес:
    Russia
    Артемий Лебедев штоле ????
     
  17. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.995