找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 8104|回复: 5

ring0 修改进程命令行参数

[复制链接]

8

主题

68

回帖

0

精华

钻石会员

积分
4115
发表于 2016-7-21 18:29:26 | 显示全部楼层 |阅读模式
需求:在驱动层去修改进程的命令行参数

我的想法:在驱动层设置 PsSetCreateProcessNotifyRoutineEx或者PsSetCreateProcessNotifyRoutine这个回调,
                 然后在回调里通过 EPROCESS得到PEB,然后修改 PEB->ProcessParameters->CommandLine 这个值


问题:
        1.我的想法有没有问题,在这个地方修改这个值,如果我添加的字符串超过它原本的字符串,没有问题
        2.各位大神,还没有其它更好的方法。

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2016-7-21 19:39:14 | 显示全部楼层
1、这个时候PEB似乎还没有初始化好,你拿不到什么数据的。
2、除了HOOK的方式,似乎暂时没有什么标准方法实现修改进程命令行参数。
3、如果长度比原来的长,拿你直接重新分配个内存就行了,这不是啥大问题。
1、2已被证伪。参考1171320344的回复。

1

主题

62

回帖

1

精华

铂金会员

积分
1486
发表于 2016-7-21 19:53:13 | 显示全部楼层
哈哈,TA大牛终于有说错的时候啦,其实这两个回调都可以改commandline的,ex貌似不支持<=xp


DbgPrint("--->%wZ\r\n", &peb->ProcessParameters->CommandLine);

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2016-7-24 02:16:33 | 显示全部楼层
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:在本站,“大牛”是骂人的词语,以后请勿使用。

1

主题

62

回帖

1

精华

铂金会员

积分
1486
发表于 2016-7-24 17:50:50 | 显示全部楼层
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水晶币 +10 收起 理由
Tesla.Angela + 10 回复同一个帖子直接把内容写一起即可。。。.

查看全部评分

8

主题

68

回帖

0

精华

钻石会员

积分
4115
 楼主| 发表于 2016-8-10 17:11:05 | 显示全部楼层
感谢各位人才
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表