【发布时间】:2019-06-01 23:35:13
【问题描述】:
我正在尝试使用 C++ 编写一个简单的远程 shell,并且希望能够在执行命令之前解析命令,我的问题是 hStdInput 直接从 WSASocket 句柄获取输入,因此它会自动执行命令远程机器,有没有办法解析 hStdInput 并采取相应的行动?或者换一种方式?
这是一个代码sn-p:
sinfo.dwFlags = (STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW);
sinfo.hStdInput = sinfo.hStdOutput = sinfo.hStdError = (HANDLE)mySocket;
CreateProcess(NULL, Process, NULL, NULL, TRUE, 0, NULL, NULL, &sinfo, &pinfo);
WaitForSingleObject(pinfo.hProcess, INFINITE);
CloseHandle(pinfo.hProcess);
CloseHandle(pinfo.hThread);
【问题讨论】:
-
那么
hStdInput不要使用套接字句柄,而是附加管道,然后在处理后将内容从该管道传输到套接字