Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

welcometothelist.com

Name: Anonymous 2008-10-02 6:14

Programming challenges; some of them quite tricky. (``MultLog'' has me stumped right now.)

Name: Anonymous 2008-10-02 6:27

Flashfail

Name: Anonymous 2008-10-02 6:34

WELCOMETOTHELIST.COM TERMS

ONLY SWEDISH CITIZENS OR PEOPLE RESIDING IN SWEDEN CAN COMPETE FOR PRIZES.
EVERYONE ELSE CAN COMPETE TO MAKE IT ON TO THE LIST.

1. Moonspeak moonspeak moonspeak moonspeak moonspeak.
2. Moonspeak moonspeak moonspeak moonspeak moonspeak.
3. Moonspeak moonspeak moonspeak moonspeak moonspeak.
4. Moonspeak moonspeak moonspeak moonspeak moonspeak.
  ⋮
11. Moonspeak moonspeak 2008 moonspeak moonspeak moonspeak.

Name: Anonymous 2008-10-02 8:25

>>3
Thanks...  who do we know in Sweden that will send us our delicious prizes?  I do hope there's delicious cake.

Name: Anonymous 2008-10-02 8:54

I can send you photos of them in exchange for winning solutions and a script that submits them because I only have swfdec installed.

Name: Anonymous 2008-10-02 10:07

hahaha, it's like their website is a tty only a really bad one. so clever!
and the information is brilliantly obfuscated by running off the bottom and side of my browser window.  and it has mandatory registration without even a tease of their challenges.  leaving now.

lrn2projecteuler

Name: Anonymous 2008-10-02 16:46

this was my experience...

>ls
bin/
system/
home/
readme.txt
thelist.exe
reg.exe
login.exe
>vim ./readme.txt
vim ./readme.txt: command not found
>exit


no vim? sage.

Name: Anonymous 2008-10-02 17:00

>>7
vim isn't the standard.

Name: Anonymous 2008-10-02 20:25

>>8
vimitor isn't even a word

Name: Anonymous 2008-10-03 3:15

>ls
bin/
system/
home/
readme.txt
thelist.exe
reg.exe
login.exe
>ls bin/
ls bin/: command not found

failure

Name: Anonymous 2008-10-03 4:06

>>9
edsual isn't a word either.

Name: Anonymous 2008-10-03 4:12

>>11
Vditor Iro isn't an acronym either.

Name: Anonymous 2008-10-04 18:30

>jolt
24 each month, for one year. awarded to five persons. 24*12*5=1440 cans of jolt. it is hidden someWHERE around here.

Name: Anonymous 2008-10-04 19:08

I'm going to go get some Jolt now to become an EXPERT PROGRAMMER

Name: Anonymous 2008-10-13 10:45

Put solutions each in ClassName.txt and run the following Python program.

(then your constraint becomes network latency; so best to run this in Sweden or even better on the same ISP as welcometothelist.com, iPeer)


import socket
import time
import struct
import random
import re
import shutil

USERNAME = '' # your username
PASSWORD = '' # your password

FILTER = ''.join([(len(repr(chr(x))) == 3) and chr(x) or '.' for x in range(256)])

def dumpString(src, length=16):
    return
    result = []
    for i in xrange(0, len(src), length):
       chars = src[i:i+length]
       hex = ' '.join(["%02x" % ord(x) for x in chars])
       printable = ''.join(["%s" % ((ord(x) <= 127 and FILTER[ord(x)]) or '.') for x in chars])
       result.append("%04x  %-*s  %s\n" % (i, length*3, hex, printable))
    print ''.join(result)


def recv_timeout(the_socket,timeout=0.5):
    the_socket.setblocking(0)
    total_data=[];data='';begin=time.time()
    while 1:
        #if you got some data, then break after wait sec
        if total_data and time.time()-begin>timeout:
            break
        #if you got no data at all, wait a little longer
        elif time.time()-begin>timeout*2:
            break
        try:
            data=the_socket.recv(8192)
            if data:
                total_data.append(data)
                begin=time.time()
            else:
                time.sleep(0.1)
        except:
            pass
    return ''.join(total_data)

def amf_str(s):
        return "\x02"+struct.pack(">H",len(s))+s

def amf_bool(b):
        if (b):
                return "\x01\x01"
        else:
                return "\x01\x00"

def amf_null():
        return "\x05"

def amf_num(n):
        return "\x00"+struct.pack(">d",n)

def amf_objstart():
        return "\x03"

def amf_objend():
        return "\x00\x00\x09"

