-
-
[原创](二)通过逆向PCHunter驱动学习64位 windows内核之 识别隐藏进程
-
发表于:
2018-6-4 20:32
10590
-
[原创](二)通过逆向PCHunter驱动学习64位 windows内核之 识别隐藏进程
相关链接:
[原创](一)通过逆向PCHunter驱动学习64位 windows内核之 精准定位
[原创](二)通过逆向PCHunter驱动学习64位 windows内核之 识别隐藏进程
-----------------------------------------------------------------------------------------------------------------------------------------------------
接第1篇,
根据
第1篇
的通信协议分析,
我在
功能派发断点 处下断,
下图红色位置:
再回到3环在PCHunter的进程栏目,
右键刷新功能显示,
在寄存器rbx所存地址中,
得到如下的协议内容:
在call rax 执行返回后,
查看Retbuffer中返回的内容如下图:
返回数据中:
绿色:进程数量
蓝色:进程的EPROCESS地址
EPROCESS后的字符串是镜像文件路径
返回3环,核实PCHunter结果显示
结果 显示数量相等
进程的
EPROCESS地址 和 路径也匹配上了
核对的结果证实,
定位目标功能函数的目的达到了.
定位
结果如下:
PCHunter进程功能的调用功能号是 15h
进程功能处理函数相对分发基址(g_srvfn), 下标为: 15h - 0fh+90dh = 913h
功能处理函数地址: 0xFFFFF88004AFC500.
下面开始分析功能函数的主要功能的具体实现代码
---------------------------------------------------------------------------------------------------------------------------------------------------------
功能处理函数代码
0xFFFFF88004AFC500
,
IDA F5还原的伪代码,
在我作了一些命名后如下图:
这个函数先在对用户层传入的buff起始地址通过
MmUserProbeAddress
作了用户层空间检测,
if语句块中ProbeForWrite函数再次对buff作了可写检查,
之后调用2个子函数来实现功能:
其中子函数2: GetProcess2_IDLE_exe()
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2018-7-22 00:57
被hjbfa编辑
,原因: