[HNCTF 2022 WEEK2]TTTTTTTTTea
主要是代码的转换
这里是主要的xtea算法的加密过程
然后逆向解密代码如下
#include <stdio.h> int main(){ unsigned int l,r; unsigned int v4[6]={-1054939302,-1532163725,-165900264,853769165,768352038,876839116}; int flag[6]={0}; unsigned int delta; unsigned int key[4]={0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f}; int i,j; for(i=0;i<6;i+=2){ l=v4[i]; r=v4[i+1]; delta=-32*1640531527; for(j=0;j<32;j++){ r -= (((l >> 5) ^ (l*16)) + l) ^ (key[(delta>>11)&3]+ delta);//*16==<<4 delta += 1640531527; l -= (((r >> 5) ^ (r*16)) + r) ^ (key[delta&3]+ delta); } flag[i]=l; flag[i+1]=r; } char *p = (char*)flag; for(i=0;i<24;i++){ printf("%c",*p); p++; } }
主要是这里的数据的转换
a2是传入的key
key的值为
这里是需要转换为四个八位的数,因为一个int是四个字节,一个字节是八位,所以就是要写成四个八位的数组,即
然后要注意逻辑的转换,操作的是数组里面的数据
最后得到flag
NSSCTF{Tea_TEA_TeA_TEa+}
分类:
CTF / NSS / Rre
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】