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

相关推荐
追逐梦想之路_随笔2 分钟前
手撕Promise,实现then|catch|finally|all|allSettled|race|any|try|resolve|reject等方法
前端·javascript
她和夏天一样热2 分钟前
【实战篇】设计模式在开发中的真实应用
java·开发语言·设计模式
Tzarevich3 分钟前
Tailwind CSS:原子化 CSS 的现代开发实践
前端·javascript·css
TheSumSt7 分钟前
Python丨课程笔记Part2:方法论进阶部分
开发语言·笔记·python
微爱帮监所写信寄信13 分钟前
微爱帮监狱寄信写信小程序:深入理解JavaScript中的Symbol特性
开发语言·javascript·网络协议·小程序·监狱寄信·微爱帮
前端小臻20 分钟前
RustFs 前端开发
javascript·vue.js·rustfs
ss27321 分钟前
线程池工作机制:从任务提交到执行的完整决策流程
java·开发语言
syt_101329 分钟前
js基础之-如何理解js中一切皆对象的说法
开发语言·javascript·原型模式
yaoxin52112332 分钟前
276. Java Stream API - 使用 flatMap 和 mapMulti 清理数据并转换类型
java·开发语言·windows
十五00133 分钟前
若依集成微软单点登录(SSO)
javascript·microsoft