ring0 修改进程命令行参数
需求:在驱动层去修改进程的命令行参数我的想法:在驱动层设置 PsSetCreateProcessNotifyRoutineEx或者PsSetCreateProcessNotifyRoutine这个回调,
然后在回调里通过 EPROCESS得到PEB,然后修改 PEB->ProcessParameters->CommandLine 这个值
问题:
1.我的想法有没有问题,在这个地方修改这个值,如果我添加的字符串超过它原本的字符串,没有问题
2.各位大神,还没有其它更好的方法。
1、这个时候PEB似乎还没有初始化好,你拿不到什么数据的。
2、除了HOOK的方式,似乎暂时没有什么标准方法实现修改进程命令行参数。
3、如果长度比原来的长,拿你直接重新分配个内存就行了,这不是啥大问题。1、2已被证伪。参考1171320344的回复。 哈哈,TA大牛终于有说错的时候啦,其实这两个回调都可以改commandline的,ex貌似不支持<=xp
DbgPrint("--->%wZ\r\n", &peb->ProcessParameters->CommandLine); 1171320344 发表于 2016-7-21 19:53
哈哈,TA大牛终于有说错的时候啦,其实这两个回调都可以改commandline的,ex貌似不支持ProcessParameters->Com ...
PS_CREATE_NOTIFY_INFO的commandline的类型是PCUNICODE_STRING,知道为啥带个C吗?
此外,改COMMANDLINE不难,难在让COMMANDLINE生效懂么?比如【notepad A.TXT】修改COMMANDLINE为【notepad B.TXT】,那么要在NOTEPAD.EXE运行的时候,打开的是B.TXT而不是A.TXT。我当时做这个测试是没成功的。
如果不服,那就请1171320344大牛直接放一份在createprocessnotify(ex)里修改COMMANDLINE的代码?放出来我给你加高亮加精华和加100水晶币。
PS:在本站,“大牛”是骂人的词语,以后请勿使用。 Tesla.Angela 发表于 2016-7-24 02:16
PS_CREATE_NOTIFY_INFO的commandline的类型是PCUNICODE_STRING,知道为啥带个C吗?
此外,改COMMANDLINE不 ...受教了
http://www.m5home.com/bbs/thread-8855-1-1.html 这是小弟的帖子,哪里有不足的地方,望TA指出来,说实话,小弟从事内核这块不到一年,经验不足,前辈们多多包涵 感谢各位人才
页:
[1]