![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-17 14:26 |
共 47,814 主题排行 / 349,907 发帖 / 今日 4 篇 / 48,259 会员排行 |
| DOS疑难解答 & 问题讨论 (解答室) » 如何将EXE或COM程序转为SYS格式? |
| 可打印版本 909 / 6 |
| 第1楼 Wengier | 发表于 2003-05-19 00:00 |
| 系统支持 发帖 10,521 积分 27,736 | |
|
如何将EXE或COM程序转为SYS格式? 请问大家,如何将EXE或COM格式的可执行程序转为SYS(设备驱动程序)格式以在CONFIG.SYS中用DEVICE命令加载(WRAPPER.SYS那种方法不算)?谢谢!
|
|
| 第2楼 Dark-Destroy | 发表于 2003-05-19 00:00 |
| 元老会员 发帖 3,551 积分 8,312 | |
|
EXE跟COM檔不是也可以在config.sys裡加載嗎??
|
|
| 第3楼 Wengier | 发表于 2003-05-19 00:00 |
| 系统支持 发帖 10,521 积分 27,736 | |
|
不行呀。EXE和COM程序通常是不能用DEVICE命令直接加载的。
|
|
| 第4楼 jmdjmy | 发表于 2005-11-09 14:46 |
| 初级用户 发帖 4 积分 112 | |
|
我也很想知道
|
|
| 第5楼 jmdjmy | 发表于 2005-11-09 14:47 |
| 初级用户 发帖 4 积分 112 | |
|
這么久了﹐肯定沒人答了
|
|
| 第6楼 willsort | 发表于 2005-11-09 18:13 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re Wengier:
不知道你现在还对此问题有兴趣否?找到了一些资料,如下: 链接:http://bbs.ee.ntu.edu.tw/boards/Programming/13/12.html ◇ Device driver 和 .EXE 合用法 -------------------------------------------------------------------------------- ------------------------------------------------------------------------- NCTU-CIS BBS `programming' 版 精華區 ■■■ Device driver 和 .EXE 合用法 ■■■ -------------------------------------------- 整理:william@cis_nctu ----- ------------------------------------------------------------------------- 發信人: elite.bbs@bbs.mgt.ncu ( ), 信區: programming 標 題: 問: Device Driver 是否可用 .EXE ??? 發信站: 中央資管龍貓資訊天地 (Fri Jul 29 16:23:35 1994) 轉信站: cis_nctu!news.cis.nctu!news.cc.nctu!news.csie.nctu!bbsroute!ncubbsrout 不曉得各位有沒有發現,在 Config.sys 裡 load 的 EMM386.EXE 副檔名是 .EXE 的, 而不是 .SYS,請問是如何做到的?我用一般的 .EXE 去載入會當掉。 而且 EMM386.EXE 也可以執行。為什麼呢? ============================================================================== 發信人: cschen@shts.seed.net.tw (Chih4-Shen1 Chen2), 信區: programming 發信站: TSD, III (Fri Jul 29 17:05:16 1994) 你所指的是所謂 installable device driver. 像這種檔案有一定的 format (好久前寫的, 詳細忘了, 要查書. 8^P), 和什麼檔名沒有關係. 有 .EXE 檔的檔頭, 又符合 device driver 的格式, 就兩種用法都可以了. ============================================================================= 發信人: steven@cis_nctu (*** Birdy ***), 信區: programming 發信站: 交大資科_BBS (Jul 29 21:03:07 1994) > I don't think you can RUN a normal DOS installable device driver. > Another question: do DOS/V and MS-DOS use the same installable device > driver format? 那檔案有兩個 entry point.. 就是這樣而已.... 有本 device driver 實務裡就有提到.... ============================================================================= 發信人: william@cis_nctu (OO/Win/Asm Master), 信區: programming 發信站: 交大資科_BBS (Jul 29 22:45:46 1994) 一兩年前為了替我寫的硬碟鎖加個這樣的功能, 曾用 Sourcer 反組譯 EMM386.exe 來看 (怕一般的電腦書籍太舊, 無法提供這個技巧) , 就把這招學會了, 試用結果 也很正常, 可放到 config.sys 中用 device= 或 DeviceHigh= 來啟動, 而想 debug 時就由 command line 來載入, 十分方便。 大致架構如下: ┌─────────────┐ │ Device Driver header │ ├─────────────┤ │ Device Driver codes │ ├─────────────┤ │main: │ │ EXE codes │ │ ... │ │ ... │ │ END main │ └─────────────┘ 這樣一來, 用 device= 來載入就會看到前兩個區塊而處理之, 而在 command line 中 載入則會以 main: 後面這一段為進入點。 ============================================================================== 發信人: PowerCC.bbs@bbs.ntu (咆蛙俊), 信區: programming 發信站: 台大電算中心 BBS (Mon Aug 1 16:39:18 1994) Yeah, it sounds good, but, but... I remember that *.SYS files must define its header relative to an ABSOLUTE offset. Doesn't the *.EXE segments and headers (PSPs) mess up the offsets required by Microsoft? I'll go try it, anyway. Sounds interesting. ============================================================================== 發信人: elite.bbs@bbs.mgt.ncu ( ), 信區: programming 發信站: 中央資管龍貓資訊天地 (Mon Aug 1 20:27:35 1994) ==> 發信人: kuli.bbs@csie.nctu (ku li), 信區: Program > exe 載入是從 seg:0 放起, psp 是 exec 才會造出來, 用 device 掛好像不會, > 而 exe head 並不會載入記憶體 exe 載入不一定由 seg:0 開始,IP 可在任意位置。 有一個問題再問:不會載入 Header,那可用 call far 或 jmp far 嗎? ============================================================================== 發信人: william@cis_nctu (OO/Win/Asm Master), 信區: programming 發信站: 交大資科_BBS (Aug 1 22:52:29 1994) > Yeah, it sounds good, but, but... I remember that *.SYS files must define > its header relative to an ABSOLUTE offset. Doesn't the *.EXE segments and > headers (PSPs) mess up the offsets required by Microsoft? .EXE 的檔案有個檔頭, 但是若是用 device= 載入時, DOS 會自動先跳過那一段 EXE header, 而直接處理 SYS header 的部份。看樣子 DOS會先檢查副檔名, 若 是 SYS就直接處理, 若是 EXE 就先跳過 EXE 檔頭... 我本來也沒想到這一招, 是反組譯 EMM386.exe 後才推測出來的, 不知何時 M$ 搞出這一個手法的 (誰有興趣考古的? 或是哪本書上有提? ) 。 至於用 device= 載入的程式, 用 debug 觀察的結果, 在記憶體中沒有 PSP, 而且只有一份 MCB 而已, 該 MCB 是以 `D' 開頭。這些都是和 EXE 型式不同 之處。 |
|
| 第7楼 本是 | 发表于 2005-11-19 17:03 |
| 银牌会员 发帖 790 积分 2,227 | |
|
我做了一个“汉字字模载入.SYS与.EXE多功能合一版!”(http://www.cn-dos.net/forum/viewthread.php?tid=17591&pid=105238&page=2&sid=b8jlta#pid105238)。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |