首先吐槽一下:题目设置有问题- -
那么就挂个server接收连接呗,还要手动输入60次!!太坑!
还有就是,我做这题时是直接Reverse,如果是server端fread(flag)就不会出现这种奇葩事件,望注意~!~!
分析过程就不说了,程序运行弹了一串Base64编码的字符串,解码出来是题目要求
(对应描述)
运行程序之后,程序会工作在在9877端口上,向访问他的客人发送一些表达式
请你计算这些表达式的值。并从标准输入将这些值输入到程序中,如果你能保
持60轮的正确结果。那么恭喜你。
注意:
1
.每个表达式有2000个左右的操作数
2
.每个数的大小范围在2040403040~3040403040之间
计算愉快。
by
SYC
.fluyy
tulneer
@gamil
.com
多的不说了,直接上脚本,比较简单的一题- -|!(Re)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('localhost', 9877))
r = 1
while True:
content = s.recv(65535)
#print content
nums = content.strip('\x00').split('+')
#print nums
sums = 0
for i in nums:
sums += int(i)
print 'Round %d result: %d' % (r, sums)
r += 1
经过60轮的蛋疼输入后,得到flag:
62b5C\6Aj7F 7Az6Aj
|