简单理解破解与脱壳

什么是壳

想要破解别人的程序, 必然要对别人代码进行分析, 分析手段无非两种:

  1. 静态分析
  2. 动态分析

利用动态分析就可以绕过类似注册码的步骤

如何避免别人通过分析绕过注册码等步骤呢, 就需要对程序加一层壳,

当你程序在载入到内存的时候, 要先去检查一下环境,看看自身是否跑在调试器的环境里, 如果在调试器的环境,就要把调试器的环境破坏掉,不让你进行动态分析,

这就是加壳的一种手段

或者还有其他的手段, 例如,把真正的程序压缩到其他地方, 当启动exe程序时再将真正的程序解压缩, 用来防止动态分析

脱壳就是扒掉这层防护

静态分析

静态分析就是直接去看别人的源代码, 当然别人写的C的源代码你是看不到的, 必须进行反编译, 但是反编译也不是那么的完美, 无法恢复回原来的样子, 会非常难以理解。

动态分析

类似于debugger, 借助调试器, 可以看到代码的当前执行状况, 跳转地址、内存当中的状态

你的支持将鼓励我继续创作