eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: ajax (+4 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Крэки, обсуждения —› IDA и SoftIce соответствие адресов!
Посл.ответ Сообщение

Ранг: 0.0 (гость)
Статус: Участник

Создано: 5 января 2005 11:45 New!
Цитата · Личное сообщение · #1

Я совсем новичек и опыта практический нет,
пытаюсь взломать программу, нашел функцию которая проверяет правильность серийного номера ( IDA),
сейчас я хочу поставить брэкпоинт на эту функцию в SoftIce
, но я незнаю по какому адресу эта функция будет SoftIce'е.
Помогите пожалуйста!
P.S. Я конечно понимаю что наверника в форуме гдето есть ответ на мой вопрос, но к сожилению я так и не смог найти !


Ранг: 1288.1 (!!!!)
Статус: Модератор

Создано: 5 января 2005 12:10 New!
Цитата · Личное сообщение · #2

Vald12345 пишет:
я незнаю по какому адресу эта функция будет SoftIce'е.

По такому же

Ранг: 0.0 (гость)
Статус: Участник

Создано: 5 января 2005 12:50 New!
Цитата · Личное сообщение · #3

Я проверял. IDA показала адрес для процедуры :00423FDA
SoftIce показывает что программа работает 0072******.
Может быть я просто что-то не так делаю или не понимаю что-то!?


Ранг: 303.7 (мудрец)
Статус: Участник
tPORt Manager

Создано: 5 января 2005 13:06 New!
Цитата · Личное сообщение · #4

набери addr и потом addr пид твоей проги. Ты не переходишь в её адресное пространство.

Ранг: 0.0 (гость)
Статус: Участник

Создано: 5 января 2005 13:15 New!
Цитата · Личное сообщение · #5

Я попробывал не срабатывает,
я пробывал ставить БП на функции API все нармально срабатывает но адреса показывает другие !
Как мне добраться именно доэтой функции?


Ранг: 1288.1 (!!!!)
Статус: Модератор

Создано: 5 января 2005 13:17 New!
Цитата · Личное сообщение · #6

Vald12345
Все так, как сказал Bit-hack, потом ставь свой бряк на адрес.

Ранг: 0.0 (гость)
Статус: Участник

Создано: 5 января 2005 13:32 New!
Цитата · Личное сообщение · #7

Я все так и зделал , не срабатывает!
Пид моей программы 0370
дальше addr 0370 я вижу что активна в данный момент моя прграмма ( в строке состояния в айсе имя моей прораммы)
потом пишу bpm 00423fda . Программа отрабатывается до конца, но айс не всплывает!


Ранг: 1288.1 (!!!!)
Статус: Модератор

Создано: 5 января 2005 13:36 New!
Цитата · Личное сообщение · #8

ну сделай u 423fda и посмотри код проги по этому адресу.


Ранг: 303.7 (мудрец)
Статус: Участник
tPORt Manager

Создано: 5 января 2005 13:44 New!
Цитата · Личное сообщение · #9

Vald12345 пишет:
bpm 00423fda

А ты знаешь, что такое bpm? Мож тебе надо bpx или bpm XXXXXXXX x?

Ранг: 0.0 (гость)
Статус: Участник

Создано: 5 января 2005 13:45 New!
Цитата · Личное сообщение · #10

Да ты прав там совсем не то что нужно, я совсем ничего не понимаю я ставлю БП как описал чуть выше но когда даю команд показать активные БП я получаю совсем другой адрес:
Я ставлю bpm 00423FDA, а получаю #0001:0001C1CC4.


Ранг: 1288.1 (!!!!)
Статус: Модератор

Создано: 5 января 2005 14:00 · Поправил: Ara New!
Цитата · Личное сообщение · #11

Vald12345 пишет:
Я ставлю bpm 00423FDA, а получаю #0001:0001C1CC4.

bpm XXXXXXXX - это бряк на чтение\запись в память по адресу ХХХХХХХХ
bpx YYYYYYYY - бряк на адрес команды
Тебе нужен bpx

Ранг: 0.0 (гость)
Статус: Участник

Создано: 5 января 2005 14:03 New!
Цитата · Личное сообщение · #12

Да все правильно я уже разобрался, если не трудно только обьсни пожалуйста как мне получить в каком сигменте моя программа работает?


Ранг: 1288.1 (!!!!)
Статус: Модератор

Создано: 5 января 2005 14:17 New!
Цитата · Личное сообщение · #13

Vald12345
Там же написан сегемент кода.

Ранг: 0.0 (гость)
Статус: Участник

Создано: 5 января 2005 14:28 New!
Цитата · Личное сообщение · #14

Да когда я поподаю в айс по БП да я вижу сегмент.
Аможно его узнать до того как БП сработает?

Ранг: 0.0 (гость)
Статус: Участник

Создано: 5 января 2005 17:05 New!
Цитата · Личное сообщение · #15

А зачем тебе его узнавать? Кстати, в защищенном режиме х86 понятие сегмента отсутствует! У каждой программы 4Гб памяти, а в ней и секции кода и данных и т.д. Ты можешь узнать селектор, но он тебе практически ничего не даст. Если хочешь установить БП до загрузки программы, воспользуйся loader32 от сайса, но он далеко не всегда работает (у меня так и не завелся). Или PE Tools (Tools->Break & Enter а дальше читай что скажет), это я сам только недавно узнал (спасибо SouL[NHG team] за статью и TheOne[ND] за ответ в форуме). Вылетит айс в точке входа в программу, а там делай, что хочешь. А вообще, если хочешь получше разобраться, почитай что-нибудь. Например на wasm.ru есть хорошие статьи Broken Sword про защищиенный режим. На практике, я думаю, не очень помогут. Но написано классно, и хоть поймешь что к чему.

Ранг: 0.0 (гость)
Статус: Участник

Создано: 5 января 2005 17:08 · Поправил: Acid Raine New!
Цитата · Личное сообщение · #16

Чуть не забыл:

Ara пишет:
bpm XXXXXXXX - это бряк на чтение\запись в память по адресу ХХХХХХХХ
bpx YYYYYYYY - бряк на адрес команды


Насколько я знаю bpm - это аппаратный БП (отладочные регистры), я bpx - программный (int 3). По идее, на выполнение должны срабатывать и тот и тот.


Ранг: 1288.1 (!!!!)
Статус: Модератор

Создано: 5 января 2005 17:12 New!
Цитата · Личное сообщение · #17

Acid Raine пишет:
По идее

Дык возьми и проверь =)

