TEA、XTEA、XXTEA算法

原理:

https://blog.csdn.net/gsls200808/article/details/48243019

解题关键:

找黄金分割线:0x9e3779b9

  TEA加密和解密时都使用一个常量值,这个常量值为0x9e3779b,这个值是近似黄金分割率,注意,有些编程人员为了避免在程序中直接出现”mov变量,0x9e3779b”,以免被破解者直接搜索0x9e3779b这个常数得知使用TEA算法,所以有时会使用”sub变量,0x61C88647″代替”mov变量,0x9e3779b”,0x61C88647=-(0x9e3779b)。
  TEA算法每一次可以操作64bit(8byte),采用128bit(16byte)作为key,算法采用迭代的形式,推荐的迭代轮数是64轮,最少32轮。

举例

2021-津门杯 RE

GoodRE

函数sub_1408中有2个常量,将变量输入sub_1667,可以做一个数学运算:

0x830a5376^0x1d3d2acf=0x9e3779b9

可知为TEA算法。

在程序中找到加密后字符串

对字符串解TEA算法即可得到flag