Pertanyaan Bagaimana saya bisa menjalankan (16-bit) .COM executable yang telah diubah namanya menjadi .COS?


Saya mencoba menjalankan beberapa program DOS 16-bit warisan dari standar DOS Windows XP prompt. Masalahnya adalah ekstensi file telah berganti nama dari .COM menjadi .COS dan mereka disimpan pada media read-only dan saya tidak dapat menyalinnya (lingkungan khusus).

Ada tips tentang cara memanggil file semacam itu meskipun ada ekstensi aneh? Jika mereka telah menjadi EXE 32-bit, itu tidak akan menjadi masalah menjalankannya bahkan tanpa ekstensi yang tepat, tetapi dengan file-file COM ini, saya tidak dapat menemukan cara untuk menjalankannya.


4
2018-03-02 13:56


asal


Anda harus menambahkan lebih banyak rincian tentang lingkungan, terutama tentang "lingkungan khusus" Anda. - Robert
Temukan cara untuk membakar salinan media baru. Mereka diciptakan dengan beberapa cara. - Ramhound


Jawaban:


Baik. Saya telah menemukan jawabannya. Saya pikir, bagaimanapun juga. Ini mengambil keuntungan dari fakta bahwa file DOS .COM hanya gambar biner dengan header 0x100 byte, dengan beberapa byte pertama menjadi JMP 0x0100 (semoga saya benar tentang itu) dan utilitas DOS lama debug yang ada di XP.

  • buka command prompt
  • cd ke direktori yang berisi file .COS
  • debug [memasukkan]
  • Anda sekarang di debug.exe prompt (hanya dash)
  • Mengetik n{name of your .COS file, including extension} - mengganti dengan tepat. Misalnya, untuk tipe FILE.COS nfile.cos, lalu [enter]
  • Mengetik l (untuk memuat) lalu [masuk]
  • Mengetik g (untuk pergi) lalu [masuk]

Beritahu aku bagaimana kelanjutannya. Saya dimuat C:\windows\system32\tree.com tapi ternyata itu benar-benar sebuah .EXE (mengatakan ini tidak dapat dijalankan dalam mode DOS). Semoga berhasil.

(BTW I hanya baca hal-hal tentang tree.com di sana, ups!)


4
2018-05-02 22:51



Yup, itu bisa melakukan trik. Tentu saja ini sangat menyakitkan dan beberapa batasan serius seperti tidak dapat dijalankan dari file batch atau Menjalankan dialog. Tidak bisa menyalinnya pasti membuat frustrasi bukan? :-( - Synetech


Lihat apa yang bisa saya lakukan :-) (hanya melakukan ini di kotak XP DOS):

C:\>md test

C:\>cd test

C:\test>xcopy c:\windows\system32\tree.com
C:\windows\system32\tree.com
1 File(s) copied

C:\test>md t1

C:\test>md t2

C:\test>tree
Volume in drive C is OSDisk
Volume Serial Number is 0006EFC4 9654:5A1E
C:.
├───t1
└───t2

C:\test>ren tree.com tree.cos

C:\test>tree.cos
Volume in drive C is OSDisk
Volume Serial Number is 0006EFC4 9654:5A1E
C:.
├───t1
└───t2

C:\test>ren tree.cos newname.cos

C:\test>newname.cos
Volume in drive C is OSDisk
Volume Serial Number is 0006EFC4 9654:5A1E
C:.
├───t1
└───t2

C:\test>

Yaitu. Anda jelas dapat mengeksekusi file cos jika Anda secara eksplisit memberi nama ekstensi pada prompt DOS.


4
2018-03-08 16:25



Nggak; itu adalah salah. Alasan yang berhasil adalah karena tree.com sebenarnya bukan file .COM, itu adalah file .EXE dengan .com ekstensi untuk kompatibilitas mundur (seperti hampir semua file .COM di Windows untuk beberapa versi sekarang). Jika itu adalah file .COM yang sebenarnya, itu akan dibuka dengan program "semua-file" default, atau jika tidak ada yang diatur, maka Anda akan diminta dengan Buka dengan kotak dialog. - Synetech
Benar. Keren. Uncool yang sederhana jenis tree.com mengungkapkan yang memiliki tanda tangan exe MZ. Doh. Jadi, apa jawaban yang benar? "Tidak semuanya"? - TheBlastOne


Tidak, saya khawatir bahwa tidak mungkin untuk melakukan apa yang Anda inginkan dalam situasi yang telah Anda gariskan. File yang dapat dieksekusi diperlakukan khusus (karena kemampuan mereka untuk menginfeksi suatu sistem), jadi Windows tidak akan membiarkan Anda menjalankan file lama sebagai file yang dapat dieksekusi.

Itu PATHEXT variabel lingkungan memberitahu Windows program apa yang "dapat dijalankan" dan dapat "dijalankan", tetapi ada batasan. Buka command-prompt dan tambahkan .cos untuk pathext dan mencoba menjalankan salah satunya .cos file:

> set pathext=.cos;%pathext%
> foobar.cos

Anda akan melihat bahwa program "semua file" default berjalan, atau jika tidak ada yang dikonfigurasi, bahwa Buka dengan dialog disajikan. Mengapa? Karena Windows membatasi apa yang bisa dijalankan untuk alasan keamanan. Anda harus bisa mendaftar .cos file sebagai dapat dieksekusi (seperti .py, .pl, dll.), meskipun demikian, itu tidak mungkin karena a .py atau .pl file sebenarnya hanya a dokumen yang dibuka oleh sebuah program, bukan yang sebenarnya dapat dieksekusi.

Pilihan lain mungkin untuk mencoba membuat asosiasi dimana Anda memberi tahu sistem itu .cos file adalah comfiles. Namun, tes cepat yang baru saja saya coba tidak berfungsi dan Windows mengeluh bahwa ini bukan file yang dapat dijalankan dan dikembalikan akses ditolak.


1
2018-05-02 21:09