黑客基本术语

加壳 : 表示程序的 exe 被一层外壳保护,这层外壳是一些软件保护公司 (或一些高*) 设计出来的,可以把 exe包裹起来,在 exe 执行时提供保护,对抗破解者

爆破 : 意思是透过修改程序,来达到破解目的,主要方法包括,修改重要跳转指令 (jmp, jz, jzn, 等等)

花指令 : (junk code) 意思是程序中有一些指令,由设计者特别构思,希望使反汇编的时候出错,让破解者无法清楚正确地反汇编程序的内容,迷失方向。经典的是一些跳转指令,目标位置是另一条指令的中间,这样在反汇编的时候便会出现混乱。花指令有可能利用各种 jmp, call, ret, 一些堆栈技巧,位置运算,等等

SMC : (self-modifying code) 
意思是自我修改的代码,使程序在运行时自我修改,用途包括:
使一些重要的跳转位置爆破无效化 ( smc 对重要位置进行覆写)
使一些重要代码隐藏 (在必要时才实时产生重要代码段,防止程序被人静态分析,也防止一些透过搜寻的破解方法)

自校验程序 : 意思是这些程序会检查自己有没有被修改,如果发现被修改的话,便会离开或进行其它动作。基本的校检方法包括 checksum, 检查大小检查跳转代码,等等

自调试程序 : 意思是这些程序会扮演调试器的角色,调试自己重要的部份,让破解者无法用调试器进行破解 (因为一个程序只可以被一个程序调试)

SEH : (structured exception handling) 
是一种处理程序异常的机制,当程序异常 (例如除零异常,非法存取异常,等等发生的时候,系统便会把执行位置切换到thread exception handler。一些程序会透过 SetUnhandledExceptionFilter( ) 来设定 thread 的最高层异常处理 (代替 windows 提供的那一个错误信息),再制造异常,来达到扰乱调试的效果

RSA : 
是一套加密技术 (public key infrastructure),它被广泛应用于各种层面,由一对密钥 (public key  private key) 的组合,提供安全的资料加密

Symmetric encryption : 
对称加密,意思是加密和解密的 secret key 是相同的,例如 DES, AES, Blowfish

Asymmetric encryption : 
非对称加密,是Symmetric encryption 的相反,例如 RSA

PE format : (Portable Executable) 
意思是指 Windows  exe 的格式


IAT : (Import Address Table)
,是 PE 结构里重要的一部份,用途是存放 API 位置,让程序中的呼叫可以透过它的位置来使用各个系统API  dll  export functions。一个exe  IAT 里是并没有实际位置的,这些位置由系统加载 exe 的时候实时填上

RVA : (Relative Virtual Addresses) 
 PE 格式中,有很多不同的区块需要定位,但是不可以指明一个绝对位置,所以 PE 里使用了 RVARVA 是一个相对于 Base address (基底位置的值,例如一个 PE 被载入到 0x400000,这个 PE 有一个区块的RVA  0x1000,那么这个区块在内存的实际位置便是 0x401000

VA : (Virtual Address) 
内存虚拟空间中的一个位置,在 PE 描述中的意思是 : PE 被载入后,区块在内存的确实位置

Offset : 
意思是偏移值,通常用于指明一个位置,它的用法是把一个基底位置加上 offset  (offset 可以是负数) 例如我们说 : 一个资料结构在内存中的位置是0x125000,它的 offset 0x10 处是用户名字, offset 0x14 是用户序号。在 PE 结构中, offset 通常用于指明在 exe 档案中的实际位置

dump : 
意思是把内存中正在运行的 PE 整个抄下来,储存成另一个 exe file。这种做法可以把程序执行的某一刻保留,例如在 IAT 建立完成后。dump 是脱壳的一个基本步骤

你可能感兴趣的:(基本术语,黑客)