参考 书:《加密与解密》 视频:小甲鱼 解密系列 视频 exe,dll都是PE(Portable Execute)文件结构。PE文件使用的是一个平面地址空间,所有代码和数据都被合并在一起,组成一个很大的结构。先看2张图,来大概了解一下PE文件结构。 PE文件的框架结构 通过这张图(开始在下面),我们可以知道PE文件的大概结构,PE文件是由 DOS头,PE文件头,块表,块,调试信息 这些部分组 ...
反汇编,这部分我只能说是略懂一二。
听到反汇编有点高大上,其实如果有一个合理的学习材料跟步骤,还是比较容易学习的。
如果你想学习程序逆向,反汇编,认为应该必须先学习汇编,然后才是学习Ollydbg,exe程序的PE文件结构,脱壳等等。
《汇编语言》王爽,非常好,写的比较易懂。
看雪论坛的《加密与解密》非常经典
小甲鱼 系列视频 讲的 非常易懂,强烈推荐
零基础入门学习汇编语言 http://blog.fishc.com/category/assembly (他是按照《汇编语言》王爽 来讲的)
解密系列-基础篇 http://blog.fishc.com/category/base (他讲的解密系列,参考《加密与解密》)
解密系列-系统篇(PE结构) http://blog.fishc.com/category/pe
解密系列-调试篇(Ollydbg使用)http://blog.fishc.com/category/debug
大体上应该: 汇编--> PE 文件结构 --> Ollydbg 使用 --> 脱壳 -->......
参考 书:《加密与解密》 视频:小甲鱼 解密系列 视频 exe,dll都是PE(Portable Execute)文件结构。PE文件使用的是一个平面地址空间,所有代码和数据都被合并在一起,组成一个很大的结构。先看2张图,来大概了解一下PE文件结构。 PE文件的框架结构 通过这张图(开始在下面),我们可以知道PE文件的大概结构,PE文件是由 DOS头,PE文件头,块表,块,调试信息 这些部分组 ...
参考 书:《加密与解密》 视频:小甲鱼 解密系列 视频 、OllyDbg基本界面 图片1 如果按窗口切换按钮出现下面的情况,乱了,只需要双击一个窗口让它全屏就行了。 图片2 二、部分快捷键介绍 F3 : 打开目标文件 F2 : 设置断点 F7:单步步进,遇到CALL跟进 F8:单步步过,遇到CALL路过,不跟进 F9:运行调试程序,直到运行到断点处 F4:运行调试程序,直到运行到光标处 Ct ...
参考:《汇编语言》 王爽 第一,二章 一、基础知识 1. 用汇编语言编写程序的工作过程 汇编本质就是为了方便程序员,把二进制代码用汇编指令来表示 汇编指令----------------> 编译器 ---------------->机器码----------------> 计算机执行 mov ax, bx 100010001 ................ ....... ...
参考 书:《加密与解密》 视频:小甲鱼 解密系列 视频 基址重定位 链接器生成一个PE文件时,它会假设程序被装入时使用的默认ImageBase基地址(VC默认exe基地址00400000h,dll基地址10000000h),并且会把代码中所有指令中用到的地址都使用默认的基地址(例如 程序代码中 push 10001000,就是把10000000h当做了基地址,把push 10001000写入 ...
参考 书:《加密与解密》 视频:小甲鱼 解密系列 视频 输出表 一般来说输出表存在于dll中。输出表提供了 文件中函数的名字跟这些函数的地址, PE装载器通过输出表来修改IAT。 IMAGE_OPTIONAL_HEADER中的 DataDirectory[0] 提供了输出表的RVA。输出表是以一个IMAGE_EXPORT_DIRECTORY结构 开始的。 IMAGE_EXPORT_DIREC ...
参考 书:《加密与解密》 视频:小甲鱼 解密系列 视频 输入表 输入函数,表示被程序调用但是它的代码不在程序代码中的,而在dll中的函数。对于这些函数,磁盘上的可执行文件只是保留相关的函数信息,如函数名,dll文件名等。在程序运行前,程序是没有保存这些函数在内存中的地址。当程序运行起来时,windows加载器会把相关的dll装入内存,并且将输入函数的指令与函数真在内存中正的地址联系起来。输入 ...
参考 书:《加密与解密》 视频:小甲鱼 解密系列 视频 区块 在区块表 后面的就是一个一个区块,每个区块占用对齐值的整数倍,一般的文件都有代码块 跟 数据块( 它们的名字一般为.text 跟 .data 但这是可以修改的)。每个区块的数据具有相同的属性。编译器先在obj中生成不同的区块, 链接器再按照一定的规则合并不同obj跟库中的快。例如每个obj中肯定有.text 块, 连接器就会把它们 ...
参考 书:《加密与解密》 视频:小甲鱼 解密系列 视频 反调试 先看看这四个程序。(下载地址:http://pan.baidu.com/s/1pJCzABp) 它们自己运行时都没有问题,都显示被注册信息 “You really did it! Congratz it",但是一到OD中运行就会出现未注册或者报错。 这四个程序都对OD进行了反调试。 它们都用了IsDebuggerPr ...
最新评论