5

Есть ли способ поиска исполняемых файлов в Windows, когда он был переименован? Скажем, файл .exe был переименован в расширение .txt или .jpeg.

4 ответа4

7

Вы можете использовать file утилиту Unix, которая может сказать вам, на чем основан файл. Вам понадобится либо среда Cygwin, либо пакет win32-портов, такой как GnuWin32 или UnxUtils.

Вот как работает file :

# previously, e.exe was renamed to e.jpg
$ file e.jpg
e.jpg: MS-DOS executable PE  for MS Windows (console) Intel 80386 32-bit

Очевидно, вы должны дать file имя файла (или список имен файлов) в качестве аргумента (ов). Вы можете сделать это с помощью команды find если вы точно знаете, где должен находиться файл, используя команду find и имя папки:

$ find <foldername> -type f -print0 | xargs -0 file

Если вы объедините это с grep , вы можете удалить неисполняемые файлы:

$ find e-0.02718 -type f -print0 | xargs -0 file | grep executable
e-0.02718/e.jpg:          MS-DOS executable PE  for MS Windows (console) Intel 80386 32-bit
e-0.02718/e.linux:        ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), stripped
e-0.02718/e.sun4u56:      ELF 32-bit MSB executable, SPARC, version 1 (SYSV), dynamically linked (uses shared libs), stripped
e-0.02718/EXAMPLES:       Bourne shell script text executable
e-0.02718/makefile:       script text executable for make -f

Cygwin и GnuWin32 предоставляют file и команды find (через пакеты file и findutils ).

UnxUtils включает в себя find , но я не могу убедиться, что команда file включена. Пакет, похоже, не поддерживается, поэтому GnuWin32, вероятно, является лучшим вариантом.

0

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

0

Если я тебя понимаю, хорошо, нет.

Тем не менее, вы можете найти имя файла ...

Кстати: почему вы могли бы изменить расширение EXE на TXT, JPEG или около того? В этом нет никакого преимущества, и это приведет к тому, что в txt появится куча неиспользуемых символов, а jpeg - «не может открыться».

(Я бы изменил ваши теги, используйте что-то вроде «exe» или «search»

0

Я бы просто сделал поиск, используя достаточно конкретную часть в целевом файле (который, по-видимому, известен в этом случае); это может быть очень медленно, в зависимости от объема обрабатываемых данных, но теоретически не более чем любое решение, которое определенно распознает EXE-файлы в соответствии с их содержанием. Тем не менее, он может не работать с Windows Explorer, поскольку поиск внутри файлов возможен только для ограниченного диапазона расширений (например, я пытался найти определенную часть диалога в файлах субтитров SRT, но не смог найти совпадение, но все же был действительно файл, содержащий соответствующую часть).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .