首页
社区
课程
招聘
[求助]修改32位进程命令行参数时,进程直接结束问题
发表于: 2018-11-30 11:32 3443

[求助]修改32位进程命令行参数时,进程直接结束问题

2018-11-30 11:32
3443
求助大神!
Peb = PsGetProcessWow64Process(CurrentProcess);
KeAttachProcess(CurrentProcess);
if (NULL != Peb)
{
DbgPrint("This is 32bit\n");
ULONG32* param = (ULONG32*)*((ULONG32*)((ULONG32)Peb + 0x10));
PUNICODE_STRING32 commandline = (PUNICODE_STRING32)((ULONG32)param + 0x40);
commandline->MaximumLength += 50;
NTSTATUS Sta = RtlAppendUnicodeToString((PUNICODE_STRING32)commandline, (PUNICODE_STRING32)LockUrl);
DbgPrint("sta:0x%x\n", Sta); 
DbgPrint("command:%ws\n", commandline->Buffer);
}
KeDetachProcess();
命令行参数只打印出了进程的启动路径,添加的部分未打印出来。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 1036
活跃值: (1311)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
2
 山总 又是你吧
2018-11-30 11:53
0
雪    币: 4006
活跃值: (726)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
lockurl.....
2018-11-30 12:18
0
雪    币: 7559
活跃值: (5397)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
PUNICODE_STRING32肯定不能用在RtlAppendUnicodeToString  ,要加参数的话,要在目标进程申请一块内存初始化PUNICODE_STRING32当做是commandline,然后把commandline设置好,再覆盖到param->commandline
2018-11-30 12:44
0
雪    币: 7
活跃值: (1461)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
大神,能说的详细点吗?
2018-11-30 13:50
0
雪    币: 7
活跃值: (1461)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
lononan PUNICODE_STRING32肯定不能用在RtlAppendUnicodeToString ,要加参数的话,要在目标进程申请一块内存初始化PUNICODE_STRING32当做是commandl ...
问题解决了,wcsncat(cmdline->Buffer, L“12131313”, wcslen(L“12131313”));谢谢大神得帮助!
2018-12-3 14:45
0
雪    币: 8
活跃值: (104)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这年头做锁首页都这么放肆的么,你改长点保证有问题,还有你改这个过不掉360
2018-12-3 15:26
0
雪    币: 7
活跃值: (1461)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
MRRighter 这年头做锁首页都这么放肆的么,你改长点保证有问题,还有你改这个过不掉360
本人菜鸟,触怒大神还请原谅!
2018-12-4 09:19
0
游客
登录 | 注册 方可回帖
返回
//