什么是自校验:
意思是这些程序会检查自己有没有被修改,如果发现被修改的话,便会离开或进行其它动作。基本的校检方法包括 checksum, 检查大小, 检查跳转代码,等等。
什么情况下考虑自校验:
当一个程序脱壳前可以正常运行,脱壳以后不能运行,修复以后也不行,程序不能运行或者闪退、弹窗提示错误等,我们就要考虑是不是因为程序有自校验了。
自校验破解思路:
将脱壳前和脱壳后的程序分别单步运行,对比找出关键跳转。
实验步骤:
首先尝试运行程序,显示“正常运行”窗口。
PEiD查壳,发现被加了ASPack壳。
放进OD里,用ESP定律法脱