加密与解密 调试篇(一)
前言
现在开始对《加密与解密》第二篇的内容开始学习回顾。第二部分被称为“调试篇”,从内容上看主要涵盖对常见调试器与反编译器的介绍与使用。根据自己的计划,在每部分把涉及的常见工具进行复习回顾,对使用不熟练的工具进行重点学习,对这些工具背后的技术原理进行学习剖析。原理剖析方面目前应该不会进行很深,一是自己积累达不到,二是自己也是在熟悉学习的过程中。之前编写的《CE入门笔记》也算是工具篇的一部分了。根据目前自己的安排,以及《加密与解密》的结构设计,首先对调试器的相关知识进行复习掌握,会把涉及的硬件相关知识、调试API、基础的Demo实例进行研究分析。涉及的参考资料包括软件调试、软件加密技术内幕、Python灰帽子等。关于工具的学习,目前考虑包括CE、OD(x64dbg包含其中)、WinDBG(重点)、Sysinternals等。
调试器原理笔记
调试技术概览
此部分内容参考自软件调试
断点
断点是使用调试器进行调试时最常用的调试技术之一。基本思想是在某一个位置设置一个“陷阱”,当CPU执行到这个位置时便“跌入陷阱”,即停止执行被调试的程序,中断到调试器中,让调试者进行分析和调试。
常见的断点种类有三种:代码断点、数据断点以及IO断点。