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 - не падает и дружит с айсом и с твоим драйвером даже > с клаба чел ок. буду искать на крак-лабе >> как я понимаю, твой плагин можно ложить на диск к книге? > перед нг зарелизю новую версию, там несколько фиксов будет. ну книга все равно выйдет очччень не скоро. к тому времени и версия плагина будет поновее просто я уже обжегся давать ссылки в книгах, т.к. к моменту публикации они часто оказываются битыми ;((
Hellspawn так у Билли совсем другая репутация, стало быть доверия ему на порядки больше да и винда уже давно опенсорцом стала, разве вы пропустили сей факт?
хех, тебе бесполезно советовать что-нибудь ты как кот - гуляю сам по себе, а остальные пох не-не, это тебя не в ту сторону штормит хотябы для того чтобы иметь больше возможностей и понимания сути происходящего в отладочном процессе один раз напрячь булки и все ты на танке – когда будешь реверсить прогу ты уже будешь смотреть на этот процесс с другой колокольни и контролировать реверс полностью! где-то процентов 20 точно неописано ваапще реальных возможностей отладчика вот для примера в ольке есть функи предназначенные для парсера данных в удобочитаемый вид! возможность есть, но ее никто не юзает пример этой возможности можно увидеть, когда в окне дампа мы выбираем пункт меню Special->PE header(так можно сделать для любой структуры и даже больше) а вот автор во второй версии начал реализацию этого дела, но ИМХО неудачно, надо это дело было сделать через структуры которые в файлах должны находиться и синтаксис должен быть C++ и мы имели бы неограниченные возможности, но мне пох я для себя это дело уже давно накодил
Hellspawn Не, речь шла о другом, это я это так для примера написал А про свой я писал о парсере ВМ`ов, предварительно обработанного кода в IDA, а уже потом отданных олечке для показа байт-кода самой BM в удобочитаемом виде, ну как-то так чтобы в подробности не вдоваццо а какой-то в этом плане плуг, да был, я уже даже и не помню как он назывался, да я его и не юзал…
Demon666 > хех, тебе бесполезно советовать что-нибудь > ты как кот - гуляю сам по себе, а остальные пох все мы гуляем сами по себе вообще-то... если я тебе посоветую, ну, например, дизассемблировать прошивку кэнона, потому что там дофига интересногого ты будешь это делать? > хотябы для того чтобы иметь больше > возможностей и понимания > сути происходящего в отладочном процессе а) прочитай "отладка вынь приложений" Роббинса б) раскури манулы интел с) напиши свой дизассемблер и отладчик (хотя бы притивный трейсер для распаковки прог) и в Olly для тебя не останется загадок. самое сложное там - call stack, хотя в Olly он не вполне корректно реализован... мне (раньше) был намного интересней айс, потому что представлял собой сплошной набор загадок. как он трапает фаулы и бсоды? как он всплывает в любой момент по хот-кею, как он отрисовывает себя в граф. моде? да там вообще много чего было интересного... сейчас syser начинаю ковырять. у него тоже есть свои фишки. > когда будешь реверсить прогу ты уже будешь смотреть > на этот процесс с другой колокольни и контролировать реверс полностью! такого не случится никогда. чем больше ты пытаешься в чем-то разобраться, тем острее ощущаешь какая пропасть отделяет тебя от настоящего понимания сути происходящего.... не, ну конечно, если какой-то пионер возьмет в руки Olly и он совсем без понятий как работает отладчик, то ему придется очень туго... потому как опции Olly для него будут темный лес... вот та же передача исключений программам... когда ее следует делать,а когда нет? без понимания _принципа_ отладчки ответить на вопрос можно только методом тыка.... > вот для примера в ольке есть функи предназначенные > для парсера данных в удобочитаемый вид! возможность есть, > но ее никто не юзает потому что не очень удобная эта фишка. в сусере и то лучше. к тому же можно переключиться в соседнее окно и глянуть в файл hiew'ом или даже dumpbin заюзать все же удобнее. это в soft-ice раньше не было альтернативы и когда он начал хавать модули расширения мыщъх страшно эту обрадовался. впрочем, уже к тому времени имел две рядом стоящие машины на одной - ИДА, на другой айс. вот такой синхронный реверх. а теперь эта задача решается еще проще - виртуалки... > но мне пох я для себя это дело уже давно накодил ну вообще-то у ms есть специальная библиотека (набор библиотек) для этого дела. личне мне часто бывает важнее распарсить дебужную инфу или, например, декомпильнуть VCL, что делает DEDE. для ИДЫ есть плаг, но он не работает с новыми версиями ;( а парсинг PE - это даже не смешно. это пишется в лет с нуля.
kaspersky Syser? а что там интересного. Ну перехватывает таблицу функций видеодрайвера, а не патчит входы самих функций. Только эти "балбесы" до сих пор недодумались, что если юзать Direct3D, или видеокарта использует аппаратное ускорение для вывода на эран, то испольуются функции мьютексов и семафоров, и просто так отрисовывать через функции видеодайвера не получится. Да а клаву как перехватувают - вообще ...
kaspersky Ну, дык сабж и является результатом пионерии Ты написал - что нашел вариант "ольку поиметь при отладке", тебе написали - что есть плуг, который решает/фиксит траблу Ты же на радостях пишешь, что это дело решается парой строк кода, а тебя носом в настройки оли тыкнули Нет чтобы согласиццо тебе с фактами и написать сорри лажанулся Ты же нет, продолжаешь типа при трассировке все равно палиццо - тебе пишут, что нужно быть внимательнее когда трейсишь и детект пойдет лесом, я лишь дописал что есть вариант который можно заюзать и в плагине, и тоже детектицо не будет! Еще писали, что трассируют очень редко в ручную, только в особых случаях в основном бряки и F9 Получается, что ты и есть пионер, раз не вспомнил/не знал про Single-step break(не чего протЕв сабжа не имею, но так со стороны смотриццо это дело, так сказать итог топика ЗЫ: ИМХО) Я же дополнил ниже, что это чичто для примера было написано, не все имеют глубокие познания в реверсе - так сказать для наглядности, чтобы понятнее была суть начинающим в этом деле, не только мы втроем читаем этот топик, есть много людей, которые имеют желание понять суть дебатов Но это дело поправимое персонально для грамотных чтобы более понятнее было о чем я Вот ссылка http://cracklab.ru/f/index.php?action=vthread&forum=1&topic=10686 там ВМ разбирался и исходники аффтор приложил потом, так вот нарисуй картину на досуге для себя, как ты отобразил бы в оле пи-код для того чтобы тебе удобнее было осуществить реверс этого крякми чтобы найти правильный "серийник", вот про такой я плагин и писал, а ты бгг про PE(да, кстати, там есть возможность хоть тысячу окон открыть с разным видом данных и по разным адресам+приатачить окно для просмотра ресурсов прямо в оле(опенсорс на паблике есть от RadAsm`а, тока чуть подшаманить его надо), не прибегая к таким "убогим" прогам про которые ты писал) да и зачем для сабжа еще и юзать отладчик для ринг0 - жесть! если бы у меня такой был менталитет - то я сразу бы лучше выпил йад гы, ты лучше спроси кто здесь не писал свой отладчик, это более актуально будет(ИМХО)! тут по-моему все кому не лень че-то кодили, копипастили и юзали в своих отладчиках и заметь не особо стремяццо об это заявлять…
Hellspawn и все-таки я тебя поимел ) по F9. по полной программе. всю ночь не спал... там у тебя баг. надеюсь, ты его пофиксишь. а вот код. только не говори, что баян Код (Text): LONG souriz(struct _EXCEPTION_POINTERS *ExceptionInfo) { ExceptionInfo->ContextRecord->Eip += 3; return EXCEPTION_CONTINUE_EXECUTION; } // cmp esp - 33000h - 31000h __declspec(naked) nezumi() { IsDebuggerPresent(); /* for syser */ SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)&souriz); __asm { parallel_to_ecstasy: mov eax,esp xor edx,edx the_same_old_song: push eax jz the_same_old_song mov esp,eax jz parallel_to_ecstasy } } это, правда, не весь код. а только его часть. но смысл понятен. короче, тут все просто как дважды два. отжираем весь стек, так? получаем 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% и все очччень медленно работает...
выкладывай ехе, как будет время я гляну там походу в другом косяк, т.к. всего лишь прячется отладчик по ГетИфамэйшен и более ничего...
Hellspawn http://nezumi.org.ru/souriz/pass-stack.zip детект отладчика оттуда вырезан для простоты, программа ничего не выводит на экран и просто демонстрирует баг. сравни поведение своего плагина с плагином астерикса во втором проходе цикла parallel_to_ecstasy.
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
у меня всё с точностью до наоборот, с моим плагам ольга норм дышит, а вот http://smages.com/i/fd/b7/fdb724b81c62a52d773848cc8f130cd3.png
kaspersky У меня psalms-of-extinction как раз и нету Наживил в торренте - скоро заценю. Я все больше по отдельным синглам прусь чем по альбомам целиком в топах: 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 - почти целиком.