Board logo

标题: [讨论]研究了下cmd.exe有很多新发现 [打印本页]

作者: electronixtar     时间: 2006-10-2 23:14    标题: [讨论]研究了下cmd.exe有很多新发现

用 记事本 打开 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

  Quote:
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

  Quote:
允许程序象在当前目录中那样打开指定目录中的数据文件。

APPEND [[drive:]path[;...]] [/X[:ON | :OFF]] [/PATH:ON | /PATH:OFF] [/E]
APPEND ;

  [drive:]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

  Quote:
在 DOS 系统上启用或停用命令行编辑

这在与 DOS 系统兼容的环境是可行的。它在 Windows XP 之下
并无作用;原因是命令行编辑总是处于启用状态。

verify

  Quote:
指示 cmd.exe 是否要验证文件是否已正确地写入磁盘。

ERIFY [ON | OFF]

要显示当前 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 ]
作者: liangbin     时间: 2006-10-2 23:31
沙发 
作者: electronixtar     时间: 2006-10-2 23:35
板凳~~~^_^
作者: redtek     时间: 2006-10-2 23:44
欣赏!!!
作者: lxmxn     时间: 2006-10-3 00:59
顶一个先

学习ing…………

作者: proof     时间: 2006-10-3 01:54
欣赏!!!



[ Last edited by proof on 2006-10-3 at 02:07 ]
作者: holyman     时间: 2006-10-25 10:14
不错是不错,不过好像刚起步,有效的信息不多
作者: electronixtar     时间: 2006-10-25 11:47
有人会反汇编吗?把cmd反汇编了看看有什么好东东?
作者: liangdezhi     时间: 2006-10-25 13:06
我用记事本打开多是乱码啊
求怎么打开啊?
谢谢~~~~~~~
作者: exipt     时间: 2006-10-25 15:02
沙发不知道这个cmd是不是XP2的用

还有就是这些AIP函数的具体用法能贴出来吗?感激

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

[ Last edited by exipt on 2006-10-25 at 03:04 PM ]
作者: electronixtar     时间: 2006-10-25 20:19


  Quote:
AIP函数的具体用法

MSDN上有详细说明啊,我贴出来也是 Ctrl+C Ctrl+V
作者: kingchain     时间: 2006-10-25 22:36
学习ING
作者: 6622186     时间: 2007-5-16 23:13
%pathext% 是环境变量啊. 从其值可以看出 .com 是优先于 .exe的, 使用这些文件的时候是不必加后缀的. 你可以添加 .txt, 这样在命令行输入.txt文件时不必加.txt.
作者: joinhoone     时间: 2007-5-17 09:46
看不懂。。不过在网吧破了CMD之后做啥呢。
作者: pjyhl82     时间: 2007-9-11 23:58
又学到东西了,感谢
作者: xx12212     时间: 2007-9-15 23:25
学习了一下.顶一个!
作者: lanpika     时间: 2007-9-16 01:27
...怎么一用记事本开就没有响应啊,唉…………
作者: sl543001     时间: 2010-3-17 16:48
好帖,顶起!