首页 > 其他分享 >[GDOUCTF 2023]Tea

[GDOUCTF 2023]Tea

时间:2023-11-19 23:33:05浏览次数:44  
标签:加密 Tea sum 4i64 a1 v3 2023 DWORD GDOUCTF

里面的函数很多,然后还没有main函数,这个时候从字符串那里寻找线索了

 

 根据tea算法的知识我们可以猜测图中的v7应该是加密的密钥

 然后看sub_140011339函数,发现主要的逻辑就是给v7的值换个位置而已,然后v7的值变为2233,4455,6677,8899

 sub_140011145函数,功能就是将v8的值附到v9

 

 然后sub_1400112B7函数的主要的功能就是tea加密的操作了

 

 经过分析

*(_DWORD *)(a1 + 4i64 * i) += sum ^ (*(_DWORD *)(a1 + 4i64 * v3)+ ((*(_DWORD *)(a1 + 4i64 * v3) >> 5) ^ (16 * *(_DWORD *)(a1 + 4i64 * v3)))) ^ (sum + *(_DWORD *)(key + 4i64 * (sum & 3)));
*(_DWORD *)(a1 + 4i64 * v3) += (sum + *(_DWORD *)(key + 4i64 * ((sum >> 11) & 3))) ^ (*(_DWORD *)(a1 + 4i64 * i)+ ((*(_DWORD *)(a1 + 4i64 * i) >> 5) ^ (16 * *(_DWORD *)(a1 + 4i64 * i))));

经过还原后,大致代码如下所示:
a1[i] += sum ^ (a1[v3] + ((a1[v3] >> 5) ^ (a1[v3] << 4)) ^ (sum + key[sum & 3])
a1[v3] += (sum + key[(sum >> 11) & 3] ) ^ (a1[i] + (a1[i] >> 5) ^ (a1[i] << 4))
这里的*16其实就相当于<<4,因为左移N位,相当于乘以2^N次方.

所以对于本题的话是魔改的XTEA算法,就是对密文一共10组,每二组(i和i+1)进行一次加密,加密轮次为33轮,delta为0xF462900

 

然后对于sub_140011352函数就是对加密后的内容进行对比

 

 那么最后写出来的脚本应该是

#include <stdio.h>
#include <stdint.h>
#define delta 0xF462900//题目中的魔改数值 

int main()
{
    uint32_t key[4] = {2233,4455,6677,8899};//密钥 
    uint32_t Data[10] = { 0x1A800BDA ,0xF7A6219B ,0x491811D8,0xF2013328,0x156C365B, 0x3C6EAAD8,0x84D4BF28,0xF11A7EE7,0x3313B252,0xDD9FE279 };//密文 
    unsigned int j;
    int i;
    unsigned int sum;
    for (i = 8; i >= 0; i--)
    {
        j = 33;
        sum = delta * (i + j);//注意乘的数值 
        while(j--)
        { 
            sum -= delta;//注意是减号,而且放的位置也要注意 
            Data[i + 1] -= (sum + key[(sum >> 11) & 3]) ^ ((Data[i] + ((Data[i] >> 5) ^ (Data[i] << 4))));
            Data[i] -= sum ^ (Data[i + 1] + ((Data[i + 1] >> 5) ^ (Data[i + 1] << 4))) ^ (sum + key[sum & 3]);
        }
    }

    for (int i = 0; i < 10; i++)
    {
        printf("%x", Data[i]);
    }

    return 0;
}

注意:

  • 对Sum进行处理时,是33+i轮次。33代表的是内部对数据的总加密轮次。外部是对每数据二二一组加密的轮次
  • for循环需要逆算法来,从8迭代到0.
  • while循环中,+=变-=即可,其他不变。
  • 加密时顺序sum+=delta要最先放上来

标签:加密,Tea,sum,4i64,a1,v3,2023,DWORD,GDOUCTF
From: https://www.cnblogs.com/lhqrusht0p/p/17842972.html

相关文章

  • 2023-2024-1 20231427 《计算机基础与程序设计》第八周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(https://www.cnblogs.com/rocedu/p/9577842.html#JXJC)这个作业要求在哪里<作业要求的链接>(https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08)|作业正文|...https://www.cnblogs.com/wszdhnsh/p/17842926.html |......
  • 2023.11.19 NOIP 总结
    考试复盘进场读了下题,T1很简单,并且后面三道题都挺可做的。因为可以任意交换,直接令当前串字典序最小,其它串字典序最大,然后比较一下就完事了。因为字符集大小只有\(26\),直接开桶模拟就可以了。发现不是很好写,想了一下其实只需要判断一下当前串字典序最小的字母的字典序是否大于其......
  • 2023-2024-1 20231305 《计算机基础与程序设计》第八周学习总结
    2023-2024-120231305《计算机基础与程序设计》第八周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2022-2023-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2022-2023-1计算机基础与程序设计第一周作业)这个作业的目标<写上具体方面>......
  • 2023-2024-1 20231407陈原 《计算机基础与程序设计》第八周学习总结
    这个作业属于哪里计算机基础与程序设计作业要求是什么https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08作业目的是什么功能设计与面向对象设计面向对象设计过程面向对象语言三要素汇编、编译、解释、执行作业正文  https://www.cnblogs.com/CCCY12......
  • 2023-2024-1 20231415 《计算机基础与程序设计》第八周学习总结
    这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/这个作业要求是什么https://www.cnblogs.com/rocedu/p/9577842.html#WEEK01作业目标自学教材《计算机科学概论》第9章,《C语言程序设计》第7章并完成云班课测试作业正文https://i.cnbl......
  • 2023-2024-1 20231406 《计算机基础与程序设计》第八周学习总结
    2023-2024-120231406《计算机基础与程序设计》第八周学习总结作业信息这个作业属于哪个课程([2023-2024-1-计算机基础与程序设计](https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP)这个作业要求在哪里(2023-2024-1计算机基础与程序设计第八周作业这个作业......
  • 2023年11月第三周总结
    KMP算法字符串查找算法中的最优解。时间复杂度O(N+M)下面是自己写的#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>#include<time.h>#include<stdbool.h>#definelllonglong#define......
  • 《2023-2024-1 20232427《网络空间安全导论》第十二周学习总结》
    《2023-2024-120232427《网络空间安全导论》第十二周学习总结》教学学习内容总结本周学习了《网络空间安全导论》的第二章,重点学习了密码学的相关知识。本章1讲述密码学基础,为日后网络空间安全学习打下基础。密码学概述密码的起源代换密码&置换密码机械密码ENIGMA密码机......
  • 2023-2024-1 20231319《计算机基础与程序设计》第8周学习总结
    2023-2024-120231319《计算机基础与程序设计》第8周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里作业要求这个作业的目标计算机科学概论第9章《C语言程序设计》第7章学习目标功能设计与面向对象设计面向对......
  • 初中英语优秀范文100篇-002 Our Chinese Teacher
    PDF格式公众号回复关键字:SHCZFW002记忆树1MissLiisourChineseteacher.翻译李老师是我们的语文老师简化记忆语文老师句子结构主系表结构其中,"MissLi"是主语,"is"是系动词,"ourChineseteacher"是表语。2Sheisayoungwoman.翻译她是个年轻女人简化记......