Debugging 开始对可执行文件进行黑客攻击/反编译/调试 我很喜欢C/java语言,我对C和C++比较了解。然而,我想深入挖掘,学习更多的裸机材料。例如,C++中的一个简单控制台程序: int main() { char *ptr = "helloworld"; return 1; }

Debugging 开始对可执行文件进行黑客攻击/反编译/调试 我很喜欢C/java语言,我对C和C++比较了解。然而,我想深入挖掘,学习更多的裸机材料。例如,C++中的一个简单控制台程序: int main() { char *ptr = "helloworld"; return 1; },debugging,executable,reverse-engineering,decompiling,Debugging,Executable,Reverse Engineering,Decompiling,我在VisualStudio中使用调试器(删除pdb文件后)打开了它,以逐步完成汇编中的代码。我还使用HxD十六进制编辑器查看二进制文件 显然,我还远远不了解发生了什么。我想学习如何跟踪代码,因为它是针对一个我没有源代码的二进制文件执行的(如果可能的话),或者只是尽可能多地了解这个主题。当我每天在工作中使用源代码时,我理解通过源代码进行逐步调试,但如果没有它,我将无能为力 对于这种类型的东西有“基础”教程吗? 您可以推荐哪些工具/演练 谢谢。如果您想更深入地了解Ollydbg和一些反转/破解教程

我在VisualStudio中使用调试器(删除pdb文件后)打开了它,以逐步完成汇编中的代码。我还使用HxD十六进制编辑器查看二进制文件

显然,我还远远不了解发生了什么。我想学习如何跟踪代码,因为它是针对一个我没有源代码的二进制文件执行的(如果可能的话),或者只是尽可能多地了解这个主题。当我每天在工作中使用源代码时,我理解通过源代码进行逐步调试,但如果没有它,我将无能为力

对于这种类型的东西有“基础”教程吗? 您可以推荐哪些工具/演练


谢谢。

如果您想更深入地了解Ollydbg和一些反转/破解教程。。这肯定需要很深的时间:)你会学到东西是如何工作的:)
这是一个很好的起点。。任何搜索引擎都会为您提供大量具有正确关键字的内容:)

您至少需要了解汇编。为了掌握操作码、寄存器、堆栈使用等,我会练习编写一些(有些琐碎的)程序

书籍:

  • 关于汇编程序-根据您自己的喜好
  • 一些关于操作系统的书(杰弗里·里克特、海伦·卡斯特、马特·皮特瑞克仍然是真的?)
  • Knuth的“计算机编程艺术”(不问为什么)
  • Intels/AMD关于其程序的文档(或者您将为哪一个进行黑客攻击?)
  • 工具/软件:

  • 软冰
  • 艾达专业
  • 十六进制编辑器(你说你已经有了一个)
  • DDK(现在称为WDK-Windows驱动程序工具包)
  • 尽可能多的编译器SDK
  • 跟着


    我希望没有人会认真对待这个问题和答案:)

    我不知道为什么没有人提到莉娜的逆向工程教程
    我个人觉得他们很有帮助。您可以在这里找到它们

    但是您需要了解一些基本的汇编,如(jmp等,寄存器),我不需要提及对编程的公平理解(我相信您已经了解了)
    此外,还有大量crackme,您可以通过这些来改进自己。

    英特尔参考手册也非常有用。OllyDbg 2有一个集成的小型汇编程序docu,您可以使用它快速获取有关所选命令的信息。谢谢。。。虽然我不知道你最后的那句话是什么意思。@相信我6年前来到RE,对它非常热情。。。我列出了我使用的工具。我更新了我的上一个声明,只提到我的答案,对不起:)关键是这是一个很长的路要走。“黑客”有其令人惊叹的效果,但这是一项非常艰巨的工作……我不应该使用“黑客”这个词,因为它很容易被误解为“破解”的意思——这不是我想要做的。不过,你的回答很有帮助。