[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加密

相关推荐
_OP_CHEN1 分钟前
【从零开始的Qt开发指南】(二十二)Qt 音视频开发宝典:从音频播放到视频播放器的实战全攻略
开发语言·c++·qt·音视频·前端开发·客户端开发·gui开发
FAFU_kyp2 分钟前
Rust 字符串与切片
开发语言·后端·rust
oioihoii6 分钟前
从C++到C#的转型完全指南
开发语言·c++·c#
Ashley_Amanda9 分钟前
Python入门知识点梳理
开发语言·windows·python
区区一散修10 分钟前
Java进阶 6. 集合
java·开发语言
半世轮回半世寻16 分钟前
前端开发里最常用的5种本地存储
前端·javascript
爱上妖精的尾巴22 分钟前
7-9 WPS JS宏 对象使用实例6:按条件读取多表再拆成多表
前端·javascript·wps·jsa
-凌凌漆-23 分钟前
【JS】JavaScript Promise
开发语言·javascript·ecmascript
二DUAN帝23 分钟前
像素流与UE通信
前端·javascript·css·ue5·html·ue4·html5
羊村积极分子懒羊羊24 分钟前
python课程三月二十九号粗略总结
开发语言·python