![]() |
eXeL@B —› Вопросы новичков —› У меня с помощью OllyDbg не записывается в окно log нужные данные. Почему? |
Посл.ответ | Сообщение |
|
Создано: 10 декабря 2008 22:47 · Поправил: zayats · Личное сообщение · #1 Друзья! Я делаю всё, как сказано в инструкции к этому отладчику! Условную точку останова (BMSG) ставлю на первую инструкцию вызываемой функции MessageBoxA. В окне, где нужно прописать запрашиваемое значение пишу [esp], всё делаю, в общем, как положено. И ещё пишу, чтобы в окно log записались аргументы функции MessageBoxA Ничего этого не происходит, ка вы поняли, ни значения аргументов не записываются, ни [esp] При всём при том, раньше записывались-ну, как раньше... несколько часо вназад, а сейчас не записываются Чего я только не делал... Помогите, пожжалуйста, кто может, советом Файл- простенький крякми (Я для подстраховки скачал ещё один экземпляр OllyDbg, там всё проходит на "ура", хотя делаю то же самое. Но в другом экземпляре у меня при перезагрузке файла крякми не сохраняется эта точка условного останова... В общем, 2 OllyDbg, один данные в лог не выводит, другой бряки не сохраняет...) ![]() |
|
Создано: 11 декабря 2008 22:05 · Личное сообщение · #2 Попробуй замени файл OllyDbg.ini прежней копии olly на файл из нововой (сохранив, на всякий случай, старый). Если старая начнет делать лог так, как тебе надо, - значит проблема в настройках olly. Хотя, я не совсем понял, ты используешь какой-то плагин (из твоих пояснений лично мне мало что понятно (какое окно, где пишешь, какой лог - работы Olly или лог трассировки и др.))? По поводу сохранения точки останова - сравни настройки "Options - Debugging options - Save yser data outside any module to main .udd file". ![]() |
|
Создано: 11 декабря 2008 23:15 · Поправил: zayats · Личное сообщение · #3 Спасибо что отклинулись, у меня в log data должны записаться некотрые значения. Эти значения должны туда перадаваться, когда сработает "условная точка останова с логированием" А значения, выбранные мной- [esp] и 4 аргумента вызываемой функции MessageBoxA, на первую инструкцию которой я и поставил бряк. Вот это http://www.exelab.ru/art/?action=view&id=284 Натолкнуло меня на то, что и Вы сказали. Сейчас сижу, сравниваю построчно файлы OllyDbg.ini из обоих экземляров крякми. ![]() |
|
Создано: 12 декабря 2008 00:11 · Личное сообщение · #4 |
|
Создано: 12 декабря 2008 00:43 · Поправил: zayats · Личное сообщение · #5 Это как, простите? Кликать на каждую кнопку в запущенном OllyDbg? Открывать все вкладки? Не думаю, что путаницы меньше будет. И потом, я задействую командную строку и консольную команду FC, то есть автоматизирую сравнивание файлов. Дело в другом- я не знаю, что там строчки означают... Ну что ж, будем искать разницу в строчках файлов .ini, определяющую поведение программы, методом научного тыка ![]() |
|
Создано: 12 декабря 2008 00:50 · Личное сообщение · #6 zayats пишет: ставлю на первую инструкцию вызываемой функции MessageBoxA. В окне, где нужно прописать запрашиваемое значение пишу [esp], всё делаю, в общем, как положено. И ещё пишу, чтобы в окно log записались аргументы функции MessageBoxA А ты уверен, что ты именно в том месте ставишь Breakpoint Conditional log на MessageBoxA? Попробуй сделать так в OllyDbg нажимаешь Сtri + G, вводишь MessageBoxA жмешь ОК, попадаешь в USER32.DLL потом ставишь бряк Conditional log на MessageBoxA. (MOV EDI,EDI) В появившимся окне устанавливаешь настройки как на рисунке ![]() zayats пишет: Я делаю всё, как сказано в инструкции к этому отладчику! Лутше почитай Введение в крэкинг с нуля, используя OllyDbg на _http://wasm.ru/ ![]() |
|
Создано: 12 декабря 2008 00:51 · Поправил: An_ton · Личное сообщение · #7 |
|
Создано: 12 декабря 2008 01:22 · Поправил: zayats · Личное сообщение · #8 Всё абсолютно так, один к одному, как у вас на картинке, изучаю OllyDbg по предложенному Вами документу, глава 12. И адреса у нас совпадают- я выхожу именно на 77B7050B, на него и ставлю бряк. Застопорился я, изучая BMSG, а условные точки останова с логированием это в главе 11. Что я могу не так делать- ума не приложу. Я же говорю, какое-то время в log data появлялись [esp] и значения параметров MessaGeboxA. То есть я знай вводил себе неправильные ключи, вызывалась MessageBoxA и в Log data всё нужное прописывалось, а потом как отрезало. Нажал куда-нибудь не туда... Пока ответа не найдено. Да и во вновь скачанном экземляре OllyDbg всё проходит на ура, но там брейкпонты не сохраняются (простые сохраняются, а безусловные нет) ...У меня в каталоге, где находится OllyDbg 4 экземляра Крякми. За основу брал прилагаемый и его переделывал. В частности, я дифференцировал вызовы MessagEboxA. То есть в случае неверного ключа она может вызываться 2 раза. Я с этим путался и теперь у меня видно в окошке- это такой то вызов (допустим, номер 1), а это такой-то (номер 2) (изменил просто текст заголовка окна функции MessageBoxA) ...И в каждом из этих файлов крякми у меня брейкпонты. И они фиксируются (?) в OllyDbg.ini. По крайней мере, я там видел строчки с полными путями к этим файлам, а что строчки эти значат, я сказать не могу. Короче: может я некоторый лимит брейкпонтов исчерпал, что ли? Ну, если это так, до до некоторых глюков рукой подать. Предположений много, все сразу не проверить. Сейчас в стадии досконального сравнивания файлов OllyDbg.ini ![]() |
|
Создано: 12 декабря 2008 15:33 · Личное сообщение · #9 zayats пишет: Кликать на каждую кнопку в запущенном OllyDbg? Открывать все вкладки? Зачем же на каждую? Достаточно проверить настройки окна, в котором ты задаешь условия своего бряка и преребрать вкладки меню "Options - Debugging Options". Это совсем не сложно и тут нет никакой путаницы. Открываешь одну Олю, делаешь горизонтальный размер ее окна в половину экрана и передвигаешь вправо, так же поступаешь со второй, только передвигаешь влево. В каждой из Оль открываешь ее настройки, смотришь влево, смотришь вправо и... вобщем смотришь. По крайней мере, это более наглядно, чем сравнивать малопонятные .ini. Бряки не фиксируются в .ini, они сохраняются в .odd. Ты проверял настройку "Options - Debugging options - Security - Save yser data outside any module to main .udd file" у той Оли, которая не сохраняет бряки в системной dll? zayats пишет: За основу брал прилагаемый и его переделывал Может в этом проблема? Попробуй снова с изначальным файлом, будет ли писаться лог. ![]() |
|
Создано: 13 декабря 2008 16:22 · Личное сообщение · #10 SVLab пишет: Ты проверял настройку "Options - Debugging options - Security - Save yser data outside any module to main .udd file" у той Оли, которая не сохраняет бряки в системной dll Да. У экземпляра OllyDbg, сохраняющего информацию (адрес бряка, условие (в моём случае нулевое), информацию, которую необходимо вывести в log data) по условным точкам останова с логированием в файле *.udd, эта опция отключена. Включение этой опции ничего не даёт. Тот экземпляр OllyDbg, что не сохраняет информацию по брякам тоже проверен со включенной и отлюченной такой опцией. Не сохраняет. Делаю вывод, что для сохранения, о котором идёт речь, эта не нужна (проверьте у себя для интереса). ...Более того, у Навахи тоже про эту опцию ничего не сказано, по крайней мере до изучения таких точек- специально сейчас просмотрел всё ещё раз. ![]() |
|
Создано: 13 декабря 2008 17:38 · Личное сообщение · #11 Теперь: все опции (Options - Debugging options) проверены, что у одного экземпляра, OllyDbg, что у другого. Всё идентично, кроме Options - Debugging options- СPU ...Но в той закладке опциип одразумевают показ стрелочек, в случае переходов (на какой адре как бы "переходит" управление) Поработал я с этими опциями, бесполезно. Не сораняются бряки на условные точки с логированием. ![]() |
|
Создано: 13 декабря 2008 18:02 · Поправил: An_ton · Личное сообщение · #12 zayats пишет: Поработал я с этими опциями, бесполезно. Не сораняются бряки на условные точки с логированием. У меня всё работает, попробуй на другой модификации OllyDbg к примеру, на Shadow. Вот мои настройки ![]() ![]() |
|
Создано: 13 декабря 2008 18:24 · Личное сообщение · #13 Попробуй все-таки еще просто поменять .ini файл у той оли, которая не пишет в лог нужные тебе данные на .ini из той, которая пишет. Если это ничего не даст, загрузи первоначальный файл крякми и попробуй с ним. На крайний случай - удалить все .udd файлы, имеющие отношение к этому крякми (user32.udd в том числе, если таковой имеется). Во второй оле также можно попробовать поменять .ini. Проверить, будут ли сохраняться бряки, поставленные в самом крякми, а не в системной dll (как простые, так и с логированием). Также посмотри окно Breakpoints, может бряки все-таки сохраняются, просто по каким-либо причинам становятся неактивными. ![]() |
|
Создано: 13 декабря 2008 18:52 · Личное сообщение · #14 Сейчас сделаю, как Вы сказали. Пока же... Пока же тупо переношу CRACKME.udd из той проги, где бряки сохраняются, в ту, где они не сохраняются. Запускаю. Я так думаю, что в этом CRACKME.udd все данные о точках останова, и она должна на них ориентироваться и реагировать. Но нет! Реакции ноль. Более того- по закрытию программы в каталоге создаётся файл CRACKME_1.udd. А CRACKME.udd как будто и не видит! Мистика какая-то! ![]() |
|
Создано: 13 декабря 2008 18:58 · Поправил: zayats · Личное сообщение · #15 ...Про окно Breakpoints. Я первым делом, как CRACKME открываю, туда смотрю (Alt+ B). Их там нет. Это всё относится, только если ставить бряк на условную точкус логированием на первую инструкцию вызываемой функции, сейчас поставил обыкновенный бряк и условныйс логировнием но не внутри функции, а в теле основного файла. Всё сохранилось нормально. ![]() |
|
Создано: 13 декабря 2008 19:28 · Поправил: zayats · Личное сообщение · #16 Пока же могу сказать определённо: то есть ли точки останова или их нет, зависит от файла ollydbg.ini в том числе. При его переносе, эти точки то появляются, то исчезают. ...А может такое быть, что у меня в каталоге OllyDbg перебор с исполняемыми файлами , и как следствие с бряками? Сейчас один из исполняемых файлов убрал- всё заработало... Спасибо за участие. ![]() |
|
Создано: 13 декабря 2008 20:54 · Поправил: SVLab · Личное сообщение · #17 zayats пишет: по закрытию программы в каталоге создаётся файл CRACKME_1.udd. А CRACKME.udd как будто и не видит В .udd прописывается абсолютный путь к файлу, а ты работал с файлом, находящимся в другом месте, отличном от того, что прописан в CRACKME.udd, который ты перенес. Поэтому и был создан новый .udd. И никакой мистики. ![]() Ну зачем же засорять папку Olly посторонними файлами. Держи ее как можно более чистой. Даже плагины, с которыми не работаешь в данный момент, лучше выкинуть. ![]() |
|
Создано: 15 декабря 2008 13:24 · Личное сообщение · #18 |
|
Создано: 15 декабря 2008 19:52 · Личное сообщение · #19 |
|
Создано: 28 декабря 2008 04:22 · Личное сообщение · #20 |
![]() |
eXeL@B —› Вопросы новичков —› У меня с помощью OllyDbg не записывается в окно log нужные данные. Почему? |