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

 eXeL@B —› Вопросы новичков —› ollyDbg2 - как сделать справочный вызов функции в контексте отлаживаемого приложения?
Посл.ответ Сообщение

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

Создано: 26 июня 2014 19:27
· Личное сообщение · #1

то есть действительный исполняемый контекст(регистры стек) не должен измениться(кроме неизбежных side effect -ов)

наподобие того, что делают высокоуровневые отладчики, при вычислении свойств.




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

Создано: 26 июня 2014 19:41
· Личное сообщение · #2

Не устал ещё топики штамповать? 4 топика за 2 дня.
Никак. И высокоуровневые отладчики никакие функции в контексте отлаживаемого приложения тоже не вызывают.



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

Создано: 26 июня 2014 19:59
· Личное сообщение · #3

Archer пишет:
Не устал ещё топики штамповать? 4 топика за 2 дня.

Это много? lol.. 4 вопроса за 2 дня.
был бы один большой топик для всего, я бы там и создавал. Вините идеологию вашего форума -- один топик на каждый вопрос, мне она тоже не по душе.


Archer пишет:
Никак. И высокоуровневые отладчики никакие функции в контексте отлаживаемого приложения тоже не вызывают.

я почти уверен, что это неверно. тот же Delphi это делает легко. в конце концов, сохранить состояние регистров, и соорудить кусочек кода в стеке пониже ESP, и сделать вызов легко. Чуть потруднее соорудить фрейм исключения для этого вызова, но тоже ничего сложного.

В сущности, поскольку олька вроде может ассемблировать, то мой вопрос сводится лишь к сохранению и восстановлению состояния регистров.




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

Создано: 26 июня 2014 20:27
· Личное сообщение · #4

Создай 1 топик: "мои вопросы" и пости их там, не вижу проблемы.
Студия сходу не помню, чтоб такое делала. С дельфи давно не работал. И для чего дельфи это делает?
pushad и popad для регистров.



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

Создано: 26 июня 2014 21:40
· Личное сообщение · #5

Archer пишет:
И для чего дельфи это делает?

[code]
TMyclass=class
property Caption:string read getCaption write setCaption;
end;
[/code]
в функции getCaption():string будет вызов GetWindowTextW , например. То есть свойтво с геттером.

Или например
[code]
class function ClassName: string;
[/code]
возвращает имя класс, по указателю на RTTI
полиморфные вызовы легче отлаживать, зная, с каким именно классом ты работаешь. Тогда можно инстанс статически привести к этому типу, и заставить отладчик показать данные, соответствующие действительному классу, а не абстрактному предку, под типом которого содержиться инстанс.

И да, Delphi все это делает, включая даже и фрейм исключения(конкретно показывая тип исключения), если вызов его сгенерировал.


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


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