2008-03-05

来源:互联网 发布:家庭网络打印机共享 编辑:程序博客网 时间:2024/06/11 13:19
在大多数逆向场合,第一步就是要确定应用程序的组件结构和每个组件的职责,之后就可以选一个感兴趣的组件专研其实现细节了

模块:程序中最大的构造块称为模块,模块是二进制文件,他包含了程序可执行部分中的独立区域,模块有两种基本形式,静态库和动态库

静态库:静态库由一组源代码文件构成,它们在一起生成实现程序中的某一特定功能的组件

动态库:动态库和静态库非常相似,只是动态库不嵌入到程序中,而是保留在独立的文件中,即使在将程序销售给终端客户时也是如此,动态库使得在升级的时候只需要升级独立的组件就可以了,而不需要升级整个程序

在逆向的过程中,通常会遇到各种各样的用户自定义数据结构,准确的识别这些数据结构并破解其内容是深入理解程序的关键,要做好这一步,需要循序渐进的记录下所发现的每一个有关这些数据结构的微小细节,知道充分理解每个字段

 
原创粉丝点击