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

相关推荐
代码的小搬运工5 分钟前
UITableView
开发语言·ui·ios·objective-c
刚子编程8 分钟前
C# Join 深度解析:参数顺序、多表关联与空值处理最佳实践
开发语言·c#·最佳实践·join·多表关联·空值处理
AbandonForce9 分钟前
哈希表(HashTable,散列表)个人理解
开发语言·数据结构·c++·散列表
代码中介商15 分钟前
栈结构完全指南:顺序栈实现精讲
c语言·开发语言·数据结构
平凡但不平庸的码农19 分钟前
Go 错误处理详解
开发语言·后端·golang
z2005093032 分钟前
C++中位图和布隆过滤器的一些面试题
开发语言·c++
Bat U1 小时前
JavaEE|文件操作和IO
java·开发语言
脉动数据行情1 小时前
Python 实现融通金行情数据对接(实时推送 + K 线 + 产品列表)
开发语言·python
花归去1 小时前
vue3中 function getText(){} 、 const getText=()=>{} ;区别在哪里,优缺点
javascript·vue.js·ecmascript
ZC跨境爬虫1 小时前
跟着 MDN 学 HTML day_33:(Attr 接口与属性节点的深入理解)
前端·javascript·ui·html·音视频·html5