请问一下在windows操作系统下哪个命令或者API能做到将程序与系统进行隔离

痞子灬熊 2018-12-07 05:35:58
小生如今打算用QT写一个判题系统,就是客户端给服务端发送代码然后服务端进行编译运行处理。
编译功能很好写,已经写好了,但是运行的时候突然出现了一些问题。
如果程序是个病毒的话,直接运行岂不是服务器要GG。。。
百度了很多,要么看的不是很透彻,要么就是一些不相干的。。。
我现在调用CreateProcess这个API进行调用程序,所以就想到了这几个问题:
1.有没有一种API或指令能将程序与系统进行隔离
2.有没有一种API或指令能将程序输出的参数调出来。

谢谢大佬了!!!
...全文
1649 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 33 楼 赵4老师 的回复:
难道windows下不能用脚本命令启动虚拟机并控制在虚拟机中启动指定进程?
我也是最近弄jenkins弄的晕了,其实想想windows也是可以的。
痞子灬熊 2018-12-11
  • 打赏
  • 举报
回复
引用 33 楼 赵4老师 的回复:
难道windows下不能用脚本命令启动虚拟机并控制在虚拟机中启动指定进程?
我觉得是可以的,不过我并没有在网上找到相关的API文档,只有在windows核心编程里学到过
痞子灬熊 2018-12-11
  • 打赏
  • 举报
回复
引用 27 楼 qq_44038042 的回复:
这个怎么发图啊这个我会
兄弟兄弟加好友!2907990037!
痞子灬熊 2018-12-11
  • 打赏
  • 举报
回复
引用 26 楼 zjq9931 的回复:
[quote=引用 6 楼 痞子灬熊 的回复:] [quote=引用 5 楼 赵4老师 的回复:] 使用虚拟机?
不行,我这是在程序里调用另一个程序,开虚拟机咋开。。。[/quote] 虚拟机可以用jenkins操纵。 方法如下: 1.装jenkins服务器; 2.装虚拟机,建立jenkins节点,做快照; 3.真机上建立jenkins节点,用于还原虚拟机到指定的快照(命令行); 4.jenkins建立任务:还原节点(真机操作虚拟机),拷贝文件(虚拟机),编译(虚拟机),运行(虚拟机); [/quote]谢谢大佬,拿小本子记一下
qq_41764001 2018-12-11
  • 打赏
  • 举报
回复
docker
赵4老师 2018-12-11
  • 打赏
  • 举报
回复
难道windows下不能用脚本命令启动虚拟机并控制在虚拟机中启动指定进程?
ooolinux 2018-12-11
  • 打赏
  • 举报
回复
不是杀毒软件虚拟机脱壳的那种虚拟机?
一段formerly 2018-12-10
  • 打赏
  • 举报
回复
还是虚拟化比较好,在虚拟机里运行。
weixin_43980494 2018-12-10
  • 打赏
  • 举报
回复
沙盒模式??
qq_44038042 2018-12-10
  • 打赏
  • 举报
回复
这个怎么发图啊这个我会
  • 打赏
  • 举报
回复
引用 6 楼 痞子灬熊 的回复:
[quote=引用 5 楼 赵4老师 的回复:] 使用虚拟机?
不行,我这是在程序里调用另一个程序,开虚拟机咋开。。。[/quote] 虚拟机可以用jenkins操纵。 方法如下: 1.装jenkins服务器; 2.装虚拟机,建立jenkins节点,做快照; 3.真机上建立jenkins节点,用于还原虚拟机到指定的快照(命令行); 4.jenkins建立任务:还原节点(真机操作虚拟机),拷贝文件(虚拟机),编译(虚拟机),运行(虚拟机);
www_adintr_com 2018-12-10
  • 打赏
  • 举报
回复
docker
慧眼识狗熊 2018-12-10
  • 打赏
  • 举报
回复
还是要用一些自带的api函数的吧,怎么隔离
寂寞第五天 2018-12-09
  • 打赏
  • 举报
回复
使用应用程序对其进行限制
谁学逆向工程 2018-12-09
  • 打赏
  • 举报
回复
我觉得这种功能的API是不可能存在的,存在这种东西不合理,你想如果你的进程与系统隔离了,那Windows 轮流执行每个进程/线程的时候,怎么能找到你的程序,如果找不到那你的程序怎么能运行起来
weixin_44031036 2018-12-09
  • 打赏
  • 举报
回复
win10沙盒模式
https://www.windows10.pro/windows-defender-run-in-a-sandbox/
zanhno 2018-12-09
  • 打赏
  • 举报
回复
1. CreateProcessAsUser 搞低权限用户运行即可
2.命令行: runas /savecred /user:administrator C:\xx.exe
hzllcl 2018-12-09
  • 打赏
  • 举报
回复
1. CreateProcessAsUser 搞低权限用户运行即可。。

2.命令行的话是 runas /savecred /user:administrator C:\xx.exe
不过这个要控制台输入密码,不知道代码能不能自动输入密码
smwhotjay 2018-12-08
  • 打赏
  • 举报
回复
引用 7 楼 痞子灬熊 的回复:
[quote=引用 3 楼 smwhotjay 的回复:] 1. CreateProcessAsUser 搞低权限用户运行即可。。 2.命令行的话是 runas /savecred /user:administrator C:\xx.exe 不过这个要控制台输入密码,不知道代码能不能自动输入密码
哦哦,比如我搞了一个用API提高权限并关机的程序,CreateProcessAsUser能不能被避免关机?[/quote] 提权是个利用系统漏洞得到system,除了打补丁没有办法防的。搞个低权限用户应该不会有关机权限吧。 运行还要考虑恶作剧申请大内存,创建无限子程序耗内存直到用光内存,死循环耗cpu最终死机,死循环下载上传耗网卡流量。恶意操作太多了
赵4老师 2018-12-08
  • 打赏
  • 举报
回复
使用虚拟机?
加载更多回复(7)

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