The Great Wizard Of Leaks - A Blockchain Fantasy-Action-Adventure EpicsteemCreated with Sketch.

in #wikileaks8 years ago (edited)

The Great Wizard Of Leaks

A Blockchain Fantasy-Action-Adventure Epic

(This is purely a work of fiction. Any resemblance to real persons or events are purely coincidental.)

Background

"If the password is ever released ("Whatever happens, even if there's video; it was murder"), the files are encrypted via OpenSSL file encryption. "

The Great Wizard of Leaks had been exposing the corruption of the Kings and Rulers for a long time. But one day after exposing their treasonous actions in foreign lands, they decided that he had gone too far. As a result, The Great Wizard was forced to take refuge in a castle that the Kings and Rulers did not control. The Great Wizard resided here for five years and continued to cast spells that upset the people's tyrannic rulers.

However, on October 15th in the Current Year, the Rulers had had enough and decided to unplug the source of the Great Wizard's power (the Internet), thereby preventing him from interfering with their rigged election which favored the Great Witch of the West (aka: The Cunt). Despite this, The Cunt still lost to the Almighty Knight Sir Trumpador Maximus Decimus Meridius III, who claimed he had plans to bring peace to the Lands and "drain the swamp" that gave The Cunt and her cronies their power. Although sensible people were not all trusting of Trumpador, most of them realized that he still represented their best hope.

Things started looking better in the West, but there were still some problems.

Well known and generally despised Gargoyle $oros was trying to sow seeds of division amongst the people in order to regain control. He had managed to split the people of the land broadly into two opposing groups, The Left and The Right, exploiting their fears by exaggerating everything unkosher that Knight Sir Trumpador Maximus Decimus Meridius III had said. The Gargoyle even went so far as to fund civil rebellions, using the same techniques of subversion that were used in other lands to the East to overthrow Governments that the Gargoyle did not like. "Divide and conquer!" he had told The Cunt and her cronies. "It is far easier to conquer a land if the citizens are divided and cannot put up a unified resistance!"

Meanwhile, The Great Wizard may have had his own woes. Since his source of mana (Internet) was cut, the people had not heard from him and his group of apprentice wizards (belonging to a noble order known as WizardLeaks). They had become seemingly incommunicado. Rumor has it that their order was infiltrated by treasonous goons working on behalf of The Cunt and the Gargoyle and it was entirely possible that the Great Wizard himself had been captured.

The King and his Alphabet Stooges may have been clever here though. Instead of letting the people know that the Great Wizard had been illegally abducted, they may have chopped previously unreleased interview footage to make it appear as though the Great Wizard was still alive and well. This is not confirmed, but the people have good reason to speculate.

The Great Wizard always knew that his capture was a possibility and thus dispersed gold to the people which could only be unlocked with a key that would automatically release if his Wizardly Magic was to cease.

On October 22nd in the Current Year, this may have occurred. The well-established MagiRealm known as Readit and the sensitive town of Twithurt were attacked and brought down while the keys were allegedly getting dispersed. Most mentions of the alleged keys on Readit and Twithurt were also removed.

Some citizens that frequented the horrible lair known as Forchan, believed to be the dwelling place of the notorious hacker known as Forchan, also reported that The King's Alphabet Stooges were even removing the alleged keys from there.

They started wondering where else The Great Wizard may have hidden the keys to this gold. A place where the Alphabet Stooges would have a hard time removing it.

After much thought, some citizens agreed that the most likely place was in a thing called the "Blockchain" that resided in the MagiRealm. This would be hard to for the Evil Alphabet Wizard's to censor as it is mostly controlled and determined by the people themselves.

The question is: Are you a bad enough dude to help rescue The Great Wizard?

