[GDOUCTF 2023]Tea

编程入门 行业动态 更新时间:2024-10-13 14:24:30

[<a href=https://www.elefans.com/category/jswz/34/1678254.html style=GDOUCTF 2023]Tea"/>

[GDOUCTF 2023]Tea

首先下载,拖进exe查看

 发现为64位,拖进ida64,快捷键shift+f12到字符串然后ctrl+f搜索关键词flag

双击flag跟进 ,找到调用函数sub_140016230,点进去查看函数关键代码。

双击sub_140011339(v7)跟进,然后跟进sub_1400117D0(a1)函数,

 可知v7为key,且被更改为{2233,4455,6677,8899},双击 sub_1400112B7(v8, v7),跟进sub_140011900(a1, a2)函数,

可知其为tea加密,然后再双击sub_140011352(v8),跟进sub_140011B60(a1)函数,

上述为加密后的数据,接下来就是写脚本

#include <stdio.h>int main() 
{int key[] = {2233, 4455, 6677, 8899};unsigned int value[10];value[0] = 0x1A800BDA;value[1] = 0xF7A6219B;value[2] = 0x491811D8;value[3] = 0xF2013328;value[4] = 0x156C365B;value[5] = 0x3C6EAAD8;value[6] = 0x84D4BF28;value[7] = 0xF11A7EE7;value[8] = 0x3313B252;value[9] = 0xDD9FE279;int dalte = 0xF462900;int i = 0;int wheel;int sum = 0;// 逆算法for(i=8; i>=0; i--){// 轮数wheel = 33;sum = dalte * (i+wheel);while(wheel--){sum -= dalte;value[i+1] -= (sum + key[(sum >> 11) & 3]) ^ (value[i] + ((value[i] >> 5) ^ (16 * value[i])));value[i] -= sum ^ (value[i+1] + ((value[i+1] >> 5) ^ (16 * value[i+1]))) ^ (sum + key[sum&3]);}}for(i=0;i<=9;i++){printf("%x", value[i]);}return 0;
}

 

 将结果借助在线工具转换成文本字符串就可以了

故结果为,NSSCTF{hzCtf_94_re666fingcry5641qq}。

更多推荐

[GDOUCTF 2023]Tea

本文发布于:2024-02-05 09:27:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1674113.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:GDOUCTF   Tea

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!