第六届安洵杯网络安全挑战赛——牢大想你了

队友打穿了,就出了一个re第五题

找到Assembly-CSharp.dll,用dotpeek进行反编译,GameManager中定位关键代码直接找到了tea的密文密钥

此处是加密函数

  public uint[] BABBBBBBAAAAAABABBBAAAABBABBBAABABAAABABBAAABBA(uint ABBAABAAAAAABAAAABBBBBBABAABAAAABBBABBBAABBABBA, uint BAABBAAAAABABBAABBABBAABABABABABABAAABABBBABABA)
  {
    uint num1 = ABBAABAAAAAABAAAABBBBBBABAABAAAABBBABBBAABBABBA;
    uint num2 = BAABBAAAAABABBAABBABBAABABABABABABAAABABBBABABA;
    uint num3 = 0;
    uint num4 = 2654435769;
    uint[] bbababbbabbababaaabbbaabbaaaaaaabbbbbaabbaaaaaa = this.BBABABBBABBABABAAABBBAABBAAAAAAABBBBBAABBAAAAAA;
    for (int index = 0; index < 32; ++index)
    {
      num3 += num4;
      num1 += (uint) (((int) num2 << 4) + (int) bbababbbabbababaaabbbaabbaaaaaaabbbbbaabbaaaaaa[0] ^ (int) num2 + (int) num3 ^ (int) (num2 >> 5) + (int) bbababbbabbababaaabbbaabbaaaaaaabbbbbaabbaaaaaa[1]);
      num2 += (uint) (((int) num1 << 4) + (int) bbababbbabbababaaabbbaabbaaaaaaabbbbbaabbaaaaaa[2] ^ (int) num1 + (int) num3 ^ (int) (num1 >> 5) + (int) bbababbbabbababaaabbbaabbaaaaaaabbbbbaabbaaaaaa[3]);
    }
    return new uint[2]{ num1, num2 };
  }

跟进,进行解密,就是一个tea,得到了最终的flag,

#include<iostream>
using namespace std;

typedef unsigned int uint;

void decry(uint v[],uint k[]){
	uint v0=v[0];
	uint v1=v[1];
	uint delta = 2654435769;
	uint sum=delta*32;
	for (int index = 0; index < 32; ++index){
		v1-=((v0<<4)+k[2])^(v0+sum)^((v0>>5)+k[3]);
		v0-=((v1<<4)+k[0])^(v1+sum)^((v1>>5)+k[1]);
		sum -= delta;
	}
	int i;
	for (i = 0; i < 4; i++) {
        printf("%c", (v0 >> (8 * i)) & 0xff);
    }

    for (i = 0; i < 4; i++) {
        printf("%c", (v1 >> (8 * i)) & 0xff);
    }
}

int main(){
	uint data[] = {3363017039, 1247970816, 549943836, 445086378, 3606751618, 1624361316, 3112717362, 705210466, 3343515702, 2402214294, 4010321577, 2743404694};
    uint key[] = {286331153, 286331153, 286331153, 286331153};
    for (int i = 0; i < sizeof(data) / sizeof(unsigned int); i += 2) {
        decry(&data[i], key);
    }
	return 0;
} 

相关推荐

  1. [ 2019]game & [SUCTF2018]babyre

    2023-12-24 22:28:03       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-24 22:28:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-24 22:28:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-24 22:28:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-24 22:28:03       20 阅读

热门阅读

  1. 数据迁移测试经验分享

    2023-12-24 22:28:03       35 阅读
  2. Python基础(持续更新)

    2023-12-24 22:28:03       28 阅读
  3. 接口功能测试策略

    2023-12-24 22:28:03       36 阅读
  4. 经常使用的排序算法

    2023-12-24 22:28:03       38 阅读
  5. 企业数据治理(2):“数据治理体系建设“

    2023-12-24 22:28:03       30 阅读
  6. npm error code EINTEGRITY 问题的解决方法之一

    2023-12-24 22:28:03       43 阅读
  7. 大数据、知识图谱和强化学习的综合应用

    2023-12-24 22:28:03       41 阅读