逆向题目中,有一些题目会调用一些加密或者编码算法,如果自己一行一行去读,又耗时又耗力。最近在读《从0到1 CTFer成长之路》这本书,这本书中归纳了部分逆向题目中常见的算法特征。如果能找到这些算法特征,那么判断算法就能秒解了。
本博客不定期慢更
特征值识别
在一些算法中,往往不可避免要用到部分常数。如果一个用来加密或者编码的函数中调用了下面的这些常数,那么很有可能这个函数就调用了对应的算法。
自己去找这些特征常数有的时候也不是很方便,所以用ida的FindCrypt插件能够自动寻找这些特征常数。
特征运算识别
当特征值不足以识别算法的时候,可以看看部分特殊的标志性运算。下面这个表归纳了部分算法的代表性运算步骤。