Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Разное - [решено] Переименовать EXE в BAT

Ответить
Настройки темы
Разное - [решено] Переименовать EXE в BAT

Новый участник


Сообщения: 17
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день всем!

Только зарегистрировался, первый раз пишу, сильно не пинайте))
Сегодня узнал, что если переименовать файл *.exe в *.bat, то винда без проблем запускает его.
Пробовал на простенькой игрушке, типа пасьянса марьяж.
Как ни странно - работает.
Подскажите, это извращение?)))
PS история:
Техподдержка (сторонняя организация) обычно присылала запросы к БД Oracle в виде двух файликов, bat и sql,
но сегодня почему-то прислали exe с файлами параметров (sql-запросы).
Попросил прислать bat, они тупо переименовали и прислали тот же файл изменив его тип (размер и содержимое файла те-же).
Мне очень не хочется, чтобы присылали "не известно что", народ посоветовал фразу "пришлите файл с открытым кодом",
думаю что это единственный вариант.

Отправлено: 19:37, 07-04-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата PavlovAV:
Подскажите, это извращение?))) »
Нет. Считайте «фича».

читать дальше »
P.S. Собственно, для возможности исполнения файла PE-формата расширение вообще не играет никакой роли — см. пример с методом «.RunApplication()» здесь: vbscript: некоторые интересные объекты Automation — Серый форум.
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:04, 07-04-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для yurfed

Ветеран


Сообщения: 20046
Благодарности: 3123

Профиль | Отправить PM | Цитировать


Цитата Iska:
Считайте «фича». »
Да какая это фича? Изврат полный
Цитата Iska:
Собственно, для возможности исполнения файла PE-формата расширение вообще не играет никакой роли »
А если он без расширения и не имеешь понятия как выглядит заголовок того или иного файла, будешь долго думать чем открыть. Windows не умеет принимать решения с различными известными ему файлами, но отличными расширениями.
Например в Linux'е подсунь MP3 файл с расширением TXT или вообще без расширения, он тут же откроет его в проигрывателе и не будет "кочевряжится" с Блокнотом.
Windows к расширениям очень привязан (хотя BAT и CMD можно запустить. Они отрабатываются как исполняемые). Опять, те же "Лини" смотрят на содержимое заголовка, а не в "хвост" имени.
Цитата PavlovAV:
Мне очень не хочется, чтобы присылали "не известно что" »
Если сами не можете определиться с содержимым файлов, воспользуйтесь программой

Отправлено: 21:10, 07-04-2014 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата yurfed:
А если он без расширения и не имеешь понятия как выглядит заголовок того или иного файла, будешь долго думать чем открыть. Windows не умеет принимать решения с различными известными ему файлами, но отличными расширениями. »
Это Вы про Проводник говорите. А я — именно про возможность исполнения файла.

Цитата yurfed:
Например в Linux'е подсунь MP3 файл с расширением TXT или вообще без расширения, он тут же откроет его в проигрывателе и не будет "кочевряжится" с Блокнотом. »
Там, очевидно, основано на опросе внутренней структуры. С деталями не знаком.

Отправлено: 22:06, 07-04-2014 | #4


Новый участник


Сообщения: 17
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата yurfed:
Если сами не можете определиться с содержимым файлов, воспользуйтесь программой »
Да нет (русский язык - это чудо)))), с содержимым программы вопросов нет, не запускаю то что не известно - и все.
Тот же far, или встроенный в WinCmd просмотрщик показывает что внутри файла (с блокнотом сложнее, кодировка не та).
Странным был подход тех.поддержки, это и напрягло.
Вариантов 2: либо выпрошу исходные sql-файлы (батник сам дорисую), либо добьюсь чтобы прислали "читаемый" bat-файл (но тогда sql-файлы пусть нормальные шлют).
Вопрос-то был в следующем - с чего вдруг винда понимает, что переименованный файл (из exe в bat) является на самом деле exe-файлом, и все работает? Документировано ли это где-нибудь?
Да, не всегда это прокатывает (тот же ворд не заработает, т.к. сложный установщик, реестр задействован и т.п.), но на простеньких программках почему-то получается.
По сути - и txt можно открыть хоть вордом, хоть экселем - все будет читаемо, но наоборот - мало вероятно)))

Отправлено: 22:46, 07-04-2014 | #5


Аватара для yurfed

Ветеран


Сообщения: 20046
Благодарности: 3123

Профиль | Отправить PM | Цитировать


Цитата PavlovAV:
Вопрос-то был в следующем - с чего вдруг винда понимает, что переименованный файл (из exe в bat) является на самом деле exe-файлом, и все работает? Документировано ли это где-нибудь? »
Формат ассоциаций запуска у них возможно одинаковый. Примерно что то так, только через CMD.EXE
Vadikan, прошу поправить если всё не так
читать дальше »
Код: Выделить весь код
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.exe]
@="exefile"
"Content Type"="application/x-msdownload"

[HKEY_CLASSES_ROOT\.exe\PersistentHandler]
@="{098f2470-bae0-11cd-b579-08002b30bfeb}"

