|
[求助]minifilter怎么获取当前正在读写的文件和对应的进程信息?
hzqst PsReferenceProcessFilePointer+IoQueryFileDosDeviceName 没PsReferenceProcessFilePointer的系统自己想办法谢谢大牛,这个之前在CSDN上看到了,但是调试代码一调用PsReferenceProcessFilePointer就蓝屏,弄了半天不知道哪里有问题,所以后来放弃了。 https://my.oschina.net/simpower91/blog/4263121 copy了几个又臭又长的函数搞定了,但是实在看不顺眼啊。。。 |
|
[求助]minifilter怎么获取当前正在读写的文件和对应的进程信息?
MSGG05 https://oomake.com/question/857399 可以参照这个下面回复中的代码谢谢大佬,经过一番努力已经抓到了进程名路径了,但是ZwQueryInformationProcess查出来的路径是设备名,\Device\HarddiskVolume3\Windows\explorer.exe这种形式,怎么把它转成盘符呢?网上的方法都是遍历C盘到Z盘,把DOS路径转成设备路径然后逐一对比,这方法太傻了吧,而且兼容性堪忧,如果盘符分区大于26个可能会有异常,有没有啥API函数可以一步到位或者尽可能简洁点把设备路径转换成DOS路径? |
|
[求助]minifilter怎么获取当前正在读写的文件和对应的进程信息?
MSGG05 ZwQueryInformationProcess 参数 ProcessImageFileNameZwQueryInformationProcess —— 这个是在应用层调用的吧?现在是在驱动层,怎么调用ZwQueryInformationProcess呢? |
|
[求助]minifilter怎么获取当前正在读写的文件和对应的进程信息?
MSGG05 FltGetFileNameInformation FltGetRequestorProcess这两个应该更合理一些获取当前文件全路径已经实现了:IoVolumeDeviceToDosName获取卷标,FltObjects->FileObject->FileName获取路径,然后拼接在一起就是文件全路径。 获取进程全路径暂时还没搞定,PEPROCESS 能直接得到的只有进程文件名或者PID,网上有些方案是直接读PEB的偏移地址获取全路径,代码比较简洁但是是硬编码的,兼容性不太好。其他的方案都是长篇大论啰里啰唆,难道就没有一个简单点方法获取进程全路径吗? |
|
[求助]minifilter怎么获取当前正在读写的文件和对应的进程信息?
wx_0xC05StackOver PFLT_CALLBACK_DATA 中不是有processobject么 用 PsGetProcessId  ...PsGetProcessImageFileName得到的只有进程的文件名,不包括前面的路径部分,需求是获取进程全路径。 |
|
[求助]minifilter怎么获取当前正在读写的文件和对应的进程信息?
Lixinist 我也借楼问问, 怎么在IRP_MJ_CREATE的Pre函数里获取到当前操作的对象是个”文件“还是”文件夹“?FltObjects->FileObject->FileName 拿到文件对象后,可以判断最后是不是" \ ”结尾 |
|
[求助]minifilter怎么获取当前正在读写的文件和对应的进程信息?
LexSafe PEPROCESS objCurProcess = IoThreadToProcess( Data->Thread );测试好用,感谢大佬指点~~ |
|
进程保护,对Win10任务管理器”进程“选项卡无效?
搞定了,就是这样~看来还是得上ida。 “详细信息”中杀进程是调用Terminate,会被ObRegisterCallbacks拦截下来; “进程”中杀进程是先发送WM_CLOSE消息尝试正常结束,如果正常结束失败的话,再调用Terminate强杀进程。 所以除了在驱动层ObRegisterCallbacks做进程保护之外,在R3还得把WM_CLOSE消息拦下来,让任务管理器无法正常结束进程,也强杀不了进程。 |
|
进程保护,对Win10任务管理器”进程“选项卡无效?
经测试在“进程”中结束任务果然是向目标进程发送了WM_CLOSE消息尝试正常结束进程。不过钩住WM_CLOSE后还是被任务管理器杀掉了,不知道啥情况呀 |
|
|
|
[求助]minifilter怎么拦截进程启动参数?
看来还是得自己来解决: 内核PsSetCreateProcessNotifyRoutineEx创建进程时在CreateInfo会有父进程ID参数parenetId,把它传回给R3通过ProcessIdToSessionId得到父进程所在sessionID,再通过sessionID查到对应session的R3监听程序 |
|
如何读取PE区段中的.text数据
静态分析?加壳的pe搜索特征码就没用了,可能有N多个代码段、数据段 |
|
[求助]minifilter怎么拦截进程启动参数?
hzqst PsSetCreateProcessNotifyRoutineEx 修正回复,调整了一下似乎运行通过了。PsSetCreateProcessNotifyRoutineEx可以和minifilter一起使用,把minifilter的PreOperation和PostOperation置空不处理就可以了,不过这样的话就没有cookie了,不能分辨是与哪个客户端通信,实现上还是有缺陷。
最后于 2022-4-18 09:06
被碧水秋沙编辑
,原因:
|
|
[求助]minifilter怎么拦截进程启动参数?
fatcateatrat PsSetCreateProcessNotifyRoutine+PsGetProcessPEB经测试行不通,直接蓝屏了。PsSetCreateProcessNotifyRoutine返回类型是VOID,minifilter PreOperation的返回类型是FLT_PREOP_CALLBACK_STATUS,两者返回类型都不一样,如果在PsSetCreateProcessNotifyRoutine中调用fltsendmessage向R3发送消息,忽略不返回FLT_PREOP_SUCCESS_WITH_CALLBACK传递到下一层minifilter的话,直接蓝屏崩溃。 继续等待各路大侠们的解决方案。 |
|
[求助]minifilter怎么拦截进程启动参数?
fatcateatrat PsSetCreateProcessNotifyRoutine+PsGetProcessPEB 这个是我最开始用的方案,见这里,后来走不下去了才用的minifilter方案。 这个能和minifilter放在一起用吗?程序结构上似乎有些不太一样,minifilter主要是对PreOperation和PostOperation这些预操作和后操作函数做编程,PsSetCreateProcessNotifyRoutine分派函数得放到外面去了,不知道还能不能调用fltsendmessage这些flt的函数。我来试试。
最后于 2022-4-17 13:39
被碧水秋沙编辑
,原因:
|
|
[已解决] 怎么设置应用程序用system账号开机自启?
已经搞清楚原理并成功实现,再次感谢看雪的各位大侠们路见不平拔刀相助~~ |
|
[已解决] 怎么设置应用程序用system账号开机自启?
0346954 也可以用 WTSGetActiveConsoleSessionId获取当前活跃的sessionid 第一个问题,其实已经有了session 1了,在用户登录界面,你可以在登录后,用processex ...太6了~多谢大佬解答,似乎明白怎么回事了,晚上回去就试试,有问题再来请教 不愧“大侠”称号,救万民于水火,解百姓于倒悬,事了拂衣去,深藏功与名 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值