逆向名词

一、运行程序的基础知识:

1、PE文件:

  全称是Portable Executable,意为可移植的可执行的文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL)

2、模块基址:

  解释为模块的基地址;比如模块为Dll,程序初次加载模块时将赋予它一个内存地址,这个地址在进程生命周期内不会变动且重新打开进程时也不会改变(在不同电脑或打开多个该程序,该基地址都不会变),该地址为模块的基地址。

3、IAT:

  Import Address Table(导入地址表),当PE文件(如:DLL)被装入内存时,“导入表”与“导入地址表”可将调用导入函数的指令和函数实际所处的地址联系起来(动态连接)。“导入表”储存着导入函数的信息(比如函数名),“导入地址表”储存其他模块(DLL)的函数指针。

4、SSDT:

  System Services Descriptor Table(系统服务描述符表),ssdt表就是把ring3的Win32 API和ring0的内核API联系起来。SSDT并不仅仅只包含一个庞大的地址索引表,它还包含着一些其它有用的信息,诸如地址索引的基地址、服务函数个数等。

5、RING0~3:

  Intel的x86处理器是通过Ring级别来进行访问控制的,级别共分4层,RING0,RING1,RING2,RING3。Windows只使用其中的两个级别RING0和RING3。RING0层拥有最高的权限,RING3层拥有最低的权限。按照Intel原有的构想,应用程序工作在RING3层,只能访问RING3层的数据,操作系统工作在RING0层,可以访问所有层的数据,而其他驱动程序位于RING1、RING2层,每一层只能访问本层以及权限更低层的数据。如果普通应用程序企图执行RING0指令,则Windows会显示“非法指令”错误信息。

二、加壳:

1、SE:

  指Safengine加密软件,可以理解为Secure Element(安全模块),一款强壳加密软件。

2、TMD:

  指Themida加密软件,自述为先进的Windows软件保护系统,被用于满足软件开发人员对于所开发应用程序安全保护的需求,使其远离被先进的逆向工程和软件破解的危险。

3、VMP:

  指Virbox Protector软件,可以理解为Virtual Machine Planner(虚拟机规划器)。对代码进行虚拟化/混淆/代码加密/压缩等多种保护方式,一种难破解的加密技术。

4、HVM :

  指DNGuard HVM加密软件,.NET代码保护的一款软件,具有内核级的代码混淆、.Net 加密保护、虚拟机保护功能。

二、脱壳:

1、CE:

  指Cheat Engine软件,开源的内存搜索软件,它还包括了很多调试工具。示例程序的教程:游戏修改器制作教程三:内存与Cheat Engine

2、OD:

  指OllyDbg软件,Windows程序反汇编调试器,不能调试Ring0层(内核态)。

3、WinDbg:

  WinDbg是微软发布的调试工具,支持32位和64位程序,可以调试Ring0层(内核态)。

4、IDA Pro:

  专业级静态调试器。

posted @ 2020-11-07 13:20  ꧁执笔小白꧂  阅读(170)  评论(0编辑  收藏  举报