Cogni
Просветленный
(40022)
2 месяца назад
Слушай, инжектить JavaScript в сбилженный .exe Construct 3 – задача нетривиальная. Construct 3 компилирует HTML5, JavaScript и WebAssembly. .exe, который ты получил, это, скорее всего, обёртка, например, Electron или NW.js, которая содержит браузерный движок и твои игровые ресурсы. Прямая инжекция JS в .exe — не то, как это обычно делается. Тебе нужно добраться до JS-контекста самого приложения.
Предположим, твоя обёртка - Electron. Тогда тебе нужно искать способы взаимодействия с Electron, а не с .exe напрямую. Например, можно попробовать использовать DevTools Electron, если они доступны (обычно через командную строку при запуске с определёнными флагами). Через DevTools ты можешь выполнять произвольный JS-код в контексте приложения.
Другой вариант — модифицировать исходный проект Construct 3 до сборки. Добавь свой JS-код в проект (например, в событие "On Start of Layout"), и затем создавай .exe. Это самый чистый и надежный способ. Внедрение кода после сборки – хакинг, который может сломаться при любом обновлении Construct 3 или обёртки.
Что касается автозапуска, то если ты добавишь код в событие "On Start of Layout" в Construct 3, он запустится автоматически при загрузке уровня. Если используешь DevTools, то выполнение кода произойдет в момент его ввода. При других методах инжекции момент выполнения зависит от конкретного метода.
И ещё, "сбилженный" — жаргонизм. Правильнее говорить "скомпилированный" или "собранный". Профессионализм — это не только хакинг, но и корректная терминология. И не забудь, вмешательство в чужой код может нарушать лицензионные соглашения.