Ставлю бреакпоит на апишную функцию. После того как SoftIce остаовил на ней комп жму F11 что бы вернуться в команду следующюю после вызова егоной, но попадаю на конструкции(где пребедущей командой являеться jmp):
imp .......
* imp.......
jmp .......
jmp .......
. Почему это происходит? Кто знает? Ведь после нажатия F11 софт айс вылетает после ret....следовательно пребедущей командой должен быть CALL......
PS: Нелепый вопрос: А можно ли при трейсенге на F8 или F10 делать откат?:-) (тоесть отменять выполнение команд)
Вопросы по SoftICE for win20.10.01 01:02 Автор: fragman777 Статус: Незарегистрированный пользователь
> . Почему это происходит? Кто знает? Ведь после нажатия F11 > софт айс вылетает после ret....следовательно пребедущей > командой должен быть CALL......
не всегда, не все функции вызываются callми, некоторые так
jmp ds: function_offset_from_import_section
Именно через такую структуру и вызываются импортированные функции.
дельфи так любит делать. так что ты не пугайся и ломай дальше:)))
как я понимаю просиходит так:
есть call abcd
---------------->>>> сюда указ стек
по адресу абсд : jmp ds:abcd_imported_offet
-------------------->>>>>>>>>>>> а не сюда
но адрес возврата установлен сразу после call, а не jmp
соответственно, когда API функция закончит работу, она перейдёт на след инструкцию после call
А при чём тут JMP??? Ведь возврат берёться из стека.20.10.01 13:38 Автор: DefengerRRRRRRR Статус: Незарегистрированный пользователь
> > . Почему это происходит? Кто знает? Ведь после нажатия > F11 > > софт айс вылетает после ret....следовательно > пребедущей > > командой должен быть CALL...... > > не всегда, не все функции вызываются callми, некоторые так > jmp ds: function_offset_from_import_section > > Именно через такую структуру и вызываются импортированные > функции. > > дельфи так любит делать. так что ты не пугайся и ломай > дальше:))) > > как я понимаю просиходит так: > > есть call abcd > ---------------->>>> сюда указ > стек > по адресу абсд : jmp ds:abcd_imported_offet > -------------------->>>>>>>>>> > ;>> а не сюда > > но адрес возврата установлен сразу после call, а не jmp > > соответственно, когда API функция закончит работу, она > перейдёт на след инструкцию после call >
Про эту констукцию я знаю. Вот и я к тому. CALL закладывает в стёк возврат на следующюю после него команду. Так почему после F11 возврат происходит на
jmp....
*jmp....
jmp....
ведь jmp ничего не делает со стёком. И F11 должен вернуть на команду слежующюю за CALL????
PS: Насколько я понимаю F11 останавливает после команды RET.
Чё хакеров то не осталось????????19.10.01 15:36 Автор: Defenger Статус: Незарегистрированный пользователь
Короче, если хочешь, то могу подсказать тебе нужных людей. Вон есть человек Хекс, на паге www.xtin.org он кракер. Но помоему он сейчас в оффлайне. А так на их канале DALnet #xtin - тоже люди нужные тебе бывают, главное попасть на них.
> я бы и рад тебе помочь, сынок... только никак не воткнусь, > что ты хочешь сказать словом "пребедущей"?
Кароччче. Пишем в совтайсе
bpx MessageBox
Далее CTRL-D
Далее юзаем прогу
....и когда надо вылетаем в отладчик на точку входа MessageBox, нажимаем F11 и оказываемься:
> > > > Хотя должны оказаться где то наподобе > > > > call USER!MessageBox > > *or eax,eax > > jnz ............ > > Да у меня все именно так и происходит :) > Какой у тя S-Ice, какая OS? Какая команда висит на F11? > Должно быть F11="^G @SS:ESP;" > или "^p ret;"