На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
  
> Откуда вызывается функция? , По ссылкам на функцию не понятно откуда она вызывается (dll x86_64).
    Здравствуйте.

    Не понимаю откуда вызывается функция f12.
    Смотрю ссылки на нее:
    https://disk.yandex.ru/i/crsvYi4QLBE6dQ

    т.е. напрямую ее никто не вызывает. Как я понимаю остается два варианта ее вызова:
    1) Не прямой вызов через смещение к vftable;
    Правильно я понимаю, что без отладки определить откуда ее вызывают невозможно?
    Правильно я понимаю, что найти ее vftable тоже не возможно?

    Если смотреть вот ту ссылку (.rdata:0000000180B98A68 dq offset f12), то судя по внешнему виду это не vftable. Так?
    https://disk.yandex.ru/i/DWfDOfycDgdG3g

    2) Т.к. это все в dll, то функция f12 может вызываться из вне, но судя по таблице экспорта из вне она не доступна.
    https://disk.yandex.ru/i/88nKSjxT_bFJvw

    Как же понять откуда она вызывается?
    Сообщение отредактировано: vmprog -
      Учитывая, что это имеет отношение к SEH, и там массив указателей, она запросто может активизироваться косвенным вызовом. Когда какая-нибудь RtlUnwind() будет перебирать обработчики в поисках подходящего, таковым может оказаться и f12().
      Как вариант – это список деструкторов, и f12 один из них. Они активизируются, когда их объекты полностью сконструированы и потому помечены как подлежащие удалению при размотке стека в процессе отката фреймов. Но тогда странно, что f12() нигде больше не упоминается.
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0163 ]   [ 15 queries used ]   [ Generated: 28.03.24, 09:39 GMT ]