+ Reply to Thread
Results 1 to 4 of 4

Thread: Вопрос по 42 уроку Рикардо Нарвахи .

  1. #1

    Default Вопрос по 42 уроку Рикардо Нарвахи .

    Салют камрады . Помогите новичку осмыслить 42 урок
    Введения в крэкинг с нуля, используя OllyDbg
    Сам мануал хранится тут
    Собственно урок главным образом на тему ollyscript . Рикардо патчит свой же скрипт , который был сделан для 40 урока . Он должен прятать hbp от кода антиотладки , удаляя их вначале api KiUserExceptionDispatcher и восстанавливая в ее конце .
    Ситуевина в том что скрипт который делал это в 40 уроке не работает в 42ом .
    И Нарваха что-то делает через сontext потока чтобы все снова работало .
    Было бы классно , если кто-то поможет понять как это происходит .

  2. #2
    Darwin's Avatar

    Default Re: Вопрос по 42 уроку Рикардо Нарвахи .

    Кто-то тут делал разбор всех уроков на ютубе, вот 42 глава с этим скриптом:

    https://www.youtube.com/watch?v=rf8S...tu.be&t=13m31s
    Счастлив кто отдал, а не взял. (с) Inception

  3. #3

    Default Re: Вопрос по 42 уроку Рикардо Нарвахи .

    Благодарю , но Яшу я уже посмотрел . Ничего нового по данному уроку он не озвучил .

  4. #4
    Darwin's Avatar

    Default Re: Вопрос по 42 уроку Рикардо Нарвахи .

    Ситуевина в том что скрипт который делал это в 40 уроке не работает в 42ом .
    И Нарваха что-то делает через сontext потока чтобы все снова работало .
    Было бы классно , если кто-то поможет понять как это происходит .
    В 40 уроке, вероятно, в обработчике исключений происходит обращение к структуре Context, через функцию GetThreadContext. Соответственно, когда происходит вызов этой функции, отладочные регистры уже очищены и детект не происходит, так как до вызова обработчика исключений, нарваха снимает HBP.

    В 42 уроке, происходит обращение к "копии" структуры Context, которая передается в обработчик исключений по указателю. Поэтому, когда мы восстанавливаем HBP, наши изменения не затрагивают текущую копию.

    Соответственно, нарваха предлагает два варианта:
    1. На первом BP, cохранять значения регистров DR0-DR3, которые находятся в структуре Context. А на втором BP, восстанавливать эти значения.
    2. Поставить дополнительный BP на адрес возврата из исключения и когда управление вернется в нормальное русло, вернуть стертые HBP.
    Last edited by Darwin; 28-07-2017 at 18:54.
    Счастлив кто отдал, а не взял. (с) Inception

  5. Пользователь сказал cпасибо:
    Console (19-10-2017)
+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
All times are GMT. The time now is 01:21
vBulletin® Copyright ©2000 - 2018
www.reverse4you.org