Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.11.21;
Скачать: [xml.tar.bz2];

Вниз

Как пользоваться SoftIce?   Найти похожие ветки 

 
AL2002   (2002-11-01 15:50) [0]

Это для ознакомительных целей.

Вот у меня есть прога CrackMe. Она для тех, кто хочет научиться пользоваться Софтайсом.

Запускаю пример. Вызываю софтайс. Ставлю bpx MessageBoxA.
Регистрируюсь в программе-примере. Прога выводит сообщение. Вылазит софтайс. Жму Ф12. Софтайс ныкается. Жму Ок в проге-примере. Вылазит софтайс и показывает точку прирывания.

Что делать дальше?
Как мне поменять флаг?
Как сменить jz на jnz?
Как отключить брекпоинт MessageBoxA?


 
Ерик   (2002-11-01 15:53) [1]

А документацию пробовал прочитать?


 
AL2002   (2002-11-01 16:00) [2]


> Ерик (01.11.02 15:53)
> А документацию пробовал прочитать?

А как узнать адрес в ехе файле, где нужно jz на jnz поменять?
И как эта jnz пишется в хексе?


 
xm   (2002-11-01 16:06) [3]

в хакере есть куча статей по софтайсу и именно для твоего уровня


 
AL2002   (2002-11-01 16:10) [4]

>xm (01.11.02 16:06)
Вот их-то я и читаю. Там просто говорят: "Ставим, снимаем, меняем...". А какими командами и как именно — не написано.


 
NeyroSpace   (2002-11-01 16:33) [5]

Флаги вроде бы менять нельзя (покрайней мере если переглючится на окно регистров, то регистр флагов все равно не доступен)
Если мне надо поменять (чисто для ознакомительных целей), то меняю инструкцию в окне данных. Hex код инструкции есть в справочнике.
вводим:
d [регистр] //(теперь окно данных отображает память адресуемую регистром)
wd //или давим alt+d (переключаемся на окно данных)
ну а дальше ручками...
или пишем на бумажку последовательность инструкций и ищем HexView"ом
могу что-то перепутать щас под рукой ЕГО нет.


 
AL2002   (2002-11-01 16:52) [6]

Довольно-таки туманно.

Мне бы только пример подробный. Где бы его выкопать?


 
NeyroSpace   (2002-11-01 17:05) [7]

>NeyroSpace © (01.11.02 16:33)
Так и есть! Ошибся! Конечно же:
d [адрес инструкции]
т.е.
000aabbff | jz xxxxxxx
d 000aabbff

http://www.reversing.net/


 
AL2002   (2002-11-01 17:56) [8]


> 000aabbff | jz xxxxxxx
> d 000aabbff

Т.е.?


 
NeyroSpace   (2002-11-01 18:05) [9]

команда в SI есть такая
d [аргумент]
где аргумент это непосредственно адрес или адресующий регистр.
по командам же дока PDF идет вместе с SI.
Я себе даже русскую скачал (sice_ref.zip 915838 Байт) правда не помню откуда...
если надо я посмотрю урл или могу выслать.
Ты на реверсинге статьи читаешь?


 
Юрий Зотов   (2002-11-01 18:20) [10]

> AL2002 © (01.11.02 15:50)

> Вот у меня есть прога CrackMe.
> Она для тех, кто хочет научиться пользоваться Софтайсом.

Это замечательно. Идем дальше.


> А как узнать адрес в ехе файле, где нужно jz на jnz поменять?

IMHO, только одним способом - головой. Программы ломаются все же именно ею, а не Софтайсом.


> И как эта jnz пишется в хексе?

Для тех, кто хочет научиться пользоваться Софтайсом, существует не только CrackMe. Есть еще язык Ассемблера и справочники по нему. Там все и написано.


 
AL2002   (2002-11-01 18:21) [11]


> Ты на реверсинге статьи читаешь?

Да.

