Случай, когда расширение Chrome взаимодействует с удаленным сервером (см. здесь ):
"расширения кейлоггера ... использовать контентные сценарии для регистрации обратных вызовов для событий нажатия клавиш ... с помощью API обмена сообщениями для связи с фоновой страницей ... фоновая страница затем помещает в очередь данные для отправки на удаленный сервер"
Меня интересует, как последний шаг выше работает:
- Фоновая страница (например, «backgroud.js») отправляет данные на удаленный сервер.
Я перечислю некоторые из моих опросов:
Расширения не ограничены SOP (та же политика происхождения). Если мы определим разрешение в manifest.json, мы можем использовать Cross-Origin XMLHttpRequest для связи с удаленным сервером. Например, (я вижу это из Chrome Developer )
{
"name": "My extension",
...
"permissions": [
"https://www.example.com/"
],
}
и
var data = new XMLHttpRequest();
...
data.open("GET", chrome.extension.getURL('...');
data.send();
Вопрос : Я хочу узнать больше (описание или пример кода), как расширения взаимодействуют с удаленным сервером? Является ли XMLHttpRequest единственным способом?
- Во избежание обнаружения некоторых злонамеренных расширений обычно используются разные методы запутывания, такие как шифрование, схемы кодирования и т. Д. Я хочу изучить некоторые примеры js-кодов, но пока не нашел.
Вопрос : Аналогично Вопросу 1, я хочу узнать больше (описание или пример кода)
** Не считать расширение заблокированным интернет-магазином Chrome. Я просто сосредотачиваюсь на том, как работает связь. **