不使用Windows服务?有可能吗?

#1 楼

可能通过以下方式进行:

1)使用Windows服务的一些现有接口,该接口在SYSTEM帐户下运行,以由该服务启动新进程。例如,您可以使用Task Scheduler API。

2)您可以安装新的Windows服务,通过该服务启动进程,停止该服务,卸载该服务。 3)您可以启用Debug Privilege并使用DLL注入将自定义DLL注入在以SYSTEM帐户运行的进程中,从DLL启动新进程,然后从DLL中启动PsExec实用程序。然后卸载注入的DLL。

评论


PsExec创建Windows服务来执行此操作。最后,在中间和临时Windows服务的帮助下,我也设法做到了这一点。 -在系统下启动应用程序时,我删除了该服务。

–触觉
2011年3月17日9:28



@tactoth:是的,我知道这一点。我最好还是看一下所有工作方式,就像写所有内容的详细描述一样。我发现临时服务的安装方式非常酷并且非常灵活。

–奥列格(Oleg)
2011-3-17在9:57

关于卸载注入的DLL。有必要吗?因为目标进程将崩溃。对 ?

–RepeatUntil
16年6月28日在20:51

@RepeatUntil:为什么目标进程应该崩溃?在某些特定的DLL中可能是问题所在,但这不是常见情况。无论如何,我在多年前编写的一些旧程序中使用了该方案,并且卸载先前注入的DLL时没有问题。

–奥列格(Oleg)
16-6-28在21:24



#2 楼

看到Windows内核是Windows的一部分,对吧……这意味着如果不使用WINDOWS的一部分就无法在WINDOWS上做任何事情(您至少需要内核)。

无论如何,您都可以编写您的拥有自己的系统代码..即OS,以便尝试一些大的事情,这显然会花费您至少一年半的时间,如果您是一个非常非常好的程序员,那也是。 :D

是的,如果有兴趣在那一年半的时间里花钱,请告诉我我的意思。

评论


什么?这与问题无关。 SYSTEM是本地计算机上的一个帐户,操作系统在内部使用该帐户来运行系统进程和Windows服务。没有人试图在不使用Windows一部分的情况下运行Windows,更不用说编写一种全新的操作系统了。

–科迪·格雷♦
2011-2-16在0:06