def amf_objitem(name, obj):
        objdat = ""
        if (type(obj)==type("")):
                objdat = amf_str(obj)
        if (type(obj)==type(0)):
                objdat = amf_num(obj)
        if (type(obj)==type(0.0)):
                objdat = amf_num(obj)
        if (type(obj)==type(False)):
                objdat = amf_bool(obj)
        return struct.pack(">H",len(name))+name+objdat

def chunk_packet(p):
        outp = ""
        while(True):
                p, q = p[128:], p[0:128]
                outp += q
                if (p==""):
                        return outp;
                else:
                        outp += "\xc3"

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("www.welcometothelist.com",8080))
s.settimeout(None)

# handshake

# print "handshake"

sending = "\x03"+''.join([chr(random.randint(0,255)) for x in xrange(1536)])

dumpString(sending)
s.send(sending)
r = recv_timeout(s,0.3)
dumpString(r)

sending = r[1:1537]
dumpString(sending)

s.send(sending)

# print "connect"

packet_data = amf_str("connect")
packet_data += amf_num(1)
packet_data += amf_objstart()
packet_data += amf_objitem("app", "thelist")
packet_data += amf_objitem("flashVer", "WIN 9,0,47,0")
packet_data += amf_objitem("swfUrl", "http://www.welcometothelist.com/TheLIST.swf")
packet_data += amf_objitem("tcUrl", "rtmp://www.welcometothelist.com:8080/thelist")
packet_data += amf_objitem("fpad", False)
packet_data += amf_objitem("audioCodecs", 615)
packet_data += amf_objitem("videoCodecs", 124)
packet_data += amf_objitem("videoFunction", 1)
packet_data += amf_objitem("pageUrl", "http://www.welcometothelist.com/")
packet_data += amf_objitem("objectEncoding", 0)
packet_data += amf_objend()

packet = "\x03\x00\x05\x39" + struct.pack(">L", len(packet_data))[1:] + "\x14" + "\x00\x00\x00\x00" + chunk_packet(packet_data)
s.send(packet)
dumpString(packet)

# ignore result, assume okay

dumpString(recv_timeout(s))

# print "login"

packet_data = amf_str("login")
packet_data += amf_num(3)
packet_data += amf_null()
packet_data += amf_str(USERNAME)
packet_data += amf_str(PASSWORD)

packet = "\x43\x00\x05\x39" + struct.pack(">L", len(packet_data))[1:] + "\x14" + chunk_packet(packet_data)
s.send(packet)
dumpString(packet)

dumpString(recv_timeout(s))

# print "start session"

packet_data = amf_str("startSession")
packet_data += amf_num(4)
packet_data += amf_null()

packet = "\x43\x00\x05\x39" + struct.pack(">L", len(packet_data))[1:] + "\x14" + chunk_packet(packet_data)
s.send(packet)
dumpString(packet)

dumpString(recv_timeout(s))

r = re.compile("public\\ class\\ (.*?)\\\\n")
r2 = re.compile('(\\{\\\"stat.*xecuteStatus\\\"\\})')
r3 = re.compile('fileContent\\"\\:\\"(.*)\\"\\},\\"command')
##################################################

for fileid in xrange(5):

        # print "open file"

        packet_data = amf_str("openFile")
        packet_data += amf_num(5)
        packet_data += amf_null()
        packet_data += amf_num(fileid)

        packet = "\x43\x00\x05\x39" + struct.pack(">L", len(packet_data))[1:] + "\x14" + chunk_packet(packet_data)
        s.send(packet)
        dumpString(packet)

        contents = recv_timeout(s)
        dumpString(contents)

        challenge = r.findall(contents)[0].replace("{","").replace(" ","")
        print str(fileid)+": "+ challenge

        print "save and compile"

        try:
                f=open(challenge+".txt","r")
        except IOError:
                f=open(challenge+".todo.txt","w")
                f.write(r3.findall(contents.replace("\xc3",""))[0].replace('\\"','"').replace("\\n","\n").replace("\\t","\t"))
                f.close()
                print "MISSING!"
                break
        packet_data = amf_str("saveAndCompile")
        packet_data += amf_num(6)
        packet_data += amf_null()
        packet_data += amf_num(fileid)
        packet_data += amf_str(f.read().replace("\n","\x0d"))
        f.close()

        packet = "\x43\x00\x05\x39" + struct.pack(">L", len(packet_data))[1:] + "\x14" + chunk_packet(packet_data)
        s.send(packet)
        dumpString(packet)

        dumpString(recv_timeout(s))

        print "run"

        packet_data = amf_str("run")
        packet_data += amf_num(7)
        packet_data += amf_null()
        packet = "\x43\x00\x05\x39" + struct.pack(">L", len(packet_data))[1:] + "\x14" + chunk_packet(packet_data)
        s.send(packet)
        dumpString(packet)

        contents = recv_timeout(s)
        dumpString(contents)
        result = r2.findall(contents)[0].replace("\xc3","")
        print result
        if '"result":"false"' in result:
                print "YOU FAIL IT!"
                shutil.move(challenge+".txt",challenge+".fail.txt")
                break


s.close()

Name: Anonymous 2008-10-13 10:48

>>15
Where's the rm -rf shellcode?

Name: Anonymous 2008-11-11 10:14

They announced the winners. We only came 66th ._.

Name: Anonymous 2008-11-11 10:25

>>15
Holy crap that was terrible.

Name: Anonymous 2008-11-11 13:51

>>18
Holy crap that was terrible!

Name: Anonymous 2008-11-12 11:05

>>18
Sorry, I just couldn't be bothered to do it ``properly''

Name: Anonymous 2008-11-12 11:17

>>17
We participated?

Name: Anonymous 2008-11-13 11:14

>>15 tl;dr what does it do?

Name: Anonymous 2008-11-14 13:34

>>18
My dogs got no nose

Name: Anonymous 2008-11-14 16:46

>>23
How does it Haskell?

Name: Anonymous 2008-11-14 17:01

>>24
Pointfree!

Name: Anonymous 2008-11-14 18:26

>>23
my dogs name was haskel and he's dead

Name: Anonymous 2008-11-14 18:46

>>26
My dog's name is Haskell and he's just fine.

Name: Anonymous 2008-11-14 20:10

>>27
My dog`s name is Kaskell and he`s just fine‼ *


* Haskell is dead

Name: Anonymous 2008-11-14 20:26

>>28
Suppose you go home, enter your house/apartment, hit the light switch, and nothing happens - no light floods the room. What exactly, in order, are the steps you would take in determining what the problem was?

Name: Anonymous 2008-11-14 21:36

>>29
- Does room in which light switch exists have any lights in it?  If not, install lights or try another room
- Do other houses in the same vincinity have electricity (i.e., are lights on in house next door or across street).  If not (possibly due to major power outage or natural disaster), go to anther vincinity and retry.
- Try another light switch in same house.  If it doesn't work:
  - Check fuse box/circuit breakers. 
  - Check if electricity bill is paid
- Check lights, are they broken or burnt out (shake lightbulbs).  If so, install new lightbulbs
- Check fixture in which lights are connected (lamp, etc.) for defects by testing in a room with known good lightswitch
- If you get to this point, there is a problem with internal wiring.  Get a licensed electrician and check that

Name: Anonymous 2008-11-14 21:56

>>29
What time of day is it?

Name: Anonymous 2008-11-15 0:42

anther vincinity

Name: Anonymous 2009-08-16 23:32

Lain.

Name: Anonymous 2013-09-01 19:44



        _
       r,)へ _,.-─-、 _へ_
      r/   \;;;;;'ニニイ___7(、_
      )i     ゝ'":::::::::::::::::::::::::::ヽ、
     /rイ `γ´:::::::::::::::::::::::::::::::::::::::::::';,
    /:::ゝヘ、,'::::::::/:::i:::::::/i::::/:::/!:::::;::::::::i
    /::::::iヽイi:::::::イ::::ハ::/ー/-i:::/ |:::::!:;:i:::::i
   ,'::::::i:く_ハ|::::::::レ´::イ!イテ'ト,/  !::/-i::i:::i
   !:::::ハ:::!::::i:::::/(_[ヨ.' ヒ'__,!   'ィ'i'i /::i;;i
   .|:::/ i:::!:::i:::::l::::|::l::i. ""   、└'iヨ、|V
    ヽ! ノ:::i:::ハ,ィ_;;;|:|:::ト,   rーァ "人| 
   ノ) ゝ、:!/⌒ヽ',:::',.i.ヽ、 __ ,..イ|:::|  ,.ヘ
   (!  ,.へ'、    ヘ:::!.、__n/ >、|::|:!/ ノ)、   
    /ヽ  \,.ィ、 i V  ハイ ト,レ/i  Y i
   /   ヽ  .>ー/  ,.イ ハ i/ヽへ ノ) ノ)
  ./     _,.イニイ  く、__,.__/ i / / ( (`ー'--、
  〈    ´ ̄`\ン、  /  ./__〉 ト/   ンヽ、  l i─ー、
   ',     / /`ー、_ /     iヽ、 ノ) ( (  l -、───┐
   i     l /  、ヽ、),´  __,...イヽ、(イ`ー-)ノ___」─'.___________|

Don't change these.
Name: Email:
Entire Thread Thread List