Вопрос по 16 главе Введение в крэкинг с нуля, используя OllyDbg

Тема в разделе "WASM.BEGINNERS", создана пользователем gsx3000, 16 ноя 2010.

  1. gsx3000

    gsx3000 New Member

    Публикаций:
    0
    Регистрация:
    16 ноя 2010
    Сообщения:
    2
    Читаю 16 главу дошел до этого момента

    [​IMG]

    .

    [​IMG]

    [​IMG]

    В итоге olly должен был переместится сюда

    [​IMG]

    Но когда я у себя нажимаю снова RUN заместо этого у меня появляется MessageBox

    [​IMG]

    Вроде все делаю шаг за шагом по статье что не так не пойму :dntknw:

    OllyDbg v1.10 плагинов кроме CmdBar нет подскажите новичку что не так плиз
     
  2. PSR1257

    PSR1257 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2008
    Сообщения:
    933
    Olly довольно неуверенно ставит BPM, а на данные может вообще их не поставить - каждый раз нужно проверять в менюшке (вроде Debug->Hardware breakpoints) что он реально выставлен.

    Возможно также может сменицца адрес буфера при следующем запуске (маловероятно).

    Переходите на SoftIce или другие серьезные отладчики :derisive:
     
  3. eua

    eua New Member

    Публикаций:
    0
    Регистрация:
    25 июл 2010
    Сообщения:
    42
    попробуй не run а F8
     
  4. tester3000

    tester3000 New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2006
    Сообщения:
    140
  5. Mentor

    Mentor New Member

    Публикаций:
    0
    Регистрация:
    13 окт 2010
    Сообщения:
    67
    если не секрет, какие?
     
  6. PSR1257

    PSR1257 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2008
    Сообщения:
    933
    Mentor

    Я пользую только SoftIce, но некоторые хвалят WinDbg, и еще есть какой-то новый, китайский... Syser?

    В любом случае нужен такой который дает полный контроль над системой и позволяет работать на равных с драйвером который не хочет чтобы с ним работали. А Olly - это как начинать программировать на СИ не зная ASM.
     
  7. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    PSR1257
    какое отношение имеют эти два языка. можно вполне серьезно знать си но не знать асм. Достаточно просто определиться с конструкциями, которые твой компилятор Си компилирует в более эффективный код, а эффективность куска кода можно проверить и не зная ассемблера.
     
  8. PSR1257

    PSR1257 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2008
    Сообщения:
    933
    max7C4

    Не буду ожесточенно спорить - у каждого свое мнение. Просто изложу свою точку зрения.

    Изначально СИ был разработан чтобы уйти от ограничений ассемблера - платформо-независимость и только во-вторую очередь - абстрагирование кода от низкоуровневых операций и более строгой типизации. Если нужен чисто высокоуровневый язык - это Паскаль и другие.

    Так что когда вы делаете memcpy и переименовываете указатели как хотите вы должны иметь четкое представление о памяти. Когда вы делаете << или >> вы должны понимать что на моторолле это может привести к совершенно другому результату и поэтому дефайните это. Если вы не чуствуете этого (не знаете асма) вы рискуете совершить ошибки, которые на СИ сделать гораздо проще. Если же вы пишете только такой код который максимально абстрактен (скажем, алгосы или ДБ), то спрашивается - а зачем вам си? Тут недавно в HEAP была тема про ДБ и СИ, вместо того чтобы вынести логику в SQL/хранимые процедуры чел придумывает какие-то структуры ... на СИ... Зачем?

    Так же и с Olly. Если вы не знаете что такое DRx, зачем вы их используете в Olly? Поставил BPM а потом удивляемся - где мой брейк? Где-где, может защита выполнила доступ к памяти внутри обработчика SEH - и все. Я бы рекомендовал сначала написать свою простую прогу которая сама ставит обработчк int 1 и настраивает DR7, а только потом уже работать с этими функциями в отладчиках.
     
  9. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    max7C4
    Оно и видно по фаерам, сидит толпа студентов и вылизывает код друг друга. А там эффективность превыше всего, так как это защита. Весь подобный софт говорит об обратном.
     
  10. gsx3000

    gsx3000 New Member

    Публикаций:
    0
    Регистрация:
    16 ноя 2010
    Сообщения:
    2
    Уважаемые гуру плиз прекратите мерится ПиПиСьКаМи в моей темке а лучше что-нибудь дельное посоветуйте касаемо моего сабжа =)
     
  11. baldr

    baldr New Member

    Публикаций:
    0
    Регистрация:
    29 апр 2010
    Сообщения:
    327
    gsx3000,

    По теме: я бы попробовал отследить перемещения результата GetDlgItemTextA() (хотя GetWindowText() или даже перехват WM_GETTEXT выглядит предпочтительнее). С аппаратными точками останова (пресловутые DRx) OllyDbg работает довольно чётко, хотя и с точками останова на обращение к страницам пока особых проблем не было. Этим методом за пару минут сделал себе серийный 17705 в этом CrackMe (CrueHead №1).

    Во многом, конечно, форумчане правы: понимание механизмов, осуществляющих ту или иную функцию, помогает их верному использованию и уверенной диагностике возникающих проблем. Единственное моё возражение состоит в том, что инструменты для того и нужны, чтобы не задумываться, как они достигают цели (или мажут мимо неё).
     
  12. PSR1257

    PSR1257 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2008
    Сообщения:
    933
    gsx3000

    OK, придумайте себе простой пример на доступ к памяти и поймайте это обращение в Olly через BPM. Не обязательно защита, что-нить совсем простое. Работает? Доступ на ДАННЫЕ, не код. Идем далее. И посмотрите действительно ли Olly установил нужный брейкпойнт?

    Никто не мешает проверить что он работает прямо сразу. Допустим установлен на память 403050h. Тут же ассемблируем (убивая какие-то инструкции):

    mov eax,403050h
    nop
    mov ebx,[eax]
    nop
    nop

    Далее устанавливаем EIP на mov eax,403050h (CTRL+*) и F9. Должно быть все - и останов, и сообщение о "hardware breakpoint". Если нету ... думаем.