# новый крякми от мыщъха

Тема в разделе "WASM.HEAP", создана пользователем kaspersky, 2 дек 2008.

  1. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    сабж. http://kpnc.org/ftp/KedaH3.zip
    кто дизасмит это дело - тому пиво (виртуальное)
    так же есть пара анти-отладочных приемов и сопротивление дампу
     
  2. nobodyzzz

    nobodyzzz New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2005
    Сообщения:
    475
    =))) porn detected
     
  3. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    О*ренеть виснет при трасировке так как буд-то в ring0 уходит
     
  4. PaCHER

    PaCHER New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    852
    kaspersky
    А чего собственно нужно добится? Чтоб под отладкой дойти до месажбокса?
     
  5. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Ну и что там реверсить.
    Ставим в опциях ольки 'System breakpoint', загружаем этот фалег. Открываем окно 'Memory map', видим модуль этот. Жмём выделяем секцию с именем .text и юзоем F2. Затем жмём F9. Поток останавливаетсо - мы его поймали. Сразу видим кодес:
    Код (Text):
    1. 00401030                                mov esi,esp
    2. 00401032                                lods dword ptr [esi]
    3. 00401033                                lods dword ptr [esi]
    4. 00401034                                mov al,10
    5. 00401036                                mov ah,al
    6. 00401038                                xchg eax,esi
    7. 00401039                                lods byte ptr [esi]
    8. 0040103A                                dec eax
    9. 0040103B                                jpo short KedaH3.00401030
    10. 0040103D                                xor eax,eax
    11. 0040103F                                push eax
    12. 00401040                                mov al,30
    13. 00401042                                mov esi,dword ptr fs:[eax]
    14. 00401045                                inc esi
    15. 00401046                                dec byte ptr [esi+1]
    16. 00401049                                jpo short KedaH3.00401012
    17. 0040104B                                xor eax,eax
    18. 0040104D                                mov eax,dword ptr [eax]
    Трассируем до адреса 0040103D. Тут мы видем детский кодес, который проверяет поле PEB.BeingDebugged, если оно не ноль, то вызываетсо исключение(0040104B/0040104D). Если ноль, то отладчик не активен, и выполняетсо переход(00401049) на кодес, который боксит мессагу:
    Код (Text):
    1. 00401012                                push KedaH3.00403000                                           ;  ASCII " .no pain -- no gain. "
    2. 00401017                                push KedaH3.00403018                                           ;  ASCII 0A,"condom-pri"
    3. 0040101C                                push 0
    4. 0040101E                                call dword ptr [<&USER32.MessageBoxA>]                         ;  USER32.MessageBoxA
    Ппц.. для школьнегов такое только показывоть :lol: %%%)).
     
  6. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    nobodyzzz
    > =))) porn detected
    это чтобы по F3 не смотрели :derisive:

    JCronuz
    > О*ренеть виснет при трасировке так как буд-то в ring0 уходит
    не, в ring-0 оно не уходит. все на ring-3

    PaCHER
    > А чего собственно нужно добится? Чтоб под отладкой дойти до месажбокса?
    гм, ну это просто демонстрация разных приемов против отладчика и дизассемблера
    что сделать? - понять как это работает и использовать в своих защитах ;)
     
  7. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    kaspersky
    Просим оставить их при себе)
     
  8. SWR

    SWR New Member

    Публикаций:
    0
    Регистрация:
    11 май 2006
    Сообщения:
    226
    Адрес:
    Russia
    Кроме этой картинки нече не нашол.
    В висте мессаги нет (видемо не пашет прога).
     
  9. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    Clerk
    > Ну и что там реверсить.
    слона-то ты и не увидел :derisive:
    загрузи в дизассемблер. ы?

    > Трассируем до адреса 0040103D.
    > Тут мы видем детский кодес, который проверяет поле PEB.BeingDebugged,
    и что он проверяет? внимание, ответ: пропускает второй и все последующие вызовы TLS Callback, чтобы мессага появлялась только один раз.

    > то вызываетсо исключение(0040104B/0040104D)
    в TLS Callback исключение эквивалетно RETN, т.е. мы спокойно выходим

    > Ппц.. для школьнегов такое только показывоть :lol: %%%)).
    ну ИДА вообще ничего не показывает :derisive:
     
  10. PaCHER

    PaCHER New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    852
    Clerk
    Ну я не ставил никаких хардвар бряков и никакой трасировки, просто на адрес обработки колбека ставится Int 3 и все пучком.

    Clerk
    Ну а гдеж описание кодеса который идет до 0040103D и при отладке в олли загоняет в вечный цыкл т.к. проверяется ште 3 на EP.
     
  11. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    kaspersky
    О чём ты, я ведь скозал что системный бряк, он есчо до тлс срабатывает, а затем ставим останов на доступ к секции кода, так что ловитсо всё отлично.
     
  12. PaCHER

    PaCHER New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    852
    kaspersky
    Ида видать изза неправильной обработки размеров секций идет лесом, но поправить не проблема.
     
  13. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    Clerk
    борьба с отладчиками тут просто ради прикола. аппаратная точка на callback так же рулит. но вот если загрузить файл в дизассемблер, то он ни хвоста не покажет. то есть покажет, но только IDA 5.3 с ручной загрзкой, а по дефлоту - облом-с.

    тот же самый трюк, но без борьбы с отладчиками - http://kpnc.org/ftp/kdh-reverseme.zip
     
  14. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    PaCHER
    править не проблема, если ты знаешь, что нужно править. а если нет? системный загрузчик грузит ALIGN_UP(SizeOfRawdata, FileAlignment), а ИДА только SizeOfRawdata. так что можно спрятать часть кода данных в хвосте секции и если ИДА не распознает перекрестных ссылок (нет прямых переходов на скрытый код), то ты скорее всего даже не заподозришь, что там вообще что-то есть.
     
  15. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    У меня нет иды и проблем связанных с ней тоже.)
     
  16. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    Clerk
    возращаясь к оригинальному посту
    .
    # кто дизасмит это дело - тому пиво (виртуальное)
    .
    т.е. задача стояла именно дизасмить. потому как защита именно против дизассемблеров. главным образом - против ИДЫ. отладчики грузят файл с помощью системного загрузчика и потому под ними все работает. кстати, даже под отладчиком трюк с исключением ты пропустил ;)
     
  17. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Clerk Охота повып*здохиваться ?
     
  18. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    Эм... а что надо-то?
     
  19. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    Поотрубал фиксы на PEB debug флаг в плугинах - так оказалась, что Shadow сборка не даёт менять его сама - всегда в 0 держит. Отрекомендуйте сборку или ну их все(?), плугинов достаточно.
    А так, в новинку было только jpo /или есть более осмысленное представление у jcc? влом тулзу свина искать/ - до этого надо было додуматься ещё.
    [upd]или я програл про Shadow. плавающий баг какой-то
     
  20. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    asmfan
    > Поотрубал фиксы на PEB debug флаг в плугинах
    > так оказалась, что Shadow сборка не даёт менять
    > его сама - всегда в 0 держит.
    ага. ну это ни разу не антиотладка.
    я просто туда флаг повторной входимости в callback воткнул

    > А так, в новинку было только jpo /или есть более
    > осмысленное представление у jcc? влом тулзу свина искать/
    > до этого надо было додуматься ещё.
    завуалированная проверка на CCh.
    простая хэш сумма :derisive:
    скрывает факт, что именно мы проверяем