шедевр

Тема в разделе "WASM.ASSEMBLER", создана пользователем cresta, 1 май 2006.

  1. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Что бы это значило?


    Код (Text):
    1. sub  al,((3Eh shl 2)+'A'-'+') and 0FFh
     
  2. KiNDeR

    KiNDeR New Member

    Публикаций:
    0
    Регистрация:
    13 июн 2003
    Сообщения:
    258
    Адрес:
    Russia
    Всего лишь - sub al,0Eh - препроцессорная арифметика... :)
     
  3. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Вот ещё перл из того же исходника:


    Код (Text):
    1. push (76 shr 2) + 1
    2. pop  edx




    Что, 76 поделить на 4 уже никак? Нужна помощь препроцессора?

    :)))))
     
  4. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    я когда-то похоже брутфорсил буквами, а счас посмотрел - уже и сам понять не могу :)
    Код (Text):
    1.         sub     cl,'[' - 'A'
    2.         add     ecx,0x100
    3.         cmp     cx,'[' shl 8 or 'A'
    4.         jnz     @crc
    5.         sub     ecx,('[' - 'A') shl 8
    6.         add     ecx,0x10000
    7.         mov     eax,ecx
    8.         and     eax,0xffffff
    9.         cmp     eax,'[' shl 16 or 'AA'
    10.         jnz     @crc
    11.         sub     ecx,('[' - 'A') shl 16
    12.         add     ecx,0x1000000
    13.         cmp     ecx,'[' shl 24 or 'AAA'
    14.         jnz     @crc
    15.         sub     ecx,('[' - 'A') shl 24
    16.             ...
    17.         mov     ebp,eax
    18.         cmp     ebx,'AAA' shl 8 or '['
    19.         lea     ebx,[ebx+1]
    20.         jnz     @crc
    21.         mov     edi,'AAA' shl 8 or '['
    22.         sub     ebx,'[' - 'A' +1
     
  5. KiNDeR

    KiNDeR New Member

    Публикаций:
    0
    Регистрация:
    13 июн 2003
    Сообщения:
    258
    Адрес:
    Russia
    гляда на такие перлы - понимаешь, что главный принцип этого кодера - сделай так, что бы твои исходники никто не смог понять, даже ты сам!! :))))



    З.Ы.: не в тему кода, но в тему, про то "чтобы никто не понял", вспоминаю случай: собрался я как-то к брату в гости, в сибирь, на Алтай метнуться... закриптовал все диски, придумал хитроумные парольные фразы - и со спокойной душей, и мыслью, что мои данные ни кто прочесть и понять не сможет поехал... погостил у брата, и решил раз уж я в сибири, что почему бы не заехать к своим сетевым(ныне реальным) друзьям-знакомым - заехал!.. после радушного приема и недельного отмакания на даче - все парольные фразы забыл...

    ВЫВОД: что бы все помнить - не выеживайся!..
     
  6. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    bogrus

    Сколько выпил, чтобы так накодить?
     
  7. SolidCode

    SolidCode New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2002
    Сообщения:
    162
    Адрес:
    Kazakhstan
    В некоторых случаях полезнее использовать препроцессорные выражения а не готовые константы. Это помогает понять, что к чему, и как вычисляется и какие константы участвуют в получаемом значении. Главное не увлекаться.
     
  8. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Чтобы понять, что к чему, специально придумали такую штуку, как комментарии. В которых можно описать все гораздо наглядней и подробней.



    в этом примере

    push (76 shr 2) + 1

    pop edx

    ни 76, ни 2, ни 1 не являются исходными данными, от которых нужно было бы вычислять что-то. Исходное число было 20 - количество проходов цикла.

    Вместо простого mov edx,20 было потрачено время на изобретение этого выражения, неинформативного и нечитабельного. С попутным увеличением размера и времени исполнения кода. Конечная цель - показать "преимущества" великого и могучего фасма
     
  9. RORK32

    RORK32 New Member

    Публикаций:
    0
    Регистрация:
    25 май 2006
    Сообщения:
    5
    Адрес:
    Russia
    Откуда этот код? Может, выложишь ссылку? А вообще, напоминает код проги, обработанной обфускатором, что очень плохо.
     
  10. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    RORK32



    Обфускатор для препроцессора ассемблерных листингов в студию! :) А я уже знаю деобфускатор - любой дизасм :)