Ру-сфера загнулась?

Тема в разделе "WASM.HEAP", создана пользователем _edge, 13 фев 2018.

  1. X-Shar

    X-Shar Active Member

    Публикаций:
    0
    Регистрация:
    24 фев 2017
    Сообщения:
    369
    Не уверен что на этом ресурсе кому-то интересно, но напишу последний раз новость об обновах...

    Есть интересная моделька GLM-5.3 Flash, интересна тем-что, стоит она почти бесплатно, но при этом качество почти как у Claude судя по отзывам, модель появилась совсем недавно и наделала не мало шума.)

    Решил поднять у себя, сейчас можно использовать пять моделей, 2 локальных и 3 облачных:
    https://zer0kernel.org/threads/oblachnaja-model-zer0kernel-experimental.555/
     
  2. darknet

    darknet New Member

    Публикаций:
    0
    Регистрация:
    31 дек 2025
    Сообщения:
    13
    Голоса приказали
    --- Сообщение объединено, 30 авг 2026 в 16:57 ---
    Есть ли такая услуга на хакерских форумах? Удалённо : установка ОС , удаление вирусов.
     
  3. X-Shar

    X-Shar Active Member

    Публикаций:
    0
    Регистрация:
    24 фев 2017
    Сообщения:
    369
    Что-то не могу успокоится, вот решил закодить реализацию взаимодействия с ботом в телеге:
    https://zer0kernel.org/threads/bot-v-telegramm-zer0kernel-uncensored-ai-bot.583/

    Теперь можно общаться в телеге!

    На этом наверное и закончу пока-что, вообще странный у меня наверное отдых.

    Выпил бутылку пива, думал вообще ничего сделать не смогу, а под музыку нормально зашло...)

    Но это вайб кодинг, он такой.)))
     
    Ahimov нравится это.
  4. Ahimov

    Ahimov Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2024
    Сообщения:
    831
    Код (Text):
    1. посмотри код:
    2. mov    edi, edi
    3.         push    ebp
    4.         mov    ebp, esp
    5.         mov    eax, [ebp+arg_0]
    6.         push    esi
    7.         mov    esi, [ecx]
    8.         mov    ecx, [ecx+4]
    9.         push    edi
    10.         mov    edi, edx
    11.         cmp    eax, 7
    12.         jbe    short loc_58D84B
    13.         lea    edx, [eax-8]
    14.         shr    edx, 3
    15.         inc    edx
    16.  
    17. loc_58D813:                ; CODE XREF: SymCryptMarvin32(x,x,x,x)+53j
    18.         add    esi, [edi]
    19.         sub    eax, 8
    20.         xor    ecx, esi
    21.         rol    esi, 14h
    22.         add    esi, ecx
    23.         rol    ecx, 9
    24.         xor    ecx, esi
    25.         rol    esi, 1Bh
    26.         add    esi, [edi+4]
    27.         add    edi, 8
    28.         add    esi, ecx
    29.         rol    ecx, 13h
    30.         xor    ecx, esi
    31.         rol    esi, 14h
    32.         add    esi, ecx
    33.         rol    ecx, 9
    34.         xor    ecx, esi
    35.         rol    esi, 1Bh
    36.         add    esi, ecx
    37.         rol    ecx, 13h
    38.         sub    edx, 1
    39.         jnz    short loc_58D813
    40.  
    41. loc_58D84B:                ; CODE XREF: SymCryptMarvin32(x,x,x,x)+14j
    42.         sub    eax, 0
    43.         jz    short loc_58D899
    44.         sub    eax, 1
    45.         jz    loc_58D943
    46.         sub    eax, 1
    47.         jz    loc_58D91C
    48.         sub    eax, 1
    49.         jz    loc_58D8EF
    50.         dec    eax
    51.         sub    eax, 1
    52.         jz    loc_58D92A
    53.         sub    eax, 1
    54.         jz    loc_58D903
    55.         sub    eax, 1
    56.         jz    short loc_58D8D6
    57.         add    esi, [edi]
    58.         xor    ecx, esi
    59.         rol    esi, 14h
    60.         add    esi, ecx
    61.         rol    ecx, 9
    62.         xor    ecx, esi
    63.         rol    esi, 1Bh
    64.         add    esi, ecx
    65.         rol    ecx, 13h
    66.  
    67. loc_58D899:                ; CODE XREF: SymCryptMarvin32(x,x,x,x)+58j
    68.         mov    edx, 80h
    69.  
    70. loc_58D89E:                ; CODE XREF: SymCryptMarvin32(x,x,x,x)+10Bj
    71.                     ; SymCryptMarvin32(x,x,x,x)+12Fj ...
    72.         mov    eax, [ebp+arg_4]
    73.         add    esi, edx
    74.         xor    ecx, esi
    75.         rol    esi, 14h
    76.         add    esi, ecx
    77.         rol    ecx, 9
    78.         xor    ecx, esi
    79.         rol    esi, 1Bh
    80.         add    esi, ecx
    81.         rol    ecx, 13h
    82.         xor    ecx, esi
    83.         rol    esi, 14h
    84.         add    esi, ecx
    85.         rol    ecx, 9
    86.         xor    ecx, esi
    87.         rol    esi, 1Bh
    88.         add    esi, ecx
    89.         rol    ecx, 13h
    90.         pop    edi
    91.         mov    [eax], esi
    92.         mov    [eax+4], ecx
    93.         pop    esi
    94.         pop    ebp
    95.         retn    8
    Код (Text):
    1. // Marvin32 Hash Function (Reconstructed from Assembly)
    2.  
    3. // Утилита: Rotate Left 32-bit
    4. uint32_t rol32(uint32_t x, int n) {
    5.     return (x << n) | (x >> (32 - n));
    6. }
    7.  
    8. // Ядро Marvin: один раунд обновления состояния (s0, s1) с добавлением данных (d0, d1)
    9. // d0, d1 - 32-битные значения из входных данных
    10. void marvin_round(uint32_t *s0, uint32_t *s1, uint32_t d0, uint32_t d1) {
    11.     // Первый блок операций
    12.     *s0 += d0;
    13.     *s1 ^= *s0;
    14.     *s0 = rol32(*s0, 20); // 0x14
    15.     *s0 += *s1;
    16.     *s1 = rol32(*s1, 9);
    17.     *s1 ^= *s0;
    18.     *s0 = rol32(*s0, 27); // 0x1B
    19.     *s0 += *s1;
    20.     *s1 = rol32(*s1, 19); // 0x13
    21.  
    22.     // Второй блок операций (в цикле он повторяется с d1)
    23.     // В ассемблере это выглядит как продолжение того же блока
    24.     // Но важно: в цикле add esi, [edi+4] происходит ДО второй части
    25.     // Давайте перепроверим ассемблер для точности.
    26.  
    27.     // Перечитываем ассемблер цикла:
    28.     // add esi, [edi]       -> s0 += d0
    29.     // xor ecx, esi         -> s1 ^= s0
    30.     // rol esi, 14h         -> s0 = rol(s0, 20)
    31.     // add esi, ecx         -> s0 += s1
    32.     // rol ecx, 9           -> s1 = rol(s1, 9)
    33.     // xor ecx, esi         -> s1 ^= s0
    34.     // rol esi, 1Bh         -> s0 = rol(s0, 27)
    35.     // add esi, [edi+4]     -> s0 += d1  <-- ВНИМАНИЕ: d1 добавляется здесь
    36.     // add edi, 8           -> ptr += 8
    37.     // add esi, ecx         -> s0 += s1
    38.     // rol ecx, 13h         -> s1 = rol(s1, 19)
    39.     // xor ecx, esi         -> s1 ^= s0
    40.     // rol esi, 14h         -> s0 = rol(s0, 20)
    41.     // add esi, ecx         -> s0 += s1
    42.     // rol ecx, 9           -> s1 = rol(s1, 9)
    43.     // xor ecx, esi         -> s1 ^= s0
    44.     // rol esi, 1Bh         -> s0 = rol(s0, 27)
    45.     // add esi, ecx         -> s0 += s1
    46.     // rol ecx, 13h         -> s1 = rol(s1, 19)
    47.  
    48.     // Оказывается, это НЕ два отдельных раунда.
    49.     // Это один расширенный раунд, который обрабатывает 8 байт (d0, d1)
    50.     // через последовательность, где d1 добавляется в середине.
    51.  
    52.     // Перепишу функцию под фактическую последовательность:
    53. }
    54.  
    55. // Исправленная функция раунда, точно отражающая ассемблер
    56. void marvin_round_8bytes(uint32_t *s0, uint32_t *s1, uint32_t d0, uint32_t d1) {
    57.     // 1. add esi, [edi]
    58.     *s0 += d0;
    59.     // 2. xor ecx, esi
    60.     *s1 ^= *s0;
    61.     // 3. rol esi, 14h (20)
    62.     *s0 = rol32(*s0, 20);
    63.     // 4. add esi, ecx
    64.     *s0 += *s1;
    65.     // 5. rol ecx, 9
    66.     *s1 = rol32(*s1, 9);
    67.     // 6. xor ecx, esi
    68.     *s1 ^= *s0;
    69.     // 7. rol esi, 1Bh (27)
    70.     *s0 = rol32(*s0, 27);
    71.     // 8. add esi, [edi+4]  <-- d1 добавляется здесь
    72.     *s0 += d1;
    73.     // 9. add esi, ecx
    74.     *s0 += *s1;
    75.     // 10. rol ecx, 13h (19)
    76.     *s1 = rol32(*s1, 19);
    77.     // 11. xor ecx, esi
    78.     *s1 ^= *s0;
    79.     // 12. rol esi, 14h (20)
    80.     *s0 = rol32(*s0, 20);
    81.     // 13. add esi, ecx
    82.     *s0 += *s1;
    83.     // 14. rol ecx, 9
    84.     *s1 = rol32(*s1, 9);
    85.     // 15. xor ecx, esi
    86.     *s1 ^= *s0;
    87.     // 16. rol esi, 1Bh (27)
    88.     *s0 = rol32(*s0, 27);
    89.     // 17. add esi, ecx
    90.     *s0 += *s1;
    91.     // 18. rol ecx, 13h (19)
    92.     *s1 = rol32(*s1, 19);
    93. }
    94.  
    95. void SymCryptMarvin32(
    96.     uint32_t *state_in,   // ecx: указатель на начальное состояние (2 x uint32)
    97.     const uint8_t *data,  // edx: указатель на входные данные
    98.     uint32_t len,         // arg_0: длина данных
    99.     uint32_t *out         // arg_4: указатель на выход (2 x uint32)
    100. ) {
    101.     // Инициализация
    102.     uint32_t s0 = state_in[0]; // esi
    103.     uint32_t s1 = state_in[1]; // ecx
    104.     const uint8_t *ptr = data; // edi
    105.     uint32_t remaining = len;
    106.  
    107.     // Основной цикл: обработка по 8 байт
    108.     while (remaining >= 8) {
    109.         // Загрузка 8 байт из ptr
    110.         // В ассемблере: mov esi, [ecx] ... но в цикле:
    111.         // add esi, [edi] -> s0 += *(uint32_t*)ptr
    Для начала норм :good2:
    Он подмотрел подсказку из символов и сразу выдал алгоритм(те не восстановил, а подобрал).

    Без подсказки(в самом коде):
    - дипсик.