中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-25 10:47
中国DOS联盟论坛 » 贴图灌水、文学娱乐专区 » 微软员工内部命令,知道的人有几个? 查看 16,460 回复 70
16 发表于 2004-03-14 00:00 ·  中国 山东 烟台 福山区 联通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re All:

单就此帖的内容而言,确实是很有新意的。因为有很多人知道这么能用,但是想不到到这么用的。只是楼主的最后一段话,实在有欠思量,触犯众怒自是难免的了。

就楼主最后的问题来看,我觉得“终极战士”兄的思路是正确的,只不过实现方法上有欠考虑,对于exe文件或者其他二进制文件的编辑任务,切忌不可使用edit之类的文本编辑器,而必须使用专门的十六进制编辑器。

而依照楼主的思路,似乎此题也需用dos自带的命令,那么只有用debug了。下面给出我的方案,为了方案的简化,有些细节问题予以忽略。

注意:
以下出现的数字均为十六进制数,计算时也以此为准;
方括弧中的内容应该是个十六进制数值,在这里根据其表示的意义来加以命名,实际操作时需根据上下文替换成相应的值;
圆括弧中的内容为注释内容,实际操作时不应输入;


c:\windows>ren 3.exe 3.eee (修改程序的扩展名,避免debug对可执行程序的特殊处理)
c:\windows>debug 3.eee
-s 100 ffff "MZ" (在100至ffff范围内搜索MZ标志字)
: (显示匹配的地址)
:
.... (可能还会有一些)
-d (分别显示各个地址,根据显示内容确定第二程序的起始地址)
-d (此处假定在xxxx1处找到第二文件的起始地址Begin2)
-n 1.eee (创建文件1.eee)
-r cx (编辑文件长度)
CX (显示原文件3.eee的长度)
: (此处填入Begin2减去100后的值,即文件1.eee的长度)
-w (写入文件1.eee)
Writing bytes (显示写入的字节数)
-m ffff 100 (移动第二文件的内容到100起始处)
-h (用差值计算第二文件的长度)
(前面为和,后面为差,差即为第三文件减去第一文件的长度)
-n 2.eee (创建文件2.eee)
-r cx (编辑文件2.eee的长度)
CX (显示原文件1.eee的长度)
: (此处填入文件2.eee的长度)
-w (写入文件2.eee)
Writing bytes (显示写入的字节数)
-q (退出DEBUG)
c:\windows>ren 1.eee 1.exe (改回程序的扩展名)
c:\windows>ren 2.eee 2.exe







本帖最近评分记录 (共 3 条) 点击查看详情
评分人分数时间
ngd +1 2008-01-12 13:53
regvip2008 +2 2008-04-26 09:57
sl543001 +8 2010-08-15 23:31
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
17 发表于 2004-03-18 00:00 ·  中国 新疆 乌鲁木齐 电信
初级用户
积分 105
发帖 3
注册 2004-03-18 00:00
22年会员
UID 20464
性别 男
状态 离线
顶一下~
18 发表于 2004-04-14 00:00 ·  中国 广东 广州 越秀区 电信
初级用户
积分 156
发帖 17
注册 2004-03-08 00:00
22年会员
UID 19588
性别 男
状态 离线
楼上的高手,

DEBUG 对于你们来说是很容易的东西,对于我们这些没有汇编基础的人简直比登天还要难,

我试过由于用 DEBUG 乱试验, 使硬盘不能引导, 无法访问, 用尽天之数据恢复软件都无法恢复, (专业恢复除外). 所以我对 DEBUG 乱试验有点畏惧
Viruslib is a registered mark of Z..soft
19 发表于 2004-04-14 00:00 ·  中国 山东 济南 莱芜区 联通
高级用户
★★
积分 736
发帖 210
注册 2004-04-12 00:00
22年会员
UID 22336
性别 男
来自 中國
状态 离线
说出来,可不能胡说
20 发表于 2004-04-14 00:00 ·  中国 山西 运城 联通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re BOYBOYJACK:

