Разное - [решено] Переименовать EXE в BAT
-
PavlovAV
Разное - [решено] Переименовать EXE в BAT
Добрый день всем!
Только зарегистрировался, первый раз пишу, сильно не пинайте))
Сегодня узнал, что если переименовать файл *.exe в *.bat, то винда без проблем запускает его.
Пробовал на простенькой игрушке, типа пасьянса марьяж.
Как ни странно - работает.
Подскажите, это извращение?)))
PS история:
Техподдержка (сторонняя организация) обычно присылала запросы к БД Oracle в виде двух файликов, bat и sql,
но сегодня почему-то прислали exe с файлами параметров (sql-запросы).
Попросил прислать bat, они тупо переименовали и прислали тот же файл изменив его тип (размер и содержимое файла те-же).
Мне очень не хочется, чтобы присылали "не известно что", народ посоветовал фразу "пришлите файл с открытым кодом",
думаю что это единственный вариант.
Только зарегистрировался, первый раз пишу, сильно не пинайте))
Сегодня узнал, что если переименовать файл *.exe в *.bat, то винда без проблем запускает его.
Пробовал на простенькой игрушке, типа пасьянса марьяж.
Как ни странно - работает.
Подскажите, это извращение?)))
PS история:
Техподдержка (сторонняя организация) обычно присылала запросы к БД Oracle в виде двух файликов, bat и sql,
но сегодня почему-то прислали exe с файлами параметров (sql-запросы).
Попросил прислать bat, они тупо переименовали и прислали тот же файл изменив его тип (размер и содержимое файла те-же).
Мне очень не хочется, чтобы присылали "не известно что", народ посоветовал фразу "пришлите файл с открытым кодом",
думаю что это единственный вариант.
-
Iska
Re: Разное - [решено] Переименовать EXE в BAT
Цитата PavlovAV:
Подскажите, это извращение?)))
Нет. Считайте «фича».
P.S. Собственно, для возможности исполнения файла PE-формата расширение вообще не играет никакой роли — см. пример с методом «.RunApplication()» здесь:
Подскажите, это извращение?)))
Разное - [решено] Переименовать EXE в BAT
Нет. Считайте «фича».
читать дальше »
P.S. Собственно, для возможности исполнения файла PE-формата расширение вообще не играет никакой роли — см. пример с методом «.RunApplication()» здесь:
vbscript: некоторые интересные объекты Automation — Серый форум
.-
PavlovAV
Re: Разное - [решено] Переименовать EXE в BAT
Цитата Iska:
Считайте «фича».
Да какая это фича? Изврат полный
Цитата Iska:
Собственно, для возможности исполнения файла PE-формата расширение вообще не играет никакой роли
А если он без расширения и не имеешь понятия как выглядит заголовок того или иного файла, будешь долго думать чем открыть. Windows не умеет принимать решения с различными известными ему файлами, но отличными расширениями.
Например в Linux'е подсунь MP3 файл с расширением TXT или вообще без расширения, он тут же откроет его в проигрывателе и не будет "кочевряжится" с Блокнотом.
Windows к расширениям очень привязан (хотя BAT и CMD можно запустить. Они отрабатываются как исполняемые). Опять, те же "Лини" смотрят на содержимое заголовка, а не в "хвост" имени.
Цитата PavlovAV:
Мне очень не хочется, чтобы присылали "не известно что"
Если сами не можете определиться с содержимым файлов, воспользуйтесь программой
Считайте «фича».
Разное - [решено] Переименовать EXE в BAT
Да какая это фича? Изврат полный

Цитата Iska:
Собственно, для возможности исполнения файла PE-формата расширение вообще не играет никакой роли
Разное - [решено] Переименовать EXE в BAT
А если он без расширения и не имеешь понятия как выглядит заголовок того или иного файла, будешь долго думать чем открыть. Windows не умеет принимать решения с различными известными ему файлами, но отличными расширениями.
Например в Linux'е подсунь MP3 файл с расширением TXT или вообще без расширения, он тут же откроет его в проигрывателе и не будет "кочевряжится" с Блокнотом.
Windows к расширениям очень привязан (хотя BAT и CMD можно запустить. Они отрабатываются как исполняемые). Опять, те же "Лини" смотрят на содержимое заголовка, а не в "хвост" имени.
Цитата PavlovAV:
Мне очень не хочется, чтобы присылали "не известно что"
Разное - [решено] Переименовать EXE в BAT
Если сами не можете определиться с содержимым файлов, воспользуйтесь программой
-
yurfed
Re: Разное - [решено] Переименовать EXE в BAT
Цитата yurfed:
А если он без расширения и не имеешь понятия как выглядит заголовок того или иного файла, будешь долго думать чем открыть. Windows не умеет принимать решения с различными известными ему файлами, но отличными расширениями.
Это Вы про Проводник говорите. А я — именно про возможность исполнения файла.
Цитата yurfed:
Например в Linux'е подсунь MP3 файл с расширением TXT или вообще без расширения, он тут же откроет его в проигрывателе и не будет "кочевряжится" с Блокнотом.
Там, очевидно, основано на опросе внутренней структуры. С деталями не знаком.
А если он без расширения и не имеешь понятия как выглядит заголовок того или иного файла, будешь долго думать чем открыть. Windows не умеет принимать решения с различными известными ему файлами, но отличными расширениями.
Разное - [решено] Переименовать EXE в BAT
Это Вы про Проводник говорите. А я — именно про возможность исполнения файла.
Цитата yurfed:
Например в Linux'е подсунь MP3 файл с расширением TXT или вообще без расширения, он тут же откроет его в проигрывателе и не будет "кочевряжится" с Блокнотом.
Разное - [решено] Переименовать EXE в BAT
Там, очевидно, основано на опросе внутренней структуры. С деталями не знаком.
-
Iska
Re: Разное - [решено] Переименовать EXE в BAT
Цитата yurfed:
Если сами не можете определиться с содержимым файлов, воспользуйтесь программой
Да нет (русский язык - это чудо)))), с содержимым программы вопросов нет, не запускаю то что не известно - и все.
Тот же far, или встроенный в WinCmd просмотрщик показывает что внутри файла (с блокнотом сложнее, кодировка не та).
Странным был подход тех.поддержки, это и напрягло.
Вариантов 2: либо выпрошу исходные sql-файлы (батник сам дорисую), либо добьюсь чтобы прислали "читаемый" bat-файл (но тогда sql-файлы пусть нормальные шлют).
Вопрос-то был в следующем - с чего вдруг винда понимает, что переименованный файл (из exe в bat) является на самом деле exe-файлом, и все работает? Документировано ли это где-нибудь?
Да, не всегда это прокатывает (тот же ворд не заработает, т.к. сложный установщик, реестр задействован и т.п.), но на простеньких программках почему-то получается.
По сути - и txt можно открыть хоть вордом, хоть экселем - все будет читаемо, но наоборот - мало вероятно)))
Если сами не можете определиться с содержимым файлов, воспользуйтесь программой
Разное - [решено] Переименовать EXE в BAT
Да нет (русский язык - это чудо)))), с содержимым программы вопросов нет, не запускаю то что не известно - и все.
Тот же far, или встроенный в WinCmd просмотрщик показывает что внутри файла (с блокнотом сложнее, кодировка не та).
Странным был подход тех.поддержки, это и напрягло.
Вариантов 2: либо выпрошу исходные sql-файлы (батник сам дорисую), либо добьюсь чтобы прислали "читаемый" bat-файл (но тогда sql-файлы пусть нормальные шлют).
Вопрос-то был в следующем - с чего вдруг винда понимает, что переименованный файл (из exe в bat) является на самом деле exe-файлом, и все работает? Документировано ли это где-нибудь?
Да, не всегда это прокатывает (тот же ворд не заработает, т.к. сложный установщик, реестр задействован и т.п.), но на простеньких программках почему-то получается.
По сути - и txt можно открыть хоть вордом, хоть экселем - все будет читаемо, но наоборот - мало вероятно)))
-
PavlovAV
Re: Разное - [решено] Переименовать EXE в BAT
Цитата PavlovAV:
Вопрос-то был в следующем - с чего вдруг винда понимает, что переименованный файл (из exe в bat) является на самом деле exe-файлом, и все работает? Документировано ли это где-нибудь?
Формат ассоциаций запуска у них возможно одинаковый. Примерно что то так, только через CMD.EXE
Vadikan, прошу поправить если всё не так
Код:
Цитата PavlovAV:
По сути - и txt можно открыть хоть вордом, хоть экселем - все будет читаемо, но наоборот - мало вероятно)))
Word понимает формат TXT, блокнот - не понимает doc, rtf, docx и тд. Тут вроде всё понятно.
Ещё раз повторю - BAT, CMD запускаются через интерпретатор Cmd.exe.
Опять примерно
%SystemRoot%\system32\CMD.EXE %1
Вопрос-то был в следующем - с чего вдруг винда понимает, что переименованный файл (из exe в bat) является на самом деле exe-файлом, и все работает? Документировано ли это где-нибудь?
Разное - [решено] Переименовать EXE в BAT
Формат ассоциаций запуска у них возможно одинаковый. Примерно что то так, только через 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 можно открыть хоть вордом, хоть экселем - все будет читаемо, но наоборот - мало вероятно)))
Разное - [решено] Переименовать EXE в BAT
Word понимает формат TXT, блокнот - не понимает doc, rtf, docx и тд. Тут вроде всё понятно.
Ещё раз повторю - BAT, CMD запускаются через интерпретатор Cmd.exe.
Опять примерно
%SystemRoot%\system32\CMD.EXE %1
-
yurfed
Re: Разное - [решено] Переименовать EXE в BAT
Цитата PavlovAV:
Вопрос-то был в следующем - с чего вдруг винда понимает, что переименованный файл (из exe в bat) является на самом деле exe-файлом, и все работает? Документировано ли это где-нибудь?
Здесь:
Код:
Ваш «пакетный» файл отправляется на исполнение, где происходит разбор содержимого его заголовка, и он исполняется, как любой другой PE-файл.
Цитата PavlovAV:
Да, не всегда это прокатывает (тот же ворд не заработает, т.к. сложный установщик, реестр задействован и т.п.)
Однако, работает.
Цитата PavlovAV:
По сути - и txt можно открыть хоть вордом, хоть экселем - все будет читаемо, но наоборот - мало вероятно)))
Некорректное объяснение. У нас, фактически, всего-навсего сменён тип файла. Причём эта смена никак не влияет на метод запуска — в обеих разделах реестра однотипное содержимое в глаголе «Open». И только. В любом случае всё вращается вокруг
Вопрос-то был в следующем - с чего вдруг винда понимает, что переименованный файл (из exe в bat) является на самом деле exe-файлом, и все работает? Документировано ли это где-нибудь?
Разное - [решено] Переименовать EXE в BAT
Здесь:
Код:
Код: Выделить всё
HKEY_CLASSES_ROOT\batfile\shell\open\commandВаш «пакетный» файл отправляется на исполнение, где происходит разбор содержимого его заголовка, и он исполняется, как любой другой PE-файл.
Цитата PavlovAV:
Да, не всегда это прокатывает (тот же ворд не заработает, т.к. сложный установщик, реестр задействован и т.п.)
Разное - [решено] Переименовать EXE в BAT
Однако, работает.
Цитата PavlovAV:
По сути - и txt можно открыть хоть вордом, хоть экселем - все будет читаемо, но наоборот - мало вероятно)))
Разное - [решено] Переименовать EXE в BAT
Некорректное объяснение. У нас, фактически, всего-навсего сменён тип файла. Причём эта смена никак не влияет на метод запуска — в обеих разделах реестра однотипное содержимое в глаголе «Open». И только. В любом случае всё вращается вокруг
CreateProcess function (Windows)
.-
Iska
Re: Разное - [решено] Переименовать EXE в BAT
Цитата Iska:
Ваш «пакетный» файл отправляется на исполнение, где происходит разбор содержимого его заголовка
Логично))
СПАСИБО всем, закрываем.
PS в свое время в конец bmp скрытно дописывал свой текстовый лог
bmp при этом не страдал (паинтом читалось только начало файла, картинка открывалась нормально).
Ваш «пакетный» файл отправляется на исполнение, где происходит разбор содержимого его заголовка
Разное - [решено] Переименовать EXE в BAT
Логично))
СПАСИБО всем, закрываем.
PS в свое время в конец bmp скрытно дописывал свой текстовый лог
bmp при этом не страдал (паинтом читалось только начало файла, картинка открывалась нормально).
-
PavlovAV
Re: Разное - [решено] Переименовать EXE в BAT
Цитата PavlovAV:
PS в свое время в конец bmp скрытно дописывал свой текстовый лог
bmp при этом не страдал (паинтом читалось только начало файла, картинка открывалась нормально).
Для чего, зачем?
Вы наверно великий пакостник
PS в свое время в конец bmp скрытно дописывал свой текстовый лог
bmp при этом не страдал (паинтом читалось только начало файла, картинка открывалась нормально).
Разное - [решено] Переименовать EXE в BAT
Для чего, зачем?
Вы наверно великий пакостник

-
yurfed
Re: Разное - [решено] Переименовать EXE в BAT
Цитата yurfed:
Для чего, зачем?
Для чего, зачем?
Разное - [решено] Переименовать EXE в BAT
Rarjpeg — Lurkmore
и иже с ним. Но вряд ли. Скорее доморощенная стеганография.