Как вставить bat файл в картинку

Обновлено: 06.07.2024

Я хочу скрыть файл bat или его команды в файле изображения, чтобы при открытии изображения выполнялись команды в файле bat.

4 ответа

Предполагая, что вы говорите специально для платформы Windows (что с "пакетными" файлами), вы не можете.

Пакетные файлы анализируются, а не компилируются, поэтому файл изображения с пакетным процессом все равно будет считываться как файл изображения.

Я действительно не могу подвести итог более ясно, чем вещи просто не работают, как это.

Однако, предполагая, что вы делаете этические действия, вы можете повторно связать, скажем, расширение.jpg, которое будет открыто с командной строкой, и поместить ваш пакетный скрипт в текстовый файл с расширением.jpg.

Просто последнее замечание: на подобные вопросы часто плохо смотрят участники Stackru просто потому, что вы вряд ли когда-либо пытаетесь достичь чего-то подобного с добрыми намерениями. Я не буду первым, кто тебя застрелит, но точно не буду последним.

Есть несколько способов, которыми один файл может содержать два разных потока данных, которые не зависят друг от друга и не мешают друг другу. Одним из часто цитируемых примеров этого является то, как можно добавить файл.zip в файл.jpg и при этом использовать функцию комбинированного файла в качестве файлов обоих типов, в зависимости от того, какое приложение открывает его. Этот трюк использует преимущества особого способа структурирования файлов jpeg и zip. Эти виды файлов сродни программе Polyglot.

Вы также можете рассмотреть возможность использования альтернативного потока данных, хотя в этом случае пакетный файл, возможно, не будет встроен в изображение.

После того как ваш пакетный файл внедрен, каким бы то ни было способом, вы должны найти способ заставить пакетный файл запускаться вместо - или в дополнение к - любому приложению для просмотра изображений, которое настроил пользователь.

Можно с уверенностью предположить, что обычный пользователь не ожидает, что файл, оканчивающийся на.jpg (например), откроет окно cmd.exe и начнет выполнять неизвестные инструкции. Windows Explorer, приложение, которое в большинстве случаев решает, какую программу запускать при двойном щелчке по определенному типу файлов, имеет нормальные значения по умолчанию (т. Е. Файл.jpg открывается с помощью приложения для просмотра изображений), хотя их можно изменить (хотя пользователи обычно не не меняйте эти нормальные значения по умолчанию на безумные настройки, такие как cmd.exe.)

Самый простой способ - написать собственную программу-обработчик и заставить ее стать обработчиком по умолчанию для типов файлов изображений. Я считаю, что все приложения-обработчики должны быть скомпилированы PE-приложение или файлы библиотеки ( .exe , .dll , .scr и т. д.), поэтому другой пакетный файл не будет работать здесь. Ваш пользовательский обработчик должен отменить встраивание, чтобы получить встроенный пакетный файл, а затем выполнить его с помощью cmd.exe.

Но если вам уже удалось заменить обработчик по умолчанию своим собственным кодом, то встроенный пакетный файл является спорным, поскольку ваш код уже запущен.

Я должен повторить то, что сказал @Di-0xide по этому вопросу. Если вы пытаетесь написать законное приложение, и это является частью вашего плана проектирования, то вам нужно вернуться к чертежной доске, потому что ни одно законное приложение никогда не должно делать такие вещи.

Читайте также: