Bisakah EXE selalu diganti dengan COM?

53

Pratinjau

Perangkat lunak antivirus kami tidak mengizinkan saya untuk menyalin file EXE ke folder startup Windows 7 saya (misalnya calc.exe) karena itu file EXE

Jadi saya mengganti namanya menjadi file COM dan kemudian menyalinnya dan mengizinkannya (sangat profesional).

Dan tentu saja - calc.comberhasil.

Yang membuat saya bertanya (hanya untuk rasa ingin tahu):

Pertanyaan

Kapan program EXE tidak berjalan ketika diubah namanya menjadi COM? Hampir setiap file exe yang saya periksa berfungsi.

Saya ingin mengetahui bagian dalam mengapa dan mengapa tidak.

Royi Namir
sumber
42
Jangan menyalin file ke folder Startup - sebaliknya buat pintasan.
gronostaj
4
Ya, ini mungkin, Tapi seperti yang saya katakan, internal tertarik, saya. Bukan AV yang bodoh. :-)
Royi Namir
11
Anda juga dapat mengganti nama menjadi .scr (screensaver) dan ini akan berfungsi.
pjc50
2
Itu bukan AV bodoh (selain tidak mengerti bahwa file dengan ekstensi com masih dapat diartikan sebagai file PE). Anda tidak boleh meletakkan executable di tempat-tempat yang mudah ditulis - idealnya, Anda hanya ingin administrator (dengan token administrator) diizinkan untuk menulis di direktori yang sama di mana Anda memiliki executable. Gunakan pintasan :)
Luaan
1
@Luaan Saya tidak melihat bagaimana mengecualikan EXE dan memungkinkan pintasan di Startup entah bagaimana lebih aman daripada mengizinkan EXE dan pintasan. Tampak sebanding dengan saya.
jrw32982 mendukung Monica

Jawaban:

10

Ini ada hubungannya dengan format internal file. File asli .com adalah gambar memori sederhana dan file .exe memiliki banyak header yang terkait dengannya. Akibatnya, Anda tidak dapat mengubah nama mereka. Seiring berjalannya waktu dan mereka harus membuat hal-hal yang kompatibel ke belakang, Microsoft mengubahnya sehingga OS melihat file itu sendiri untuk menentukan jenis file itu bukan ekstensi. Akibatnya ketika Anda menjalankan file berganti nama Windows mengabaikan ekstensi sepenuhnya. Lihat tautan di bawah untuk penjelasan yang lebih luas.

Pertanyaan serupa

Penjelasan blog Microsoft

Manusia Matematika
sumber
1
Wah. Siapa lagi yang memikirkan itu? ... UNIX / Linux.
Joe
1
@Suka. Setiap sistem yang telah tumbuh secara organik, ya. File COM ada jauh sebelum executable portabel, dan sangat baik untuk waktu yang cukup lama.
Luaan
@Luaan Tentu saja Anda benar. Saya membuat / menggunakan file com di CP / M (di mana 64k ram tidak pernah menjadi masalah bagi saya). Ini hanya menarik ketika satu OS menyalin sesuatu dari yang lain yang sudah benar untuk memulai - terutama ketika mereka meremehkannya begitu lama.
Joe
@Joe Menjadi penggemar Linux sendiri, saya suka cara menggunakan properti bukan ekstensi.
Math Man
Faktoid acak, tetapi file .COM aktual (MS-DOS dan CP / M asli) terbatas pada ukuran file satu segmen (64kb) karena gambar hanya langsung disalin ke dalam segmen dan dieksekusi. Semakin banyak yang Anda tahu, dll ...
0x90h