
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.87] |
![]() |
|
Сообщ.
#1
,
|
|
|
Здравствуйте.
Изучаю dll, которая была собрана под x86_64. Изучаю откуда есть ссылки на функцию "call_f1_1806F3630" и не понимаю три их них. Это особенности ООП? Помогите разобраться: https://disk.yandex.ru/i/crsvYi4QLBE6dQ 1) Это что виртуальная таблица с методами какого то класса? ![]() ![]() .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) Вот это вообще не понятно. ![]() ![]() .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) Вот это тоже не понятно. ![]() ![]() .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> |
![]() |
Сообщ.
#2
,
|
|
Цитата vmprog @ Возможно, но не обязательно. Обычно в VMT помещают дополнительную инфу, не являющуюся указателями на методы, например, смещение (обычно отрицательное) для this к началу стораджа объекта. Тут ничего такого не видно, так что возможно это либо её огрызок, либо что-то на неё похожее, например, вектор лямбд. Но судя по нижеследующему, это скорее адреса catch(), __except(), __finally или деструкторов для фрейма исключений.1) Это что виртуальная таблица с методами какого то класса? Цитата vmprog @ Это массив состояний для C++EH/SEH. Используется подсистемой обработки исключений. Подробнее можно полистать тут.2) Вот это вообще не понятно. Цитата vmprog @ Это WinAPI-шная структура, тоже имеет отношение к SEH. 3) Вот это тоже не понятно. |