re4-unvm-me 入土为安的第六天

简介: re4-unvm-me 入土为安的第六天

pyc文件反编译

 

import md5
md5s = [
    0x831DAA3C843BA8B087C895F0ED305CE7L,
    0x6722F7A07246C6AF20662B855846C2C8L,
    0x5F04850FEC81A27AB5FC98BEFA4EB40CL,
    0xECF8DCAC7503E63A6A3667C5FB94F610L,
    0xC0FD15AE2C3931BC1E140523AE934722L,
    0x569F606FD6DA5D612F10CFB95C0BDE6DL,
    0x68CB5A1CF54C078BF0E7E89584C1A4EL,
    0xC11E2CD82D1F9FBD7E4D6EE9581FF3BDL,
    0x1DF4C637D625313720F45706A48FF20FL,
    0x3122EF3A001AAECDB8DD9D843C029E06L,
    0xADB778A0F729293E7E0B19B96A4C5A61L,
    0x938C747C6A051B3E163EB802A325148EL,
    0x38543C5E820DD9403B57BEFF6020596DL]
print 'Can you turn me back to python ? ...'
flag = raw_input('well as you wish.. what is the flag: ')
if len(flag) > 69:
    print 'nice try'
    exit()
if len(flag) % 5 != 0:
    print 'nice try'
    exit()
for i in range(0, len(flag), 5):
    s = flag[i:i + 5]
    if int('0x' + md5.new(s).hexdigest(), 16) != md5s[i / 5]:
        print 'nice try'
        exit()
        continue
print 'Congratz now you have the flag'

分析一下:

flag 的长度超过 69 个字符,则打印 “nice try” 并退出:所以应该小于69

flag 的长度不是 5 的倍数,则打印 “nice try” 并退出:flag应该是5的倍数

  • flag 切割成每 5 个字符一段。
  • 计算每段的 MD5 哈希值,并将其转换为十六进制整数。
  • 将计算得到的哈希值与 md5列表中对应的值进行比较。

每一行去头去尾(0x)(L)不够32位的高位补零

ALEXCTF{dv5d4s2vj8nk43s8d8l6m1n5l67ds9v41n52nv37j481h3d28n4b6v3k}

目录
相关文章
|
7月前
deedeedee 入土为安的第六天
deedeedee 入土为安的第六天
35 0
|
10月前
|
存储 Unix Linux
计算机操作系统-第六天
计算机操作系统-第六天
计算机操作系统-第六天
星际争霸之小霸王之小蜜蜂(三)--重构模块
星际争霸之小霸王之小蜜蜂(三)--重构模块
|
数据采集 Python
爬虫基础-第六天
在pycharm写正则,并学习re模块
116 1
|
存储 easyexcel 数据库
项目第六天内容介绍 | 学习笔记
快速学习 项目第六天内容介绍
121 0
项目第六天内容介绍 | 学习笔记
|
设计模式 数据处理
【参与评论有奖】把书读薄 | 《设计模式之美》总结篇(下)
从六月开始,断断续续,算是把王争的《设计模式之美》看得差不多了,实战部分没来得及看,不过也是获益良多,思维方式上的一些变化。肚子里的墨水不多,不知道如何描述这种感觉,说两个实际的应用场景,读者自行意会哈,顺便带出总结思维导图~
237 0
|
设计模式
【参与评论有奖】把书读薄 | 《设计模式之美》总结篇(上)
从六月开始,断断续续,算是把王争的《设计模式之美》看得差不多了,实战部分没来得及看,不过也是获益良多,思维方式上的一些变化。肚子里的墨水不多,不知道如何描述这种感觉,说两个实际的应用场景,读者自行意会哈,顺便带出总结思维导图~
251 0
|
机器学习/深度学习 算法 搜索推荐
洛谷每日三题之第六天
洛谷每日三题之第六天
|
存储 安全 搜索推荐
第六天学习笔记
案例分享——钉钉