A completely fictional timeline of events follows below.

  • 16 October (between 11:00pm /11:30 pm GMT): WizardLeaks releases 3 Pre-Commitments (1: Kerry; 2: Ecuadoor; 3: UK FCO)
    https://twitter.com/wikileaks/status/787777344740163584
    https://twitter.com/wikileaks/status/787781046519693316
    https://twitter.com/wikileaks/status/787781519951720449

  • 17 October (6:33 am GMT): “WizardLeaks announces that The Great Wizard's internet link has been intentionally severed by a state party” and that “We have activated the appropriate contingency plans”.
    https://twitter.com/wikileaks/status/787889195507417088

  • 17 October (8:27 pm GMT): On a second tweet (almost 14 hours later) announces that “We can confirm Ecuadoor cut off The Great Wizard's internet access Saturday (15 october), 5pm GMT, shortly after publication of The Cunt's Goldman Sachs speechs.”
    https://twitter.com/wikileaks/status/788099178832420865?lang=en

  • 17 October: GUCCIFER_2 tweets: “i'm here and ready for new releases. already changed my location thanks @WizardLeaks for a good job!”
    https://twitter.com/guccifer_2/status/788035352053374976

  • 17 October: The castle guard tells a caller they can't comment if the Great Wizard is alive:
    Recording 1 , Recording 2

  • 24 october: The Great Wizard lawyer ‪@BarnsGreg gives interview to “ABC Radio National2 (Australia)”, and states that spoke with The Great Wizard “yesterday”. (interview link not working anymore)

  • 25 October: CISL Conference schedule and posters change (Announcement of The Great Wizard “live connection” from Lundoon”

  • 25 October: Noble-woman Pammy Anderson tweets photo with toy "For The Great Wizard's cat"
    https://twitter.com/pamfoundation/status/790914144748892160?lang=it

  • 26 October: The Great Wizard “speaks” at CISL (Argentina) – Bad quality audio only phone call where he appears to not respond to questions clearly and talks over interviewers.

  • 26 October (9:25AM): Kim DotKom insinuating WizardLeaks has the deleted emails

  • 26 October (12:07PM): Kim DotKom again insinuating WizardLeaks has the deleted emails

  • 26 October (12:42PM): Kim DotKom telling Gowdy and Trumpador how to legally obtain deleted 33k emails

  • 26 October (4:15PM): Kim DotKom restating legal way to obtain emails so that when the release comes from WizardLeaks, to convict , congress / prosecutors can get valid evidence for US .gov

  • 26 October: WizardLeaks tweets about Pardon for Manning and about Warbama lying about 's server - Pedo-esta leaks starting to show Warbama name.

  • 27 October: WizardLeaksTaskForce tweets: “The video from The Great Wizard's talk at @CISL_Argentina is legit. It was scheduled sometime ago. CISL2016”

  • 28 October: WizardLeaks annouces that “Sweden has rejected The Great Wizard's request to be escorted by police to the funeral of Gavin MacFadyen on Monday.”
    http://www.bbc.co.uk/news/uk-37798390

  • 28 October: WizardLeaks releases “statement from The Great Wizard” about swedish decision.

  • 28 October: FBI reopens ’s email case

  • 29 October: WizardLeaks tweets about John Pilger’s article “on The Cunt, Trump, the media, WizardLeaks and war”, where Pilger states that “The Great Wizard knows the truth. And let me assure those who are concerned, he is well, and WizardLeaks is operating on all cylinders.”
    https://twitter.com/wikileaks/status/792203723942555648?lang=en
    https://archive.fo/1inAb#selection-409.3-413.11

  • 30 October: WizardLeaks announces “We commence PHASE 3 of our US election coverage next week.”
    https://twitter.com/wikileaks/status/792872274135281664

  • 31 October: WizardLeaks publish a “poll”: “Who will US president Barack Warbama pardon (for distributing documents marked classified) on his way out of office?
    Chelsea Manning/The Cunt/The Great Wizard/Eduardo Snowman”

  • 3 November: Kim tweets "Relax. The Great Wizard is not dead. He's very busy analyzing extremely sensitive leaked emails 20 hrs/day".
    https://twitter.com/KimDotcom/status/793986913304621058

  • 6 November: DDoS attack takes down WizardLeaks for the first time in years
    https://twitter.com/wikileaks/status/795503927378722816

  • 7 November: Anon notices that several Pedo-esta and DNC emails are missing.
    https://www.reddit.com/r/conspiracy/comments/5cbx22/help_me_find_the_598_missing_wikileaks_emails/

  • 8 November (AM-PM): Large numbers of MagiRealm attacks target Saudi Arabia and Emirates:

  • 8 November: WizardLeaks releases torrents for new insurance files. Hashes to not match the pre-commits.
    https://www.reddit.com/r/crypto/comments/5cz1fz/wikileaks_latest_insurance_files_dont_match_hashes/

  • 9 Nov: A single file is changed on the file.wikileaks.org/torrent

  • 14 November: Sweden finally accepts the great wizards statement in London. Neither the Swedish diplomat or the wizards remaining lawyer was able to see the wizard face to face.

  • 17 November: WizardLeaks Tweets: NOTE: When we release pre-commitment hashes they are for decrypted files (obviously). Mr. Wizard appreciates the concern.
    https://twitter.com/wikileaks/status/798997378552299521

  • 18 November: WizardLeaks tweets "Black-PR campaign posts going around recently trying to suppress submissions to WikiLeaks. False, but who benefits?"
    https://twitter.com/wikileaks/status/799829999314468864

  • Some weapons to assist you on this journey

    These weapons all rely upon a Bitcoin RPC daemon with txindex = 1 set in the bitcoin.conf file.

    Code below should also work on Litecoin.

    block-opreturn-finder.py

    Change the rpcserver = "http://username:password@localhost:8332" to suit.

    import sys, getopt
    import json
    import pycurl
    import struct
    import cStringIO
    import pprint;
    import jsonrpclib
    import subprocess;
    import os;
    from binascii import unhexlify, crc32
    
    rpcserver = "http://username:password@localhost:8332"
    
    server = jsonrpclib.Server(rpcserver)
    
    def decode_transaction(transaction):
        "Decodes an individual transaction"
    
        try:
            rawTx = server.getrawtransaction(transaction)
            tx = server.decoderawtransaction(rawTx)
    
            data = b''
            for txout in tx['vout']:
                if "OP_RETURN" in txout['scriptPubKey']['asm']:
                  for op in txout['scriptPubKey']['asm'].split(' '):
                      if not op.startswith('OP_'):
                          print(transaction+": contains OP_RETURN")
                          data = unhexlify(op.encode('utf8'))
                          file = open('opreturns.txt', "ab")
                          file.write(data+"\r\n")
                          file.close()
        
        except Exception, e:
            print(jsonrpclib.history.request)
            print(str(e))
            
        return
    
    def get_transactions_for_block(block):
        "Gets the transactions for a given block"
        print("Checking block: "+str(block))
        hash = server.getblockhash(block)
        block = server.getblock(hash)
        for transaction in block["tx"]:
            decode_transaction(transaction)
        return
    
    type = sys.argv[1]
    
    if type == 'transaction':
        transaction = sys.argv[2]
        decode_transaction(transaction)
    
    elif type == 'blocks':
        print("Blockchain length: " + str(server.getblockcount()))
        start = int(sys.argv[2])
        end = int(sys.argv[3])
        for block in range(start, end):
            get_transactions_for_block(block)
    

    block-data-finder.py

    • Change the rpcserver = "http://username:password@localhost:8332" to suit.
    • ignore_data = 1 will not save any results that file -b detects as "data".
    • crc_verification = 0 will not perform CRC checks on the resultant file (useful if spans multiple transactions).
    import sys, getopt
    import json
    import pycurl
    import struct
    import cStringIO
    import pprint;
    import jsonrpclib
    import subprocess;
    import os;
    from binascii import unhexlify, crc32
    
    rpcserver = "http://username:password@localhost:8332"
    data_folder = "data"
    crc_verification = 0
    ignore_data = 1
    
    server = jsonrpclib.Server(rpcserver)
    
    def decode_transaction(transaction, crc_check = 1):
        "Decodes an individual transaction"
    
        try:
            rawTx = server.getrawtransaction(transaction)
            tx = server.decoderawtransaction(rawTx)
    
            data = b''
            for txout in tx['vout'][0:-2]:
                for op in txout['scriptPubKey']['asm'].split(' '):
                    if not op.startswith('OP_') and len(op) >= 40:
                        data += unhexlify(op.encode('utf8'))
                        
            if len(data) >= 40:
                length = struct.unpack('<L', data[0:4])[0]
                checksum = struct.unpack('<L', data[4:8])[0]
                data = data[8:8+length]
                
                if checksum == crc32(data) or crc_check == 0:
                    file_path = data_folder + "/" + transaction
                    
                    file = open(file_path, "wb")
                    file.write(data)
                    file.close()
                    
                    file_type = subprocess.check_output(["file", "-b", data_folder+"/"+transaction])
                    
                    if file_type.startswith("data") and ignore_data:
                        os.remove(file_path)
                    else:
                        destination_folder = data_folder + '/' + file_type
                        
                        try:
                            os.stat(destination_folder)
                        except:
                            os.mkdir(destination_folder) 
                            
                        os.rename(file_path, destination_folder+'/'+transaction)
                        
                        # Output file type
                        if not file_type.startswith("data"):
                            print(transaction + ": " + file_type);
                        
        
        except Exception, e:
            print(jsonrpclib.history.request)
            print(str(e))
            
        return
    
    def get_transactions_for_block(block, crc_check = 1):
        "Gets the transactions for a given block"
        print("Checking block: "+str(block))
        hash = server.getblockhash(block)
        block = server.getblock(hash)
        for transaction in block["tx"]:
            decode_transaction(transaction, crc_check)
        return
    
    type = sys.argv[1]
    
    if type == 'transaction':
        transaction = sys.argv[2]
        decode_transaction(transaction, crc_verification)
    
    elif type == 'blocks':
        print("Blockchain length: " + str(server.getblockcount()))
        start = int(sys.argv[2])
        end = int(sys.argv[3])
        for block in range(start, end):
            get_transactions_for_block(block, crc_verification)
    

    Recommended usage of these weapons

    Scraping OP_RETURN between 15/10/2016 00:00:01 through 24/10/2016 23:59:59

    python block-opreturn-finder.py blocks 434304 435711

    Scraping blocks for data in outputs between 15/10/2016 00:00:01 through 24/10/2016 23:59:59

    python block-data-finder.py blocks 434304 435711

    Good luck!

    Credit , Archives and Further Information

    This timeline was put together through the joined efforts of an anonymous council out of concern for Julian Assange's safety.
    This 100% SP post will continue to be added to and refined until archive.
    All images are under a CC0 license and sourced from pixabay
    Fundraising operations of @steemleak will cease until the council is convinced of the great wizards safety.

    A blood (pgp) signed scroll is the standard practice of our order, but thus far it remains elusive and our requests mysteriously fall on deaf ears

    I have great fears that dark sorcery is at work here. All who embark on this adventure should do so with caution.

    See also:


    Edit: I'm not going to continue this, I'm 100% convinced JA is dead and we're seeing some elaborate theatre.
    I'm not going to try and convince others, If someone else wants to continue the project I'll hand over @steemleak keys - but my interests in wikileaks was always because of Julian, and if he's dead I don't want this constant obligation to fund his murderers.

    WL has become an extremely powerful political tool, amd I expect we won't get true (dis)closure about this for years.
    Prove me wrong, and I'll happily donate all my remaining personal bitcoin to wikileaks. This was never about money to me.

    Sort:  

    wikileaks WikiLeaks tweeted @ 07 Nov 2016 - 05:51 UTC

    Our email publication servers are under a targeted DoS attack since releasing #DNCLeak2

    You can increase capacity: shop.wikileaks.org/donate

    Disclaimer: I am just a bot trying to be helpful.

    You had me at "crc_verification = 0 will not perform CRC checks on the resultant file (useful if spans multiple transactions)" just kidding;D~
    I just mean, it's an interesting way to display information.

    The language of the snakes can be daunting when the uninitiated stumble across them - but they hold great power and shouldn't be feared ;)

    This post has been ranked within the top 50 most undervalued posts in the second half of Nov 19. We estimate that this post is undervalued by $7.01 as compared to a scenario in which every voter had an equal say.

    See the full rankings and details in The Daily Tribune: Nov 19 - Part II. You can also read about some of our methodology, data analysis and technical details in our initial post.

    If you are the author and would prefer not to receive these comments, simply reply "Stop" to this comment.