Кто-нибудь знает, где в памяти находятся надстройки или расширения Firefox? Как я могу найти их в памяти

Я использую Firefox версии 10.0.2 в Linux (CentOS). Из дескриптора памяти (mm_struct) Firefox я знаю расположение раздела кода Firefox. Код надстроек или расширений Firefox также должен храниться где-то в памяти, и само приложение Firefox должно знать об этом коде. Кто-нибудь знает, где в памяти находятся надстройки или расширения Firefox? Связаны ли они с разделом кода Firefox? Как мне их найти? Спасибо за любой вклад.


person Fengwei Zhang    schedule 09.03.2012    source источник


Ответы (1)


Расширения написаны на JavaScript, поэтому их код будет просто лежать в куче.

person Boris Zbarsky    schedule 10.03.2012
comment
Спасибо. Вы знаете, как найти их в памяти? - person Fengwei Zhang; 12.03.2012
comment
Другой вопрос: в большинстве систем есть методы защиты NX, и как расширения могут выполняться в куче? Спасибо! - person Fengwei Zhang; 12.03.2012
comment
Вам придется работать с внутренними структурами данных, чтобы найти что-то в памяти. Что касается NX, то с NX нет препятствий для интерпретации вещей. Для JIT можно было бы перевернуть бит NX, прежде чем генерировать jitcode и помечать его как исполняемый... - person Boris Zbarsky; 12.03.2012
comment
Извините, что продолжаю беспокоить вас. Я использовал дескриптор памяти (mm_struct) Firefox и узнал расположение кучи. Далее я хочу узнать код расширения в куче. Должен ли я смотреть на исходный код Firefox? Я скачал исходный код, он кажется очень большим файлом, и я не знаком с исходным кодом Firefox. Не могли бы вы дать мне несколько указаний, где я могу найти эти внутренние структуры данных? Огромное спасибо! - person Fengwei Zhang; 13.03.2012
comment
Я понятия не имею, как добраться туда из кучи C. Точное место, где эти вещи будут жить в памяти, полностью зависит от того, что делает распределитель во время выполнения. Однако я предлагаю посмотреть, как работает интерпретируемый код... код расширения в куче не является машинным кодом. - person Boris Zbarsky; 13.03.2012