【发布时间】:2011-05-21 05:18:30
【问题描述】:
我对 C#/Java 很熟悉,而且我对 C 和 C++ 相当了解。但是,我想更深入地挖掘并学习更多裸机的东西。例如,一个简单的 C++ 控制台程序:
int main()
{
char *ptr = "helloworld";
return 1;
}
我使用调试器(在删除 pdb 文件后)在 Visual Studio 中打开它,以单步执行程序集中的代码。我也在使用 HxD 十六进制编辑器来查看二进制文件。
显然,我还远远不能理解发生了什么。我想学习如何跟踪代码,因为它正在为我没有源代码的二进制文件执行(如果可能的话),或者尽可能多地了解这个主题。我理解使用源代码进行逐步调试,因为我每天在工作中都使用它,但没有它我很无助。
是否有针对此类事物的“基础”教程? 您可以推荐哪些工具/演练?
谢谢。
【问题讨论】:
标签: debugging executable reverse-engineering decompiling