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

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

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

Создано: 05 января 2005 11:45
· Личное сообщение · #1

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




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 05 января 2005 12:10
· Личное сообщение · #2

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

По такому же



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

Создано: 05 января 2005 12:50
· Личное сообщение · #3

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




Ранг: 303.7 (мудрец), 4thx
Активность: 0.190
Статус: Участник
tPORt Manager

Создано: 05 января 2005 13:06
· Личное сообщение · #4

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



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

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

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




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 05 января 2005 13:17
· Личное сообщение · #6

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



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

Создано: 05 января 2005 13:32
· Личное сообщение · #7

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




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 05 января 2005 13:36
· Личное сообщение · #8

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




Ранг: 303.7 (мудрец), 4thx
Активность: 0.190
Статус: Участник
tPORt Manager

Создано: 05 января 2005 13:44
· Личное сообщение · #9

Vald12345 пишет:
bpm 00423fda

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



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

Создано: 05 января 2005 13:45
· Личное сообщение · #10

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




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

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

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

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



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

Создано: 05 января 2005 14:03
· Личное сообщение · #12

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




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 05 января 2005 14:17
· Личное сообщение · #13

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



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

Создано: 05 января 2005 14:28
· Личное сообщение · #14

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



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

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

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



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

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

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

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


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




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 05 января 2005 17:12
· Личное сообщение · #17

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

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



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

Создано: 05 января 2005 18:26
· Личное сообщение · #18

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


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




Ранг: 199.6 (ветеран), 12thx
Активность: 0.10
Статус: Участник
www.uinc.ru

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

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


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



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

Создано: 06 января 2005 10:34
· Личное сообщение · #20

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


 eXeL@B —› Крэки, обсуждения —› IDA и SoftIce соответствие адресов!
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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