解释Windows Native API调用参数



我正在分析一个基于其执行跟踪的可执行文件。已使用NtTrace工具获取执行轨迹。输出是带有参数的本机api调用序列。我已经设法解释了大多数API调用,除了以下那些:

NtQueryKey( KeyHandle=0x46a, KeyInformationClass=7 [KeyHandleTagsInformation], KeyInformation=0x312c4e0, Length=4, ResultLength=0x312c4dc [4] ) => 0
NtDeviceIoControlFile( FileHandle=0xbe4, Event=0xce8, ApcRoutine=null, ApcContext=null, IoStatusBlock=0x124cf2b0 [0/0xffc], IoControlCode=0x00012017, InputBuffer=0x124cf298, InputBufferLength=0x10, OutputBuffer=null, OutputBufferLength=0 ) => 0

NtQueryKey中,如何将KeyHandle=0x46a映射到实际的注册表项。此外,在NtDeviceIoControlFile中,基于IoControlCode=0x00012017可以发现它是否是TCP_RECV, TCP_SEND等…

谢谢。

来自Sysinternals(现在是Microsoft的一部分)的

Process Monitor将在显示注册表活动时显示实际的键路径。它还可以监视网络活动。

Sysinternals工具

只需在跟踪中查找打开该键处理的点。如果键是相对于另一个键打开的,则可能需要递归地重复此过程。将来,我建议使用来自sysinternals的procmon。

相关内容

  • 没有找到相关文章

最新更新