1、ringzer0team coding challenge 15:I saw a little elf
题目每次随机生成一段长度不一的代码,经过一系列base64解码后得到ELF文件(长度固定为8192字节),逆向得到字符串的具体位置,2秒内提交即可。代码如下:
import urllib2
import hashlib
import struct
import base64
import time
from bs4 import BeautifulSoup
#d=x[0x5E6:0x5EA]+x[0x5EE:0x5F0]
def OpenUrl_GetCode():
Request = urllib2.build_opener()
Request.addheaders.append(('Cookie' , 'cookievalue'))
RingZero = Request.open('http://ringzer0team.com/challenges/15')
Binary = BeautifulSoup(str(RingZero.readlines()),'lxml' )#, 'lxml'
Binary = Binary.find('div' , {
'class' :'message'})
Binary = Binary.get_text()
Binary = Binary.replace('----- BEGIN Elf Message -----' , '').replace('----- End Elf Message -----' , '')
Binary = Binary[24:-24]
print len(Binary)
return Binary
def Convert_To_Elf_Bytes(Code):
Code1=Code
len1=len(Code)
count=0
try:
while True:
Code1=base64.b64decode(Code1)
len1=len1*3/4
if(len1<10000):
break