栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

[攻防世界]re4-unvm-me

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[攻防世界]re4-unvm-me

解析:

获取到下载的文件,是一个pyc的文件,pyc文件是py的二进制文件,所以我们需要反编译成py的文件,这时候需要到了一个网站。

https://tool.lu/pyc/

这个网站可以把pyc文件转换为py文件,获得了python的源码。

#!/usr/bin/env python
# visit https://tool.lu/pyc/ for more information
# Version: Python 2.7

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都是0x + md5的值,所出来的,所以上面那些,都是md5加密只是前面加了一个0x,所以我们把0x去掉之后去网站上解密

https://pmd5.com/

最后一行一行解出得ALEXCTF{dv5d4s2vj8nk43s8d8l6m1n5l67ds9v41n52nv37j481h3d28n4b6v3k}第七行注意,最前面缺了一个0。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/958877.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号