# новый способ ловли fs

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

  1. Hellspawn

    Hellspawn New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2006
    Сообщения:
    310
    Адрес:
    Москва
    продукты дяди Билли тоже не юзаете? ;) из за отсутствия исходников...

    ладно, почти все ;)
     
  2. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    Demon666
    > надо для начала справку по ольке почитать,
    > потом научиться юзать PSDK, отреверсить отладчик
    > до ощущения, что код ольки знаешь даже лучше
    > самого автора, который написал этот отладчик
    > и только тогда ВАМ откроется истЕна что вы в теме…
    а зачем это? чтобы палить olly? так мыщъх больше
    нацелен на универсальные способы анти-дебага...
    я лучше syser буду реверсить или к soft-ice плаги
    писать ;) хотя olly использую постоянно, хороший
    отладчик, и уже стандарт де-факто среди ring-3

    Asterix
    эххх... если бы я умел работать в команде...
    я бы сорцы не стал зажимать ;) а так мой проект
    разбивается на независимые части, которые можно
    писать автономно и даже не согласуясь друг с другом.

    а) инжектор
    createRemoteThread/AppInit_Dlls/tls-callbacks/break-n-enter/dll-replace/ring0-pages-overwrite, etc - и другие методы внедрения, коих доxya

    б) модуль поддержки удаленного управления:
    протоколы gdb, ms dbg, ну olly можно прикрутить,
    причем взаимодействовать как через сокеты, так и через зашаренную память или через псевдоустройство, созданное драйвером;

    в) собственно само core, которое ставит бряки, трассирует,
    ну еще и с MSR регистрами работает - там много интересного для хакеров есть,
    но это можно выделить в отдельный модуль расширения...

    г) манагер плагинов.

    вот такой набросок получается... в принципе, можно писать и коллективно. причем, я сразу нацеливаюсь на кроссы, чтобы это работало и под BSD/линухом.

    к тому же, это не обязательно делать как чистый ring-3. это может быть смесь ring-0/ring-3 (плагины к Olly убедительно доказали правильность этой методы), напрмер, трейсер работает в ring-0, передает команды "наверх" в ring-3 код, который отображает их на экране. и никаких заморочек с видеокартами ;)

    Hellspawn
    >> тогда нафига тебе Olly? юзай syser :)
    > он падает через раз и плюс мне ольга удобнее...
    у меня 1.94 - не падает и дружит с айсом и с твоим драйвером даже ;)

    > с клаба чел :)
    ок. буду искать на крак-лабе

    >> как я понимаю, твой плагин можно ложить на диск к книге? ;)
    > перед нг зарелизю новую версию, там несколько фиксов будет.
    ну книга все равно выйдет очччень не скоро.
    к тому времени и версия плагина будет поновее ;)
    просто я уже обжегся давать ссылки в книгах, т.к. к моменту
    публикации они часто оказываются битыми ;((
     
  3. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Hellspawn
    так у Билли совсем другая репутация, стало быть доверия ему на порядки больше ;)
    да и винда уже давно опенсорцом стала, разве вы пропустили сей факт? ;)
     
  4. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.242
    Asterix
    всё бы хорошо, только нужно бабло за код выложить.
     
  5. HoBleen

    HoBleen New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    77
    //туплю =)
     
  6. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    HoBleen
    вы наверно не прочли весь топик
     
  7. Demon666

    Demon666 New Member

    Публикаций:
    0
    Регистрация:
    19 май 2006
    Сообщения:
    99
    хех, тебе бесполезно советовать что-нибудь
    ты как кот - гуляю сам по себе, а остальные пох

    не-не, это тебя не в ту сторону штормит

    хотябы для того чтобы иметь больше возможностей и понимания сути происходящего в отладочном процессе
    один раз напрячь булки и все ты на танке – когда будешь реверсить прогу ты уже будешь смотреть на этот процесс с другой колокольни и контролировать реверс полностью! где-то процентов 20 точно неописано ваапще реальных возможностей отладчика
    вот для примера в ольке есть функи предназначенные для парсера данных в удобочитаемый вид! возможность есть, но ее никто не юзает
    пример этой возможности можно увидеть, когда в окне дампа мы выбираем пункт меню Special->PE header(так можно сделать для любой структуры и даже больше;))
    а вот автор во второй версии начал реализацию этого дела, но ИМХО неудачно, надо это дело было сделать через структуры которые в файлах должны находиться и синтаксис должен быть C++ и мы имели бы неограниченные возможности, но мне пох я для себя это дело уже давно накодил
     
  8. Hellspawn

    Hellspawn New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2006
    Сообщения:
    310
    Адрес:
    Москва
    дык плаг есть :) там этих струтур море и любую мона глянуть в удобном виде...
     
  9. Demon666

    Demon666 New Member

    Публикаций:
    0
    Регистрация:
    19 май 2006
    Сообщения:
    99
    Hellspawn
    Не, речь шла о другом;), это я это так для примера написал
    А про свой я писал о парсере ВМ`ов, предварительно обработанного кода в IDA, а уже потом отданных олечке для показа байт-кода самой BM в удобочитаемом виде, ну как-то так чтобы в подробности не вдоваццо
    а какой-то в этом плане плуг, да был, я уже даже и не помню как он назывался, да я его и не юзал…
     
  10. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    Demon666
    > хех, тебе бесполезно советовать что-нибудь
    > ты как кот - гуляю сам по себе, а остальные пох
    все мы гуляем сами по себе вообще-то...
    если я тебе посоветую, ну, например,
    дизассемблировать прошивку кэнона,
    потому что там дофига интересногого
    ты будешь это делать? :derisive:

    > хотябы для того чтобы иметь больше
    > возможностей и понимания
    > сути происходящего в отладочном процессе
    а) прочитай "отладка вынь приложений" Роббинса
    б) раскури манулы интел
    с) напиши свой дизассемблер и отладчик (хотя бы
    притивный трейсер для распаковки прог)

    и в Olly для тебя не останется загадок.
    самое сложное там - call stack, хотя в Olly он
    не вполне корректно реализован...

    мне (раньше) был намного интересней айс,
    потому что представлял собой сплошной набор загадок.
    как он трапает фаулы и бсоды? как он всплывает в любой
    момент по хот-кею, как он отрисовывает себя в граф. моде?
    да там вообще много чего было интересного...
    сейчас syser начинаю ковырять. у него тоже есть свои фишки.

    > когда будешь реверсить прогу ты уже будешь смотреть
    > на этот процесс с другой колокольни и контролировать реверс полностью!
    такого не случится никогда. чем больше ты пытаешься в чем-то
    разобраться, тем острее ощущаешь какая пропасть отделяет
    тебя от настоящего понимания сути происходящего....

    не, ну конечно, если какой-то пионер возьмет в руки Olly
    и он совсем без понятий как работает отладчик, то ему
    придется очень туго... потому как опции Olly для него
    будут темный лес... вот та же передача исключений
    программам... когда ее следует делать,а когда нет?
    без понимания _принципа_ отладчки ответить на вопрос
    можно только методом тыка....

    > вот для примера в ольке есть функи предназначенные
    > для парсера данных в удобочитаемый вид! возможность есть,
    > но ее никто не юзает
    потому что не очень удобная эта фишка. в сусере и то лучше.
    к тому же можно переключиться в соседнее окно и глянуть
    в файл hiew'ом или даже dumpbin заюзать ;) все же удобнее.
    это в soft-ice раньше не было альтернативы и когда он начал
    хавать модули расширения мыщъх страшно эту обрадовался.
    впрочем, уже к тому времени имел две рядом стоящие машины
    на одной - ИДА, на другой айс. вот такой синхронный реверх.
    а теперь эта задача решается еще проще - виртуалки...

    > но мне пох я для себя это дело уже давно накодил
    ну вообще-то у ms есть специальная библиотека
    (набор библиотек) для этого дела. личне мне часто
    бывает важнее распарсить дебужную инфу или, например,
    декомпильнуть VCL, что делает DEDE. для ИДЫ есть плаг,
    но он не работает с новыми версиями ;(
    а парсинг PE - это даже не смешно. это пишется в лет с нуля.
     
  11. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    kaspersky

    Syser? а что там интересного. Ну перехватывает таблицу функций видеодрайвера, а не патчит входы самих функций. Только эти "балбесы" до сих пор недодумались, что если юзать Direct3D, или видеокарта использует аппаратное ускорение для вывода на эран, то испольуются функции мьютексов и семафоров, и просто так отрисовывать через функции видеодайвера не получится. Да а клаву как перехватувают - вообще ...
     
  12. Demon666

    Demon666 New Member

    Публикаций:
    0
    Регистрация:
    19 май 2006
    Сообщения:
    99
    kaspersky
    Ну, дык сабж и является результатом пионерии
    Ты написал - что нашел вариант "ольку поиметь при отладке", тебе написали - что есть плуг, который решает/фиксит траблу
    Ты же на радостях пишешь, что это дело решается парой строк кода, а тебя носом в настройки оли тыкнули
    Нет чтобы согласиццо тебе с фактами и написать сорри лажанулся
    Ты же нет, продолжаешь типа при трассировке все равно палиццо - тебе пишут, что нужно быть внимательнее когда трейсишь и детект пойдет лесом, я лишь дописал что есть вариант который можно заюзать и в плагине, и тоже детектицо не будет! Еще писали, что трассируют очень редко в ручную, только в особых случаях в основном бряки и F9
    Получается, что ты и есть пионер, раз не вспомнил/не знал про Single-step break(не чего протЕв сабжа не имею, но так со стороны смотриццо это дело, так сказать итог топика ЗЫ: ИМХО)

    Я же дополнил ниже, что это чичто для примера было написано, не все имеют глубокие познания в реверсе - так сказать для наглядности, чтобы понятнее была суть начинающим в этом деле, не только мы втроем читаем этот топик, есть много людей, которые имеют желание понять суть дебатов
    Но это дело поправимое персонально для грамотных чтобы более понятнее было о чем я
    Вот ссылка
    http://cracklab.ru/f/index.php?action=vthread&forum=1&topic=10686
    там ВМ разбирался и исходники аффтор приложил потом, так вот нарисуй картину на досуге для себя, как ты отобразил бы в оле пи-код для того чтобы тебе удобнее было осуществить реверс этого крякми чтобы найти правильный "серийник", вот про такой я плагин и писал, а ты бгг про PE(да, кстати, там есть возможность хоть тысячу окон открыть с разным видом данных и по разным адресам+приатачить окно для просмотра ресурсов прямо в оле(опенсорс на паблике есть от RadAsm`а, тока чуть подшаманить его надо), не прибегая к таким "убогим" прогам про которые ты писал)
    да и зачем для сабжа еще и юзать отладчик для ринг0 - жесть!

    если бы у меня такой был менталитет - то я сразу бы лучше выпил йад

    гы, ты лучше спроси кто здесь не писал свой отладчик, это более актуально будет(ИМХО)! тут по-моему все кому не лень че-то кодили, копипастили и юзали в своих отладчиках и заметь не особо стремяццо об это заявлять…
     
  13. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    Hellspawn
    и все-таки я тебя поимел :derisive:) по F9.
    по полной программе. всю ночь не спал...
    там у тебя баг. надеюсь, ты его пофиксишь.
    а вот код. только не говори, что баян ;)

    Код (Text):
    1. LONG souriz(struct _EXCEPTION_POINTERS *ExceptionInfo)
    2. {
    3.     ExceptionInfo->ContextRecord->Eip += 3;
    4.     return EXCEPTION_CONTINUE_EXECUTION;
    5. }
    6.  
    7. //  cmp esp - 33000h - 31000h
    8. __declspec(naked) nezumi()
    9. {
    10.     IsDebuggerPresent(); /* for syser */
    11.     SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)&souriz);
    12.     __asm
    13.     {
    14.     parallel_to_ecstasy:
    15.         mov eax,esp
    16.         xor edx,edx
    17.     the_same_old_song:
    18.         push eax
    19.         jz the_same_old_song
    20.         mov esp,eax
    21.         jz parallel_to_ecstasy
    22.     }
    23. }
    это, правда, не весь код. а только его часть. но смысл понятен.
    короче, тут все просто как дважды два. отжираем весь стек, так?
    получаем EXCEPTION_STACK_OVERFLOW, при этом система выделяет
    нам еще целую страницу стека. the last ammunition так сказать.
    The last ammunition, Let the clips fall down, The last ammunition
    And fall to the ground... ага, на счет fall to the ground...
    при повторном проходе UnhandledExceptionFilter уже более
    __НЕ__ вызывается, т.к. стек исчерпан и трындец.
    плагин Asterix'а корректно обрабатывает данную ситуацию,
    а твой - нет и он продолжает упорно слать ольге эксепшены...

    P.S. кстати, Olly жутко тормозит, когда пытается показать переполненный стек.
    загрузка ЦП подскакивает до 100% и все очччень медленно работает...
     
  14. Hellspawn

    Hellspawn New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2006
    Сообщения:
    310
    Адрес:
    Москва
    выкладывай ехе, как будет время я гляну :)
    там походу в другом косяк, т.к. всего лишь прячется отладчик по ГетИфамэйшен
    и более ничего...
     
  15. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    Hellspawn
    http://nezumi.org.ru/souriz/pass-stack.zip
    детект отладчика оттуда вырезан для простоты,
    программа ничего не выводит на экран и просто
    демонстрирует баг. сравни поведение своего
    плагина с плагином астерикса во втором проходе
    цикла parallel_to_ecstasy.
     
  16. Hellspawn

    Hellspawn New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2006
    Сообщения:
    310
    Адрес:
    Москва
    ну да, у меня только 1 раз вызывется и всё ))) как и должно быть...
     
  17. CreatorCray

    CreatorCray Member

    Публикаций:
    0
    Регистрация:
    5 авг 2006
    Сообщения:
    201
    kaspersky
    [offtopic]
    Pain - рулит :)
    [/offtopic]
     
  18. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    Hellspawn
    ??? где у меня косяк ???
    снес из ольги все плагины (кроме твоего),
    версия 1.10, система w2k sp4.... выгрузил айс и сусер.
    с твоим плагином при втором проходе генерится
    EXCEPTION_ACCESS_VIOLATION на 30FFCh,
    UnhandledExceptionFilter получает управление.
    только не сразу... но это ольга тормозит,
    пытаясь отобразить стек... или я не знаю...
    если в UnhandledExceptionFilter вставить
    MessageBox, то исключение выпрыгивает
    уже на нем (стека-то нет) и он не отображается.

    проверял на P-III, P-4 HT и VM Ware с чистой w2k sp0.
    в последнем случае конфликтовать там вроде бы не с чем...

    на P-3 733 MHz ждать реакции от ольги приходится ~1 мин,
    может, ты просто не стал ждать? запусти диспетчер задач,
    увидишь, что загрузка ЦП - 100% (50% на HT соотвествено)

    CreatorCray
    рулит однозначно. я вот тут надыбвал dvd с записью концертов,
    сейчас сижу, смотрю, кайфую.... там еще куча интервью с ним есть.
    много нового узнал... правда там качество.... точнее полное его
    отсутствие... черезстрочечное видео ;( со спутника качество выше ;)
    а его там довольно часто крутят... особенно на Z канале.

    кстати, как тебе альбом - psalms-of-extinction?
    мне больше всего rebirth нравится ;)

    особенно:

    Searching for those sleepless prayers of your life
    Come to find out that you been living a lie
    Realities reflect the shadows in the night
    Did you ever realize how I know,
    Like nowhere riding around with a gun
    Ride around the storm will never stop

    Pain is life
    Life is pain
     
  19. Hellspawn

    Hellspawn New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2006
    Сообщения:
    310
    Адрес:
    Москва
  20. CreatorCray

    CreatorCray Member

    Публикаций:
    0
    Регистрация:
    5 авг 2006
    Сообщения:
    201
    kaspersky
    У меня psalms-of-extinction как раз и нету :dntknw: Наживил в торренте - скоро заценю.

    Я все больше по отдельным синглам прусь чем по альбомам целиком
    в топах: Same Old Song, Bye, Dark Fields Of Pain, Breathe, On and on, The Last Drops Of My Life, End Of The Line, Parallel To Ecstasy, Crashed и альбом Nothing Remains The Same - почти целиком.