OllyDbg ds:[eax] конвертнуть в линейный адрес

Тема в разделе "WASM.BEGINNERS", создана пользователем OkOkOk, 10 окт 2009.

  1. OkOkOk

    OkOkOk New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2009
    Сообщения:
    8
    Выручайте как сделать.

    В OllyDbg поставил бряк на команду mov eax, dword ptr ds:[eax+20].

    После ее выполнения в eax содержится 6. И потом прога пишет Trial Period: 6 Days Left.

    Мне нужно вот что. Откруть программу в OleDbg. Пока она стоит на OEP. Поставить HARDWARE BREAK ON WRITE НА ds:[eax+20].

    Как это сделать? как вычислить линейный адрес вот этого вот ds:[eax+20] когда я стою на команде mov eax, dword ptr ds:[eax+20]? Неужели вручную? Но для этого надо знать всякие там gdtr/ldtr, а как с помощью OleDbg тогда узнать?
     
  2. OkOkOk

    OkOkOk New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2009
    Сообщения:
    8
    Follow Address In Dump. И потом оно будет срабатывать на всех xx:[yyy]. где yyyy=eax_address из приведенного выше поста.
     
  3. OkOkOk

    OkOkOk New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2009
    Сообщения:
    8
    Вот исследуемое:

    _http://www.apimonitor.com/download/APIMonitorTrial.exe

    Вот обход:

    you_file_offset = you_va_offset - section_rva - image_base + section_file_offset;

    обход в триале по истечению срока только notepad.exe можно смотреть:
    off1 = 044E348B - 1000 - 4190000 + 400 = - 4190C00 = file offset: 35288B change to: EB
    off2 = 044E3498 - 1000 - 4190000 + 400 = - 4190C00 = file offset: 352898 change to: EB

    дерево вызова функций иногда вместо нормальных данных там пишется Trial Version:
    off3 = 044BC681 - 1000 - 4190000 + 400 = - 4190C00 = file offset: 32BA81 change to: EB

    это чтобы всегда показывало 1 день триала (чисто эстетическое изменение):
    off4 = 0427AE0C - 1000 - 4190000 + 400 = - 4190C00 = file offset: EA20C change to: B8 01 00 00 00 90 90 EB

    на всех остальных функциях для которых вылетает окно "The feature is disabled in trial version" - ничего нет. не вкомпилено. там просто заглушки.

    все сделано в образовательных целях.
     
  4. OkOkOk

    OkOkOk New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2009
    Сообщения:
    8
    инструменты OleDbg
     
  5. OkOkOk

    OkOkOk New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2009
    Сообщения:
    8
    OllyDbg
     
  6. OkOkOk

    OkOkOk New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2009
    Сообщения:
    8
    забыл еще вот:

    Checksum
    off5 = file offset 158: change to E6 BF 4A
     
  7. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Очень сумбурно все написал - мало что понятно. Ты такое слово "реверсинг" слышал ? Чтобы узнать что в EAX, надо остановится на этой комаде и посмотреть. А ты думал существует волшебная команда - нет, и самый профи, либо делает "пристрелочный" останов, либо смотрит предыдущие команды и старается угадать. Точнее профи смотрит, где в EAX грузится адрес и делает останов там, если есть уверенность что он постоянный. Если нет, то ставим новую задачу - иногда приходиться по 10 раз запускать, поднимаясь по адресам :)
    Если не хочется мучиться, то можно попользоваться artmoney - иногда прокатывает.
     
  8. OkOkOk

    OkOkOk New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2009
    Сообщения:
    8
    я разобрался уже.

    в постах #3, #6 уже готовый кряк. там написано по каким смещениям в exe-файле нужно подправить чтобы пообходить в некоторых местах триал.