Сейчас на форуме: igorcauret (+8 невидимых)

 eXeL@B —› Вопросы новичков —› Проблема динамических адресов в win 7
<< . 1 . 2 .
Посл.ответ Сообщение

Ранг: 14.4 (новичок), 8thx
Активность: 0.050
Статус: Участник

Создано: 08 июня 2014 14:32
· Личное сообщение · #1

Ребят, я на днях стал читать туторы c сайта tuts4you о реверсинге программ и распаковке "Lenas Reversing for Newbies". Вот читаю 27 урок, в этом уроке автор находит адрес в памяти программы, в котором сохраняется 1 или 0. Единица это значит не зарегистрирована, а 0 зарегистрирована. Но у автора после перезапуска адрес сохраняется, а у меня этот адрес меняется. Вот сам тутор https://tuts4you.com/download.php?view.148

Я нашел решающий переход и перед ним call, который записывает в eax значение из того адреса вот в этой строке MOV AL,BYTE PTR DS:[EAX+24], но у автора в этом месте eax+24 всегда равен 00B0DC08, а у меня начало этого адреса меняется постоянно, то есть у меня он то 0013DC08, то 0014DC08 и так далее. То есть программа создает страницу памяти каждый раз в разных местах, но смещение DC08 всегда сохраняется.

Я решил поставить bp на VirtualAlloc как только увидел создание подобной страницы, после этого поставил на адрес со смещение DC08 бряк на запись и попал в код где устанавливается единичка в этот адрес, пропатчил на 0. Проблему так решил, программа зарегистрировалась.


Но у меня остается вопрос, почему у меня на windows 7 32 бита адрес меняется постоянно, а у автора он константа ?



Ранг: 158.4 (ветеран), 123thx
Активность: 0.140.49
Статус: Участник

Создано: 09 июня 2014 00:27
· Личное сообщение · #2

kola1357 пишет:
А когда адрес меняется как вы предлагаете искать эту команду.

Эта команда всегда находится по одному и тому же смещению относительно image base (в этом exe, естественно).



Ранг: 14.4 (новичок), 8thx
Активность: 0.050
Статус: Участник

Создано: 10 июня 2014 16:44 · Поправил: kola1357
· Личное сообщение · #3

dosprog пишет:
Короче, ковыряйте этот файл до тех пор, пока команда DOS:

fc /b OrigFile NewFile

не выдаст результат:

00000216: 0E 0F

А можно вот про это объяснить мне еще чуть-чуть. Вот взял другую прогу, упакована аспротектом, пытаюсь добиться этого результат, правя байты в hex, вот байт 0e это я нашел методом тыка, что он стоит в hex на 214 строке в 3 столбике, а вот где 0F стоит, чтобы изменить его, так и не смог найти.
Подскажите, пожалуйста, тут мне.

Вот сама прога http://rusfolder.com/40949017
Дошел до ОЕП, сделал дамп, начинаю чинить иат, есть переадресация. Обнаружил, что по адресу 68A4CC записывается переадресация, а по адресу 68A4AC нет, там будет GetLastError. Поставил бряк хардварный на запись, чтобы поймать команду, которая впишет туда адрес апи функции. Но вот в этой программе как раз адреса команд меняются. Инструкцию нашел MOV DWORD PTR DS:[EDX],EAX. Располагается по адресу 00??7559. Вот подскажите как тут с этим бороться, хотел на саму инструкцию поставить бряк.



Ранг: 431.7 (мудрец), 391thx
Активность: 0.730.32
Статус: Участник

Создано: 11 июня 2014 01:31 · Поправил: dosprog
· Личное сообщение · #4

kola1357 пишет:
А можно вот про это объяснить мне еще чуть-чуть.


Есть т.н. CRK-формат файла.

Это то, что получается после запуска стандартной DOS-овской команды сравнения файлов:

C:\> FC /b OriginalFile NewFile >000.CRK

То-есть - смещение_в_файле: старый_байт новый_байт

Есть программы, позволяющие патчить файлы автоматически, если есть CRK-файл.
Например, старинная --> CRK-STUDIO <--

Тот патч, что обсуждался, как оказалось, вам не нужен вовсе.
То правка заголовка PE-EXE для запрета зегрузки его по переменному базовому адресу.
Возможность такой загрузки только в WinVista+, и я не знаю, зачем она нужна
для обычных пользовательских PE-EXE файлов.



| Сообщение посчитали полезным: VodoleY
<< . 1 . 2 .
 eXeL@B —› Вопросы новичков —› Проблема динамических адресов в win 7
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати