W jaki sposób plik TMP może być wykonywalny i uruchamiany?

0

Program instalował się na komputerze, okno się nie zamykało, otworzyłem eksplorator procesów i przeciągnąłem „tarczę” eksploratora procesów na okno, aby zobaczyć, co to jest exe, i powiedział, że to

wprowadź opis zdjęcia tutaj

Zajrzałem do menedżera zadań i też go tam widzę

wprowadź opis zdjęcia tutaj

Jest to plik z rozszerzeniem tmp

jak to działa?

Polecenie pliku nix w stylu gnuwin32 pokazuje, że jest to plik wykonywalny (z rozszerzeniem tmp)

C:\Users\user\AppData\Local\Temp>file set4C29.tmp<ENTER>
set4C29.tmp; PE32 executable for MS Windows (GUI) Intel 80386 32-bit

C:\Users\user\AppData\Local\Temp>

Nadal jestem ciekawy, jak plik z rozszerzeniem .tmp może znajdować się w menedżerze zadań.

Nie miałbym nic przeciwko wiedzeniu, który plik go wykonał, choć nie mogę powiedzieć

Eksplorator procesów pokazuje na ten temat informacje. Wiem, że to nie jest złośliwe. Ale nigdy nie widziałem pliku tmp w menedżerze zadań, chciałbym wiedzieć, jaki mechanizm może się zdarzyć. A jeśli mogę powiedzieć, który program go tam uruchomił, bo nie udało mi się ręcznie uruchomić pliku z rozszerzeniem tmp jako wykonywalnego!

wprowadź opis zdjęcia tutaj

barlop
źródło
1
Jest to dość powszechne podczas instalacji. I kopiowane notepad.exedo notepad.tmpi okazało się, że mogę go uruchomić ze cmdz startpolecenia, albo po prostu przez wpisanie jego nazwy: to jeszcze znajdzie się w katalogu w PATHliście. Do tej pory odkryłem, że tylko explorernie działa.
AFH,
@AFH heh, masz rację, nawet start notepad.adziała. Możesz
udzielić
Czy próbowałeś użyć resmon -> CPU -> Powiązane uchwyty, aby sprawdzić, czy inny proces ma otwarty (wykonał go)?
DavidPostill
1
Rozszerzenia plików tak naprawdę nic nie znaczą, z wyjątkiem sytuacji, gdy aplikacje oczekują określonego rozszerzenia, więc nie ma wymogu, aby plik wykonywalny miał jakiekolwiek rozszerzenie, o ile powłoka wie, co zrobić z plikiem. Jak pokazał @AFH, dopóki powłoka może zostać poinformowana, że ​​„tak, to naprawdę jest plik wykonywalny, spróbuj” za pomocą startczasownika, wewnętrzny format pliku jest na ogół wystarczająco opisowy, aby mógł powiedzieć powłoce wszystko, czego potrzebuje wiedzieć, jak go uruchomić.
Frank Thomas
@DavidPostill tam coś, czego powinienem tam szukać? pastebin.com/raw.php?i=FZMG48Lb
barlop

Odpowiedzi:

4

Jest to dość powszechne podczas instalacji.

I kopiowane notepad.exedo notepad.tmpi okazało się, że mogę go uruchomić ze cmdz startpolecenia, albo po prostu przez wpisanie jego nazwy: to jeszcze znajdzie się w katalogu na liście PATH.

Do tej pory odkryłem, że tylko explorernie działa.

Innym niestandardowym rozszerzeniem wykonywalnym jest .scrwygaszacz ekranu.

AFH
źródło
chociaż brakuje ci wyjaśnienia, jakiej metody używa ... i jeśli istnieją inne rozszerzenia, które są automatycznie wykrywane
barlop
@barlop - Masz rację: byłem dość zajęty, kiedy napisałem odpowiedź, więc jej nie rozwinąłem, chociaż odpowiedź Karana poniżej dobrze wyjaśniła kontrole. Nie wyjaśniłem też, że dla plików wsadowych nie ma „magicznej liczby”, więc w przeciwieństwie do plików binarnych nie można skopiować ich do dowolnych rozszerzeń.
AFH,
cóż, to wciąż nie odpowiada na pytanie, które właśnie zadałem, o to, jakie inne pliki z „magicznymi liczbami” są rozpoznawane, np. może rozpoznawane są pliki COM (choć oczywiście powiedziałoby to coś w rodzaju błędu 16-bitowego, nawet jeśli był) i nie muszę tego testować.
barlop
@barlop - Przyzwyczajony do Linuksa, gdzie magiczne liczby (i bit wykonywalny) kontrolują sposób otwierania plików, nie badałem, czy zastępują one wszystkie niestandardowe rozszerzenia Windows. Pamiętam, że muszę zmienić nazwę .xpidodatków Firefoksa .zip, aby otworzyć się w moim programie obsługi ZIP, chociaż magiczne liczby mają wpływ na explorermenu kontekstowe. Nie próbowałem też zmieniać nazwy .exepliku, .cmdaby zobaczyć, jak Windows go obsługuje. Więc bez długich badań nie mogę udzielić ostatecznej odpowiedzi. Jeśli znajdziesz taki, bardzo chętnie go przeczytam, jako link w komentarzu lub nową odpowiedź.
AFH,
3

Eksplorator Windows nie zezwala na uruchamianie plików z losowymi rozszerzeniami (najprawdopodobniej ze względów bezpieczeństwa), ale z jakiegoś powodu cmd nie ma tego ograniczenia (zastanawiasz się, dlaczego?) I traktuje każdy plik o magicznej liczbie MZ w ASCII ( 4D 5A w trybie szesnastkowym) jako plik wykonywalny.

Możesz to łatwo przetestować za pomocą następujących poleceń:

echo MZ > abc.xyz
abc.xyz

Oczywiście Windows natychmiast narzeka, że ​​„aplikacja” jest nieprawidłowa, ale o tym dowodzi.

1

2)

Uwaga: Metoda VBScript Exec () zachowuje się tak samo jak cmd .

Karan
źródło
robi to tylko - pliki exe typu autoexecute z zagranicznymi rozszerzeniami? tzn. czy zrobiłby to dla innych typów, gdy plik ma rozszerzenie obce?
barlop