发现Process Explorer 一个小Bug

发现Process Explorer 一个小Bug

说起 Process Explorer,没有哪个程序员没用过的吧。最近偶然发现Process Explorer一个小Bug,在此分享一下。

下面就具体说说这个BugWin + R打开Windows的运行对话框,输入 notepad,回车确认后,便打开记事本程序了。打开 Process Explorer,并在列表中双击 notepad 进程,会弹出一个对话框,里面显示着这个进程的详细信息,切换到 Image 标签项,在这里,我们可以看到程序的 Command Line,通常情况下,我们刚才打开的 notepad 程序的命令行为:"C:/Windows/system32/notepad.exe",正是我们程序的路径。

我们试着给 notepad 加入命令行,输入:notepad "C:/Users/huchao/Desktop/readme.txt",此时,如果此路径中,readme.txt存在的话,则会将此文件打开,从 Process Explorer 中可以看到命令行为:"C:/Windows/system32/notepad.exe" "c:/Users/huchao/Desktop/readme.txt",一切正常。

让我们再看一个例子,Bug 就出现在此,我们这样输入:"C:/Windows/system32/notepad.exe" "c:/Users/huchao/Desktop/查看.txt",在命令行中出现了中文,然后再用 Process Explorer 查看 notepad 进程的命令行,可以发现,Command Line 出现空白,什么都没有了,而在 Windows 中,中文命令行是可以接受的,用其他软件便可以查看到正常的命令行。

当然,我们还可以继续进行尝试,只要命令行中出现一个非英文字符,Process Explorer便无法显示整个命令行。

所以我们需要留意的是:

1、如果用户将我们的程序安装在中文路径下,分析命令行时稍微留意一下

2、某些恶意软件可能借此手段逃脱我们的分析

 

注:Process Explorer 10.0 Process Explorer 14.0 都存在此Bug

 

 

你可能感兴趣的:(c,windows,image,command)