使用DEBUG使硬盘不能引导,那很可能是改动了主分区的引导记录,因为此处内容可以通过简单的命令进行读写(L和W,具体见http://dos.e-stone.cn/dosbbs/dispbbs.asp?boardID=9&ID=10190),而硬盘主引导扇区由于必须通过硬盘直接读写中断INT13来访问,估计不会被你的“乱试验”所修改。

如此问题应该不会很大,XP下有故障恢复台和ERD,9X下有启动盘的SYS命令,都可以修复主分区的引导记录。

但如果你试验了某些调用中断的汇编指令,那么可能情况略微复杂一些。可以参考下文,看你属于哪一种情况,然后寻求解决方案。
http://dos.e-stone.cn/dosbbs/dispbbs.asp?boardID=6&ID=10091
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
21 发表于 2004-04-18 00:00 ·  中国 山东 东营 联通
初级用户
积分 110
发帖 5
注册 2004-04-18 00:00
22年会员
UID 22788
性别 男
状态 离线
笨笨狗软件原理就是如此.他首先分解了3.exe为1.exe,2.exe;尔后建立一个批处理,批处理的内容,就是copy/b 1.exe+2.exe 3.exe.至于debug,我也不是很懂.
22 发表于 2006-06-21 09:57 ·  中国 江苏 无锡 电信
新手上路
积分 14
发帖 7
注册 2006-06-19 13:49
20年会员
UID 57246
状态 离线
事隔很久,楼主都没有发言,看来楼主也不知道!
23 发表于 2006-06-21 14:05 ·  IANA 局域网IP(Private-Use)
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
20年会员
UID 42173
性别 男
状态 离线
反汇编copy试试

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
24 发表于 2006-06-21 15:15 ·  中国 上海 黄浦区 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
25 发表于 2006-06-30 12:23 ·  中国 上海 青浦区 电信
中级用户
★★
积分 326
发帖 70
注册 2003-01-10 00:00
23年会员
UID 718
性别 男
状态 离线
小儿科,年少的对DEBUG不够熟练,没关系,发个DOS下的E32给大家,可修改TXT及BIN文件,只要查找MZ(因为EXE文件通常都是这两个字符开始),复制、剪贴及保存即可,自得其乐。在DEBUG下操作怎么能算是内部员工命令?再说,如果程序中存在2个以上的MZ不知道你还屁癫屁癫否?另外告诉大家E32很好用,我用它编辑、修改硬盘的固件很实用,兼容性相当好!

[ Last edited by cnch on 2006-6-30 at 12:34 ]
附件
E32.rar (64.07 KiB, 下载附件所需积分 1 点, 下载次数: 118)
26 发表于 2006-06-30 12:28 ·  中国 江苏 苏州 电信
新手上路
积分 2
发帖 1
注册 2006-06-23 19:33
20年会员
UID 57471
状态 离线
小兒科, 拉雞
27 发表于 2006-07-01 16:59 ·  中国 四川 自贡 电信
初级用户
积分 20
发帖 9
注册 2006-06-12 03:06
20年会员
UID 56897
性别 男
状态 离线
实在是简单嘛

1.exe 和 2.exe 不都还在那嘛

把 3.exe 删了留下它俩嘛

楼主不要再隐了 真的有答案就说嘛 说完大家好痛扁你嘛
28 发表于 2006-07-01 17:05 ·  中国 四川 自贡 电信
初级用户
积分 20
发帖 9
注册 2006-06-12 03:06
20年会员
UID 56897
性别 男
状态 离线
顺便再说一句
要单靠标准的 DOS 内部命令完成这个 那是绝对不可能完美实现的
^^^^^^^^^^^^
肯定需要通过第三方(哪怕是MS出的 也算三方)软件帮忙

而且 即使通过第三方软件 也需要手工干预

因为 二进制文件里有可能出现不只一个 MZ 标记 智能划分只是个永远无法完美实现的梦想

当然 在 MZ 标记的基础上再加上加载点和重定位标记的判断的话 应该成功率更高

但是 顺便问问楼主 这样的搞法有什么用吗 打发无聊的时间还行
29 发表于 2006-07-01 17:08 ·  中国 四川 自贡 电信
初级用户
积分 20
发帖 9
注册 2006-06-12 03:06
20年会员
UID 56897
性别 男
状态 离线
顺便再说一句 我们需要对版主同志表示赞扬和崇敬

对这样无聊的几乎可算垃圾的贴子仍然采用认真负面的真诚态度去尝试解决问题

的确是一个负责的好版主的做法

赞一个!
30 发表于 2006-07-01 20:42 ·  中国 四川 成都 联通
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
20年会员
UID 42173
性别 男
状态 离线
给大家两个线索:

http://www.cn-dos.net/forum/viewthread.php?tid=9682&fpage=1&highlight=&page=1

http://www.cn-dos.net/forum/viewthread.php?tid=9732&fpage=1&highlight=

这两个帖子都是楼主发的,而且楼主在论坛转换之后也没有再上线过,留下的Email联系方式也失效了,可能这个thred会成为联盟的一大悬案

初步用baidu搜索了一下,楼主上wuyou,20cn,看雪,单片机,PXE启动相关的论坛,技术还是不错,应该不是乱说的

[ Last edited by electronixtar on 2006-7-1 at 20:52 ]

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
论坛跳转: