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

 eXeL@B —› Основной форум —› Связка SoftIce+IdaPro
Посл.ответ Сообщение

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

Создано: 02 мая 2006 12:00
· Личное сообщение · #1

Прошу помощи – осваивать крэк только начал. Хочу сломать одну программу. В интернете я нашел как один спец описывает схему, по которой ему удалось крэкнуть подобную программу. Он пишет: "Запускаем программу (тем временем начинаем ее дизассемблирование с помощью IDA), появляется окно с предупреждением о том, что если мы не введем правильный лицензионный код, программа будет работать как демо версия. Вводим произвольный лицензионный код, устанавливаем обычные точки прерывания GetWindowsTextA и GetDlgItemTextA и щелкаем мышкой по ОК. SoftIce аккуратно впитывает информацию по bpx на втором API; жмем F11 и возвращаемся в программу (код получается из IDA)." Таким образом, автор брейкпоинты устанавливает в SoftIce, а с текстом работает из IDA, т.е. как бы совмещает два процесса: один в среде SoftIce, а другой – в IDA.
Но вот это мне и непонятно. Я поступаю так.
1. Стартую SoftIce.
2. С помощью Symbol Loader загружаю программу.
3. Ввожу произвольный License key.
4. Устанавливаю breake point на GetWindowTextA
5. SoftIce всплывает по адресу: 001B:77D38000 push 0C
6. Далее ищу буфер, в котором лежит введенный мной License key, и
обнаруживаю его по адресу 0023:0207DB68
7. Отменяю предыдущий breake point и устанавливаю новый на перехват инструкции чтения/записи в этот буфер. В ответ SoftIce вновь всплывает теперь по адресу: 001B: 77D4A8A9 inc eax
Далее пытаюсь анализировать инструкции в районе этого адреса, но к сожалению, понять ничего не могу – сплошные джунгли.
Предпринимаю попытку зайти с другой стороны.
1. Стартую IDA.
2. Загружаю программу.
Все вроде ОК! IDA благополучно выполнила автоанализ и загрузила соответствующую базу данных. Но адреса, которые появились на экране совсем не те, что в SoftIce . В IDA все начинается с адреса:
.text:00401000
и найти в IDA какие-либо адреса программы из SoftIce вообще не могу понять как. Кроме того, не могу понять и не знаю как вообще можно импортировать дизассемблированный код из IDA (со всеми исходными и переименованными именами) в среду SoftIce. Что имел ввиду автор крэка и как он работал с этими двумя процессами не могу понять. Может кто-то поможет. Буду очень благодарен.



Ранг: 77.1 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 02 мая 2006 12:57
· Личное сообщение · #2

Ищи плагин Ida2Sice by Mostek - это насчет переноса имен и прочей символьной инфы.



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

Создано: 02 мая 2006 19:45
· Личное сообщение · #3

lomaker пишет:
В IDA все начинается с адреса:
.text:00401000

Это стандартный адрес загрузки. Если программа с защитой, то может и в другие адреса себя загрузить.

lomaker пишет:
6. Далее ищу буфер, в котором лежит введенный мной License key, и
обнаруживаю его по адресу 0023:0207DB68
7. Отменяю предыдущий breake point и устанавливаю новый на перехват инструкции чтения/записи в этот буфер. В ответ SoftIce вновь всплывает теперь по адресу: 001B: 77D4A8A9 inc eax
Далее пытаюсь анализировать инструкции в районе этого адреса, но к сожалению, понять ничего не могу – сплошные джунгли.

0023:0207DB68 - это скорее всего стек, а 001B: 77D4A8A9 в системной DLL
Если ключ еще в буфере, то придется отслеживать куда его пересылают и разбираться в джунглях,
иначе ты до команд программы не доберешься никогда. И никакой Ida2Sice тебе не поможет.
Кстати, если бы ты выполнил совет автора про F11, то попал бы в адреса, которые в IDA есть.
Конечно это в том случае, если программа простая.



Ранг: 10.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 26 июля 2007 16:07
· Личное сообщение · #4

Конечно прикольно анализировать системные библиотеки, но есть ли смысл во всем этом ? Я в таких случаях стараюсь сразу же вывалиться в область кода исследуемой программы иначе из этих дебрей не вылезти. Как только попадаются "высокие" адреса лучше давить p ret, может даже не один раз пока SoftIce не покажет, что ты в свей проге, а не в недрах API-функций. И только тогда нужно начинать поиск введеного ключа, потому что уж больно резво системные функции перекидывают его из буфера в буфер - замучаешься бряки на память ставить! Опять же не факт, что потеть дальше над буферами не придеться, но все равно уже будет чуть полегче! Удачи!



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

Создано: 26 июля 2007 16:08
· Личное сообщение · #5

> .text:00401000
обычно это стандартный виртуальный адрес секции кода...

-----
Shalom ebanats!





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 27 июля 2007 12:17
· Личное сообщение · #6

asmonavt пишет:
Конечно прикольно анализировать системные библиотеки, но есть ли смысл во всем этом

Кстати, если есть такая трабла, новичку больше подходит OllyDbg. Там все просто - либо трассируешь по F8 в нужном месте, обходя все апишки стороной, либо, если уж вывалился, выбираешь из списка нужный процесс.

tundra37 пишет:
0023:0207DB68 - это скорее всего стек

Да, посмори регистр стековый, чтобы убедиться, что это тру.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 27 июля 2007 12:34
· Личное сообщение · #7

Опять вы тему подняли, которой больше года. Можете меня хоть закидать помидорами, но никогда не убедите, что чел, у которого единственный пост на этом форуме, вернётся через год, чтобы прочитать ответ на свой вопрос. Закройте топ нафиг.



Ранг: 10.6 (новичок)
Активность: 0.010
Статус: Участник

Создано: 27 июля 2007 13:56
· Личное сообщение · #8

Archer дело ведь не в том, придет тот самый человек или нет. Не придет он - зайдут почитать другие по тойму же вопросу. Не стоит же право обкрадывать людей в плане информации.
P.S. Совершенно согласен с Crawler'ом по поводу OllyDbg, хотя пользуюсь сайсом не будучи даже младшим заместителем гуру.




Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 27 июля 2007 16:48
· Личное сообщение · #9

Archer
Мля. Извините за оффтоп, но что я, каждый раз буду на даты смотреть? такое очень редко происходит.
Хотя в принципе у вас позиция и правильная, но не надо каждый раз лезть и оффтопить. Тут модеры есть, их 9 человек, думаю, это их забота, а не ваша. Своим сообщением вы только провоцируете других. Заметьте, что до вашего поста дискуссия шла в рамках темы. Если asmonavt поднял тему, значит, ему есть что добавить.

asmonavt прав. Можешь рассматривать форум как базу знаний, если у тебя есть какие-то полезные предложения, их можно высказывать. Это приветствуется. Автор не писал, что тема исчерпана (пусть даже он на нее забил =)

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.



 eXeL@B —› Основной форум —› Связка SoftIce+IdaPro
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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