识别/调试负责 Windows 功能的代码部分

逆向工程 视窗
2021-07-10 13:52:23

当您开始在开始菜单中输入时,我正在尝试识别负责例如 Windows 中搜索功能的代码。识别实现该功能的文件/代码的一些通用方法是什么?

我的一些想法是:

  1. 检查 procmon 以确定您的操作是否导致任何事件并确定过程,然后可以从那里使用潜在的相应符号来查找适当的函数。

  2. 一旦我们有了相应的函数,看看是否可以在内核调试中在关联代码映射的地址中设置一个硬件断点。(当代码驻留在内核空间时很容易,对于用户空间功能,如果系统库映射到所有进程的相同虚拟地址,我们可能很幸运)

不确定以上是否是最佳/最有效的方法,欢迎任何其他想法

1个回答

procmon 可以帮助定位入口点或入口点

启动 procmon

删除所有过滤器

启用捕获

尝试在开始菜单中输入类似“turbox the t”的内容

停止捕捉

转到工具-> 文件摘要-> 扩展选项卡并展开通配符 (*) 条目

您可能会注意到此文件已在 PATH 路径中搜索过

单击一个条目,您可能会
在捕获启用和捕获禁用之间整个时间段内看到相关搜索

在此处输入图片说明

正如您在上图中看到的,与在
c:\windows\system32 文件夹中搜索有关的 6 个捕获

双击该条目将产生跨越 2 秒间隔的搜索,如下所示

在此处输入图片说明

然后您可以单击这些捕获中的任何一个以查看调用堆栈

如下

在此处输入图片说明