首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >中断Win32 32-API检查进程的行为

中断Win32 32-API检查进程的行为
EN

Stack Overflow用户
提问于 2017-01-16 06:38:38
回答 1查看 143关注 0票数 0

我正在调试“用于窗口的智能for”。我想知道它如何调用'git‘(命令它传递给git)。我开始与和附加的过程的智能the。

我怀疑它通过windows管道与git通信,以及其他API(如ReadFileWriteFile等),因此在这些函数上设置断点。

在设置了一些选项后,我在符号设置中勾选“仅我的代码”并删除所有排除模块,然后我下载符号。我可以确保“Kernel32.pdb”被加载。'smartgit.exe' (Win32): Loaded 'Q:\Program Files (x86)\SmartGit\bin\smartgit.exe'. Module was built without symbols. 'smartgit.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Symbols loaded. 'smartgit.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Symbols loaded. 'smartgit.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Symbols loaded. 'smartgit.exe' (Win32): Loaded 'C:\Windows\SysWOW64\user32.dll'. Symbols loaded.

_ReadFile@20: 765EF0C0 8B FF mov edi,edi

765EF0C2 55 push ebp

765EF0C3 8B EC mov ebp,esp

765EF0C5 6A FE push 0FFFFFFFEh

765EF0C7 68 C0 52 68 76 push 766852C0h,但在触发bps时,我仍然得到了disasm代码视图。我很安静,我已经勾选了“显示源代码”选项。

为什么?以及如何查看ReadFile的C代码,我想知道它(Smartgit)读写的内容。所以我通过lpBuffer进行检查。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-16 09:55:22

不包含源代码的pdb文件。它可以包含如何将RVA地址映射到源文件/行的信息。但是,只有当您有此源文件时,此信息才会有用。因为您没有windows系统dll的源文件(ntdll、kernel32、kernelbase.)您不能在调试器中查看它的c/c++代码。通常有关源文件/行的信息从system中删除--因为源文件无论如何都不存在供下载。但是使用pdb文件,您可以查看内部函数和符号名称(不仅仅是导出的符号)--这对调试非常有帮助。

以防万一ReadFile -为您所需的源代码在这里?当您可以在第一条指令(转储中的lpBuffer ),然后在[ebp+0xc]中查看[esp + 8]地址时?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41670720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档