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

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

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

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
  
> Не могу разобраться с результатом дизассемблирования IDA Pro (dll x86_64)
    Здравствуйте.

    Изучаю dll, которая была собрана под x86_64.

    Изучаю откуда есть ссылки на функцию "call_f1_1806F3630" и не понимаю три их них. Это особенности ООП? Помогите разобраться:
    https://disk.yandex.ru/i/crsvYi4QLBE6dQ

    1) Это что виртуальная таблица с методами какого то класса?
    ExpandedWrap disabled
      .rdata:0000000180B8E730 BC 06 03 80 01 00 00 00       off_180B8E730   dq offset sub_1800306BC ; DATA XREF: sub_180016668+28↑o
      .rdata:0000000180B8E730                                                                       ; sub_180169E2C+2E↑o ...
      .rdata:0000000180B8E738 44 8D 03 80 01 00 00 00                       dq offset sub_180038D44
      .rdata:0000000180B8E740 F0 8D 03 80 01 00 00 00                       dq offset sub_180038DF0
      ...
      .rdata:0000000180B8E800 30 03 6F 80 01 00 00 00                       dq offset sub_1806F0330
      .rdata:0000000180B8E808 30 36 6F 80 01 00 00 00                       [B]dq offset call_f1_1806F3630[/B]
      .rdata:0000000180B8E810 20 3D 6F 80 01 00 00 00                       dq offset sub_1806F3D20
      .rdata:0000000180B8E818 60 99 16 80 01 00 00 00                       dq offset sub_180169960


    2) Вот это вообще не понятно.
    ExpandedWrap disabled
      .rdata:0000000180EDAE60 30 36 6F 00 FF FF FF FF       stru_180EDAE60  IPtoStateMap <rva call_f1_1806F3630, -1>
      .rdata:0000000180EDAE60                                                                       ; DATA XREF: .rdata:stru_180EDAE28↑o
      .rdata:0000000180EDAE68 6B 36 6F 00 00 00 00 00                       IPtoStateMap <rva loc_1806F366B, 0>
      .rdata:0000000180EDAE70 C4 37 6F 00 FF FF FF FF                       IPtoStateMap <rva loc_1806F37C4, -1>
      .rdata:0000000180EDAE78 CB 37 6F 00 00 00 00 00                       IPtoStateMap <rva loc_1806F37CB, 0>
      .rdata:0000000180EDAE80 71 93 AE 00 01 00 00 00                       IPtoStateMap <rva sub_180AE9371, 1>
      .rdata:0000000180EDAE88 80 93 AE 00 00 00 00 00                       IPtoStateMap <rva loc_180AE9380, 0>


    3) Вот это тоже не понятно.
    ExpandedWrap disabled
      .pdata:000000018110D94C 30 36 6F 00 DA 37 6F 00 88 1C+                RUNTIME_FUNCTION <rva call_f1_1806F3630, rva algn_1806F37DA, \
      .pdata:000000018110D94C D0 00                                                           rva stru_180D01C88>
    Сообщение отредактировано: vmprog -
      Цитата vmprog @
      1) Это что виртуальная таблица с методами какого то класса?
      Возможно, но не обязательно. Обычно в VMT помещают дополнительную инфу, не являющуюся указателями на методы, например, смещение (обычно отрицательное) для this к началу стораджа объекта. Тут ничего такого не видно, так что возможно это либо её огрызок, либо что-то на неё похожее, например, вектор лямбд. Но судя по нижеследующему, это скорее адреса catch(), __except(), __finally или деструкторов для фрейма исключений.
      Цитата vmprog @
      2) Вот это вообще не понятно.
      Это массив состояний для C++EH/SEH. Используется подсистемой обработки исключений. Подробнее можно полистать тут.
      Цитата vmprog @
      3) Вот это тоже не понятно.
      Это WinAPI-шная структура, тоже имеет отношение к SEH.
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


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