用 记事本 打开 cmd.exe 可以看到很多东西
首先是:
msvcrt.dll KERNEL32.dll NTDLL.DLL USER32.dll
说明cmd依赖这几个系统dll
接下来是个很关键的东西:
software\Policies\Microsoft\Windows\System
这里有几个注册表键值,干什么的呢?
在网上有很多技巧可以禁用cmd,特别是网吧里。很多管理员把cmd禁用了,因为cmd用处大危害大,但是这些管理员又没有直接把cmd.exe删除,而是把改名,或者在注册表改一个 策略 的设置,把cmd禁用了。cmd就是根据这些注册表键值来提示:命令行工具已被管理员禁用~~所以我们可以直接修改cmd.exe把这些键值改成别的,cmd不就可以用了嘛~~~
edit /80 C:\Windows\System32\cmd.exe
PageDown几次到Line 215,小心的按Insert键切换到替换模式,然后随便改上面说的 software\Policies\Microsoft\Windows\System 注册表路径的一个字母,cmd就解禁了,HOHO~~
接下来的乱码中有 for if assoc ftype 的一些字符串,例如我看到了 NEQ
然后有发现了cmd调用的几个Win32 API
SaferRecordEventLogEntry
ImpersonateLoggedOnUser
SaferCloseLevel
SaferComputeTokenFromLevel
SaferIdentifyLevel
RevertToSelf
RegQueryValueW
RegEnumKeyW
RegDeleteKeyW
RegSetValueW
RegCloseKey
RegQueryValueExW
RegOpenKeyW
RegSetValueExW
RegCreateKeyExW
CreateProcessAsUserW
RegOpenKeyExW
FreeSid
LookupAccountSidW
GetSecurityDescriptorOwner
GetFileSecurityW
ShellExecuteExW
SHChangeNotify
WNetCancelConnection2W
WNetGetConnectionW
WNetAddConnection2W
甚至cmd.pdb
接下来发现了几个神秘的内部命令
dpath
允许程序象在当前目录中那样打开指定目录中的数据文件。
APPEND path] ]
APPEND ;
path 指定要附加的驱动器和目录。
/X:ON 用附加的目录用于文件搜索和应用程序执行。
/X:OFF 将附加的目录仅用于打开文件的请求。/X:OFF 为默认
设置。
/PATH:ON 将附加的目录用于已经指定路径的文件请求。
/PATH:ON 为默认设置。
/PATH:OFF 关闭 /PATH:ON 的效果。
/E 在名为 APPEND 环境变量中存储一份附加目录列表。/E
只能在系统启动后第一次使用 APPEND 时使用。
键入 APPEND ; 来清除附加目录列表。
键入 APPEND 而不带参数来显示这个附加目录列表。
怎么现实的是append的帮助呢?
%cmdextversion%
扩展到cmd的版本?这个比较实用,呵呵
(后来发现这个东西在 if 的帮助文档里提到过,晕~~看书不仔细啊~~)
keys
在 DOS 系统上启用或停用命令行编辑
这在与 DOS 系统兼容的环境是可行的。它在 Windows XP 之下
并无作用;原因是命令行编辑总是处于启用状态。
verify
指示 cmd.exe 是否要验证文件是否已正确地写入磁盘。
ERIFY
要显示当前 VERIFY 设置,键入不带参数的 VERIFY。
%pathext%
显示的是
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
难道说是,脚本?
kcquax
这是什么东东呢?
fdpnxsatz
这个又是什么呢?
pprrw?
据汇编高手WQXQIQI说,Win2k源代码泄漏有cmd.exe,那个高手能研究下不?没想到cmd里的秘密这么多呢
再往下翻,可以看到unicode的很多错误信息,由于我在家里上网,没有高级工具,所以没法贴出来,大家可以看看
再往下翻,有很多零碎的字符,但是很有用。很多是内部命令的帮助信息
然后是 注册表 里有关cmd自启动、自动填充的特性的注册表键值
下次我会用反汇编、Win32PE结构来分析cmd.exe
Last edited by electronixtar on 2006-10-3 at 01:27 ]