gpt4 book ai didi

c++ - 使用堆栈跟踪检测功能

转载 作者:行者123 更新时间:2023-11-28 08:19:02 25 4
gpt4 key购买 nike

我正在查看带有调试器的应用程序(我没有源代码!)。我在某个函数(导出函数)中放置了一个断点,然后查看堆栈跟踪。显然我看不到符号,但我可以看到 DLL 名称和序号。

我的问题是如何判断我在堆栈跟踪中看到的函数是否已导出?或者更准确地说,我在堆栈跟踪中看到的序数是否与我在 dependency walker 中看到的序数相同?

非常感谢! :-)

最佳答案

Its a windows machine. I don't quite understand what you mean by "name" and "toolchain". – TCS

TCS:我是在暗示这样一个事实,即有不止一种调试器和不止一种链接器可以在 DLL 中生成不同类型的元数据。

到目前为止,我已经使用 OllyDbg 很好地“调试”(检查/审计)第三方软件(包括DLL)。 ,其中现在似乎有一个全新的2.0版本(here)。

它使代码分析成为一个高手(我猜,如果您熟悉汇编语言和动态加载)。它当然可以轻松跟踪哪些模块调用了哪些模块并将这些(调用)映射到符号名称(如果可用)1 . OllyDbg 尤其是免费的。

在商业方面,我相信有几种类似的工具,我记得其中有 IDA Pro成为最大的名字。

希望对您有所帮助。

<子> 1它将利用调试符号(例如您可以从 Microsoft 下载的符号),它甚至会将 Win32 API 的参数转换为它们有意义的名称(即 WM_PAINT 而不是常量,也知道预期的 LPPARAM 布局等)。

关于c++ - 使用堆栈跟踪检测功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6636932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com