Ранг: 0.0 (гость)
Статус: Участник

Создано: 5 января 2005 18:26 New!
Цитата · Личное сообщение · #18

Ara пишет:
Дык возьми и проверь =)


Дык взял и проверил!
bpm XXXXXXXX или bpm XXXXXXXX RW - при выполнении не работают, а bpm XXXXXXXX X (это буква, eXecute) - вылетает как миленький.
И об этом уже писал выше Bit-hack, только не я не обратил внимания.


Ранг: 199.6 (ветеран)
Статус: Участник
www.uinc.ru

Создано: 5 января 2005 19:27 · Поправил: DrGolova New!
Цитата · Личное сообщение · #19

Acid Raine пишет:
Кстати, в защищенном режиме х86 понятие сегмента отсутствует! У каждой программы 4Гб памяти, а в ней и секции кода и данных и т.д.


Да ну? И ты видимо считаешь что сегмент fs совпадает c cs? Почему тогда я не получаю AV когда пишу в его нулевой адрес? =) Если часть сегментов совпадают и имеют максимальный лимит, это еще не означает что оно отсутствуют.

Ранг: 0.0 (гость)
Статус: Участник

Создано: 6 января 2005 10:34 New!
Цитата · Личное сообщение · #20

Ну ладно, это я загнул немного .
Я просто имел в виду, что в защищенном режиме это понятие сильно отличается от реального, к тому же на практике для исследования программ очень часто сегменты вообще не имеют значения.
fs и cs не совпадают конечно. fs-при загрузке указывает на TIB, а cs - на сегмент кода. Но ведь практически всегда cs ds es ss равны в том смысле, что имеют одинаковую базу и лимит.
Таким образом для практики сегменты практически занчения не имеют. Хотя конечно надо смотреть, это ведь не догма.
 eXeL@B —› Крэки, обсуждения —› IDA и SoftIce соответствие адресов!

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS