re4-unvm-me

re4-unvm-me
下载是.pyc文件,vs打不开,pycharm打开是乱码
下载EasyPythonDecompiler下载链接
在这里插入图片描述
先把.pyc文件Decompile,自动生成一个文件,将后缀名改成.txt,然后记事本打开

# Embedded file name: unvm_me.py
import md5
md5s = [174282896860968005525213562254350376167L,
 137092044126081477479435678296496849608L,
 126300127609096051658061491018211963916L,
 314989972419727999226545215739316729360L,
 256525866025901597224592941642385934114L,
 115141138810151571209618282728408211053L,
 8705973470942652577929336993839061582L,
 256697681645515528548061291580728800189L,
 39818552652170274340851144295913091599L,
 65313561977812018046200997898904313350L,
 230909080238053318105407334248228870753L,
 196125799557195268866757688147870815374L,
 74874145132345503095307276614727915885L]
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()

print 'Congratz now you have the flag'

根据if int('0x' + md5.new(s).hexdigest(), 16) != md5s[i / 5],先将list内的数字进行十六进制转换再进行MD5解密
十六进制转换后:

831DAA3C843BA8B087C895F0ED305CE7
6722F7A07246C6AF20662B855846C2C8
5F04850FEC81A27AB5FC98BEFA4EB40C
ECF8DCAC7503E63A6A3667C5FB94F610
C0FD15AE2C3931BC1E140523AE934722
569F606FD6DA5D612F10CFB95C0BDE6D
68CB5A1CF54C078BF0E7E89584C1A4E
C11E2CD82D1F9FBD7E4D6EE9581FF3BD
1DF4C637D625313720F45706A48FF20F
3122EF3A001AAECDB8DD9D843C029E06
ADB778A0F729293E7E0B19B96A4C5A61
938C747C6A051B3E163EB802A325148E
38543C5E820DD9403B57BEFF6020596D

MD5依次解密后:

ALEXCTF{dv5d4s2vj8nk43s8d8l6m1n5l67ds9v41n52nv37j481h3d28n4b6v3k}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值