[HKEY_CLASSES_ROOT\exefile]
@="Application"
"EditFlags"=hex:38,07,00,00
"TileInfo"="prop:FileDescription;Company;FileVersion"
"InfoTip"="prop:FileDescription;Company;FileVersion;Create;Size"

[HKEY_CLASSES_ROOT\exefile\DefaultIcon]
@="%1"

[HKEY_CLASSES_ROOT\exefile\shell]

[HKEY_CLASSES_ROOT\exefile\shell\open]
"EditFlags"=hex:00,00,00,00

[HKEY_CLASSES_ROOT\exefile\shell\open\command]
@="\"%1\" %*"

[HKEY_CLASSES_ROOT\exefile\shell\runas]

[HKEY_CLASSES_ROOT\exefile\shell\runas\command]
@="\"%1\" %*"

[HKEY_CLASSES_ROOT\exefile\shellex]

[HKEY_CLASSES_ROOT\exefile\shellex\DropHandler]
@="{86C86720-42A0-1069-A2E8-08002B30309D}"

[HKEY_CLASSES_ROOT\exefile\shellex\PropertySheetHandlers]

[HKEY_CLASSES_ROOT\exefile\shellex\PropertySheetHandlers\PEAnalyser]
@="{09A63660-16F9-11d0-B1DF-004F56001CA7}"

[HKEY_CLASSES_ROOT\exefile\shellex\PropertySheetHandlers\PifProps]
@="{86F19A00-42A0-1069-A2E9-08002B30309D}"

[HKEY_CLASSES_ROOT\exefile\shellex\PropertySheetHandlers\ShimLayer Property Page]
@="{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}"


Цитата PavlovAV:
По сути - и txt можно открыть хоть вордом, хоть экселем - все будет читаемо, но наоборот - мало вероятно))) »
Word понимает формат TXT, блокнот - не понимает doc, rtf, docx и тд. Тут вроде всё понятно.
Ещё раз повторю - BAT, CMD запускаются через интерпретатор Cmd.exe.
Опять примерно
%SystemRoot%\system32\CMD.EXE %1

-------
Хочу ли я - Могу ли я - Говно ли я - Магнолия


Последний раз редактировалось yurfed, 07-04-2014 в 23:43.

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:28, 07-04-2014 | #6


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата PavlovAV:
Вопрос-то был в следующем - с чего вдруг винда понимает, что переименованный файл (из exe в bat) является на самом деле exe-файлом, и все работает? Документировано ли это где-нибудь? »
Здесь:
Код: Выделить весь код
HKEY_CLASSES_ROOT\batfile\shell\open\command
Ваш «пакетный» файл отправляется на исполнение, где происходит разбор содержимого его заголовка, и он исполняется, как любой другой PE-файл.

Цитата PavlovAV:
Да, не всегда это прокатывает (тот же ворд не заработает, т.к. сложный установщик, реестр задействован и т.п.) »
Однако, работает.

Цитата PavlovAV:
По сути - и txt можно открыть хоть вордом, хоть экселем - все будет читаемо, но наоборот - мало вероятно))) »
Некорректное объяснение. У нас, фактически, всего-навсего сменён тип файла. Причём эта смена никак не влияет на метод запуска — в обеих разделах реестра однотипное содержимое в глаголе «Open». И только. В любом случае всё вращается вокруг CreateProcess function (Windows).
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:45, 07-04-2014 | #7


Новый участник


Сообщения: 17
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Ваш «пакетный» файл отправляется на исполнение, где происходит разбор содержимого его заголовка »
Логично))
СПАСИБО всем, закрываем.
PS в свое время в конец bmp скрытно дописывал свой текстовый лог
bmp при этом не страдал (паинтом читалось только начало файла, картинка открывалась нормально).

Отправлено: 00:37, 08-04-2014 | #8


Аватара для yurfed

Ветеран


Сообщения: 20046
Благодарности: 3123

Профиль | Отправить PM | Цитировать


Цитата PavlovAV:
PS в свое время в конец bmp скрытно дописывал свой текстовый лог
bmp при этом не страдал (паинтом читалось только начало файла, картинка открывалась нормально). »
Для чего, зачем?
Вы наверно великий пакостник

-------
Хочу ли я - Могу ли я - Говно ли я - Магнолия


Отправлено: 00:39, 08-04-2014 | #9


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата yurfed:
Для чего, зачем? »
Rarjpeg — Lurkmore и иже с ним. Но вряд ли. Скорее доморощенная стеганография.

Отправлено: 00:55, 08-04-2014 | #10



Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Разное - [решено] Переименовать EXE в BAT

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
переименовать shutdown.exe Raman Microsoft Windows NT/2000/2003 3 06-09-2013 09:45
создать EXE из BAT ya.dever Хочу все знать 10 04-12-2012 14:39
Разное - Изменение, редактирование .exe .bat by_gangster Программирование и базы данных 1 03-03-2012 17:20
CMD/BAT - [решено] Bat в exe Odessa780 Скриптовые языки администрирования Windows 3 22-07-2011 16:25
CMD/BAT - [решено] Переименовать файлы в подпапках посредсвам bat I_Swift Скриптовые языки администрирования Windows 2 07-06-2011 19:37




 
Переход