[V&N2020 公开赛]strangeCpp

每天水一道题计划,打卡第三天

看着挺奇怪的,然后想动调,出现了一点错误

沉默,反思,不解,疑惑

然后观察,最开始有一堆数据,不知道干嘛的

对welcome中间的数据交叉引用发现

重点应该在异或

根据12-15行的算法,加上上一张图里的dword_140021190 <= 14549743,可以穷举暴力破解出result里的值

python 复制代码
result=0
for v8 in range(14549743):
    v7 = (((v8 << 8) ^ (v8 >> 12))*291)&0xFFFFFFFF 
    if (v7 == 607052314):
        result = v8
        break
    
print(result)
python 复制代码
result=0
for v8 in range(14549743):
    v7 = (((v8 << 8) ^ (v8 >> 12))*291)&0xFFFFFFFF # 原文是unsigned int--0~0xFFFFFFFF,输出的值需要截断
    if (v7 == 607052314):
        result = v8
        break
    
print(result)

a=[0x26, 0x2C, 0x21, 0x27, 0x3B, 0x0D, 0x04, 0x75, 0x68, 0x34,
  0x28, 0x25, 0x0E, 0x35, 0x2D, 0x69, 0x3D, 0x6F, 0x6D, 0x00]

for j in range(17):
    print(chr((v8^a[j])&0xff),end="")

然后根据flag提示,找个网站md5加密

相关推荐
行者-全栈开发1 分钟前
JDK 17 + Spring Boot 3.5.8:企业级开发技术栈全景
java·开发语言·spring boot·系统架构·技术栈·系统架构全景分析·springboot技术栈
“抚琴”的人3 分钟前
SqlSugar 文档
开发语言·数据库·c#·sqlsugar
浅念-9 分钟前
C++11 核心知识点整理
开发语言·数据结构·c++·笔记·算法
panzer_maus11 分钟前
Java多线程介绍
java·开发语言
清空mega13 分钟前
《Vue3 模板进阶:class/style 绑定、事件对象、修饰符、表单处理与高频易错点》
前端·javascript·vue.js
还是大剑师兰特14 分钟前
Vue3 插槽完整实战(具名插槽 + 动态插槽)
前端·javascript·vue.js
echome88815 分钟前
Python 装饰器详解:从入门到实战的完整指南
开发语言·python
fei_sun15 分钟前
Vue+SpingBoot+MyBaits框架
前端·javascript·vue.js
AMoon丶17 分钟前
Golang--多种控制结构详解
java·linux·c语言·开发语言·后端·青少年编程·golang
爱吃鱼的锅包肉19 分钟前
利用css+js实现一个图片随鼠标滑动裁剪的功能
前端·javascript·css·计算机外设