Два вопроса:
- как отменить MessageBoxA

и:

Давайте попробуем поменять состояние флага нуля и посмотреть, что делает
функция по адресу 40134D, для этого либо делаем двойной щелчок мышью на букве z
в окне регистров, а затем нажимаем кнопки Insert и Enter, либо вводим команду r
fl z, которая меняет состояние флага z, регистра флагов (fl) на противоположное.
И продолжаем трассировку программы во внешнем режиме, т.е. с помощью кнопки F10.
После первого шага программа осуществляет условный переход по адресу 40124С. На
втором шаге выполняется функция по адресу 40134D, которая выводит сообщение о
корректной РИ. После нажатия ОК в окне сообщения мы вновь оказываемся в модуле
нашей программы по адресу 401251. Дальше уже нет ничего интересного, поэтому мы можем просто нажать F5 для продолжения выполнения программы.

Далее мы должны поменять команду 401243 jz 40124С на jnz 40124C, чтобы
переход осуществлялся при сброшенном флаге нуля. Я надеюсь, Вы помните, что для
этого надо делать.


Вот тут я нихрена не понял.
Где там это окно регистров — хрен его знает.


 
AL2002   (2002-11-01 18:26) [12]


> Юрий Зотов © (01.11.02 18:20)

Какая прелесть. Мне нужно понять, как этот пример сделать.
Я просто хочу тупо сделать всё по инструкции. И всё.

Для этого нужно: поменять jz на jnz и вставить в хексе как надо.
Больше ничего не нужно. Во всяком случае, пока что.
Я не могу даже этого понять, я вы меня в справочники втыкаете.


 
AL2002   (2002-11-01 20:45) [13]


> Давайте попробуем поменять состояние флага нуля и посмотреть,
> что делает
> функция по адресу 40134D, для этого либо делаем двойной
> щелчок мышью на букве z
> в окне регистров, а затем нажимаем кнопки Insert и Enter,
> либо вводим команду r
> fl z, которая меняет состояние флага z, регистра флагов
> (fl) на противоположное.

Как менять флаг нуля? Где эта буква Z, по которой нужно щёлкать?
Что-то никакой буквы и не видно. Особенно z.


 
Сатир   (2002-11-01 21:54) [14]

та плюнь ты на тот софтайс, раз такое дело


 
xm   (2002-11-01 23:07) [15]

смотри статью http://www.xakep.ru/magazine/xa/022/060/1.htm


 
AL2002   (2002-11-02 00:45) [16]


> xm (01.11.02 23:07)

Клёвая статья. Спасибо. :))
Уверенности разобраться прибавилось.


 
Song   (2002-11-02 09:06) [17]

Надо знать машинный код, который соответствует той или иной мнемонике. Т.е. jnz этого не достаточно. Надо знать шестнадцетиричный код, который нужно запатчить по адресу, после его выполнение программа будет работать уже согласно вашему алгоритму.
Вообще это трудно объянять человеку, который никогда не занимался ассемблером. Только иметь софтайс - мало.


 
AL2002   (2002-11-04 20:59) [18]

>Song © (02.11.02 09:06)
Полностью согласен. :)
У меня теперь ещё и HiView есть.


 
xm   (2002-11-04 21:01) [19]

в софтайсе можно узнать какой код соответсвует мнемонике.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2002.11.21;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.007 c
3-69197
AM
2002-11-01 12:02
2002.11.21
Как выловить соб. OnMouseDown() для самих строк DBGrid?


1-69376
Ученик
2002-11-10 12:23
2002.11.21
31 число в какой декаде


1-69228
X-Guest...
2002-11-10 18:56
2002.11.21
Подскажите плз, как обычно кодируют файл?


14-69500
delpher_gray
2002-10-31 19:29
2002.11.21
Как расположить числа в подярке убывания


7-69595
isc
2002-09-20 18:36
2002.11.21
Работа с LPT портом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский