Man these spot the difference games are getting hard

Table of Contents

Cipher, cipher, cipher.

Problem

 -----------------------------------------------------------------------
 Welcome to DiffSpot, a new Spot the Differnce Game sponsored by DawgSec
           You'll be presented with a variety of encoded data,
               all of which will be of the form DogeCTF{}
 Possible ciphers include:
 - rot13
 - rot16
 - base64
 - base32
 - base16
 - atbash
 - affine with b=6, a=9
 - railfence with key=3
          Your job is to decode the flag and send it back to us
                      Seems easy enough right?
 -----------------------------------------------------------------------

Solution

Just implement those ciphers!

from base64 import (b64decode, b32decode, b16decode)
import binascii
import sys
import socket
import time
import math
import random

# passed QbtrPGS{JTLDKhzNpwyilfKyjQIfMOqXILVMrxiH}
def de_rot_13(input: str) -> str:
    origin = "NOPQRSTUVWXYZnopqrstuvwxyzABCDEFGHIJKLMabcdefghijklm"
    after = "ABCDEFGHIJKLMabcdefghijklmNOPQRSTUVWXYZnopqrstuvwxyz"
    ciper_text = input
    decoded = ""
    for char in ciper_text:
        try:
            decoded = decoded + after[origin.index(char)]
        except ValueError:
            decoded = decoded + char
    return decoded


# passed TewuSJV{wTarrsmZfTlKNKOXHxMYdgJclywekwrm}
def de_rot_16(input: str) -> str:
    origin = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
    after = "KLMNOPQRSTUVWXYZABCDEFGHIJklmnopqrstuvwxyzabcdefghij"
    ciper_text = input
    decoded = ""
    for char in ciper_text:
        try:
            decoded = decoded + after[origin.index(char)]
        except ValueError:
            decoded = decoded + char
    return decoded


# passed RG9nZUNURntsSGxPSkxNdWxVTGFtRVBpaU1zZm5pY0RkbENQU2tFU30=
def de_base64(input: str) -> str:
    try:
        return  b64decode(input.encode("utf-8")).decode("utf-8")
    except UnicodeDecodeError:
        return "Not a base64"
    except binascii.Error:
        return "Not a base64"


# passed IRXWOZKDKRDHWVLDOZFUQ5DQMNDE2TC2NVRGSRDQMRAWYQLWJRWWUTTYOV3UCVKDPU======
def de_base32(input: str) -> str:
    try:
        return b32decode(input.encode("utf-8")).decode("utf-8")
    except UnicodeDecodeError:
        return "Not a base32"
    except binascii.Error:
        return "Not a base32"


# passed 446F67654354467B55774B4A7A6E6C62526673494C5076447151624E4F58424F725357705163484D7D
def de_base16(input: str) -> str:
    try:
        return b16decode(input.encode("utf-8")).decode("utf-8")
    except UnicodeDecodeError:
        return "Not a base16"
    except binascii.Error:
        return "Not a base16"


# passed WLTVXGU{GHYSDDOEMXDDTUJOBAPWQGNWJRSFULHF}
def de_atbash(input: str) -> str:
    origin = "ZYXWVUTSRQPONMLKJIHGFEDCBA"
    after = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    ciper_text = input
    decoded = ""
    for char in ciper_text:
        try:
            decoded = decoded + after[origin.index(char)]
        except ValueError:
            decoded = decoded + char
    return decoded


# passed HCIQYVZ{NWKGMHEJNLNVMIIABEIMTOFBCGLTVVVU}
def de_affine_9_6(input: str) -> str:
    origin = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    after = "ILORUXADGJMPSVYBEHKNQTWZCF"
    ciper_text = input
    decoded = ""
    for char in ciper_text:
        try:
            decoded = decoded + after[origin.index(char)]
        except ValueError:
            decoded = decoded + char
    return decoded


# passed DCFNHPGFFI}OET{DJYRQCUSJIGYGKZLGFKPMKIZCS
def decrypt_rail_fence(cipher, key):
    # create the matrix to cipher
    # plain text key = rows ,
    # length(text) = columns
    # filling the rail matrix to
    # distinguish filled spaces
    # from blank ones
    rail = [['\n' for i in range(len(cipher))]
            for j in range(key)]

    # to find the direction
    dir_down = None
    row, col = 0, 0

    # mark the places with '*'
    for i in range(len(cipher)):
        if row == 0:
            dir_down = True
        if row == key - 1:
            dir_down = False

        # place the marker
        rail[row][col] = '*'
        col += 1

        # find the next row
        # using direction flag
        if dir_down:
            row += 1
        else:
            row -= 1

    # now we can construct the
    # fill the rail matrix
    index = 0
    for i in range(key):
        for j in range(len(cipher)):
            if ((rail[i][j] == '*') and
                    (index < len(cipher))):
                rail[i][j] = cipher[index]
                index += 1

    # now read the matrix in
    # zig-zag manner to construct
    # the resultant text
    result = []
    row, col = 0, 0
    for i in range(len(cipher)):

        # check the direction of flow
        if row == 0:
            dir_down = True
        if row == key - 1:
            dir_down = False

        # place the marker
        if rail[row][col] != '*':
            result.append(rail[row][col])
            col += 1

        # find the next row using
        # direction flag
        if dir_down:
            row += 1
        else:
            row -= 1
    return "".join(result)



def get_result(query: str) -> str:
    raw = query
    if raw.startswith("DogeCTF"):
        return raw
    result = de_rot_16(raw)
    if result.startswith("DogeCTF"):
        return result
    result = de_rot_13(raw)
    if result.startswith("DogeCTF"):
        return result
    result = de_base64(raw)
    if result.startswith("DogeCTF"):
        return result
    result = de_base32(raw)
    if result.startswith("DogeCTF"):
        return result
    result = de_base16(raw)
    if result.startswith("DogeCTF"):
        return result
    result = de_atbash(raw)
    if result.startswith("DOGECTF"):
        return result
    result = de_affine_9_6(raw)
    if result.startswith("DOGECTF"):
        return result
    result = decrypt_rail_fence(raw, 3)
    if result.startswith("DOGECTF"):
        return result

def netcat(hostname: str, port: int):
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect((hostname, port))
    first_flag = True
    while True:
        if first_flag:
            first_flag = False
            time.sleep(1)
        data = sock.recv(1024)
        res = data.decode()
        res = res.strip()
        print(res)
        question = res.split("\n")
        query = question[-1]
        if query == "WRONG USER INPUT:" or query == "WRONG ORIGINAL STRING:":
            data = sock.recv(1024)
            res = data.decode()
            res = res.strip()
            print(res)
            sock.close()
            exit(-1)
        a = get_result(query)
        if a == None:
            data = sock.recv(1024)
            res = data.decode()
            res = res.strip()
            print(res)
            sock.close()
            exit(-1)
        print(a)
        a = a + "\n"
        sock.send(a.encode())
        time.sleep(0.5)
    sock.close()


hostname_ = "ctf.umbccd.io"
port_ = int(5200)

netcat(hostname_, port_)

Results

➜  ~ python3 ./test.py
-----------------------------------------------------------------------
Welcome to DiffSpot, a new Spot the Differnce Game sponsored by DawgSec
          You'll be presented with a variety of encoded data,
              all of which will be of the form DogeCTF{}
Possible ciphers include:
- rot13
- rot16
- base64
- base32
- base16
- atbash
- affine with b=6, a=9
- railfence with key=3
         Your job is to decode the flag and send it back to us
                     Seems easy enough right?
-----------------------------------------------------------------------
IRXWOZKDKRDHWVSGON4WEQ3EIZHHGR2MOVIWI5DTM5CHETDKNRQXA2KHJRKWST2VPU======
DogeCTF{VFsybCdFNsGLuQdtsgDrLjlapiGLUiOU}
TewuSJV{xhMyPOJKDCDarkTuBYXNevyRBaQeaHhq}
DogeCTF{hrWiZYTUNMNkbuDeLIHXofiBLkAokRra}
IRXWOZKDKRDHW23RKVGXGWKSIFIFS23IIZSXQQTLK5CHM5LFKJSUC2TDNZZGC4TSPU======
DogeCTF{kqUMsYRAPYkhFexBkWDvueReAjcnrarr}
WLTVXGU{SJYDGVEDMTDWMHXOWIQAROZXFXYWNJNS}
DOGECTF{HQBWTEVWNGWDNSCLDRJZILACUCBDMQMH}
WLTVXGU{GAMWBJLMLLAGFLBJJQYWDXKPPLQIMCZZ}
DOGECTF{TZNDYQONOOZTUOYQQJBDWCPKKOJRNXAA}
IRXWOZKDKRDHWR3QJFIXS6CVOJWVIZKOKRSW62DWLJGUO6LSNNEVAQ3MMFGHK6CDPU======
DogeCTF{GpIQyxUrmTeNTeohvZMGyrkIPClaLuxC}
WLTVXGU{PGVWYZINDXDZXVOJAWXGURHFXRDPYGMT}
DOGECTF{KTEDBARMWCWACELQZDCTFISUCIWKBTNG}
WLTVXGU{KAIJDQQMUXSTKAGIKWQLDGRWPNSCJJOU}
DOGECTF{PZRQWJJNFCHGPZTRPDJOWTIDKMHXQQLF}
446F67654354467B436E53755269556B67645A47566E475A7657674C574C5A53486252684F564C487D
DogeCTF{CnSuRiUkgdZGVnGZvWgLWLZSHbRhOVLH}
HCIQYVZ{QKKMBXSQCZULRLFSEAVYUFJKIKENGADY}
DOGECTF{EMMSLZKEOFQPHPXKUITCQXJMGMUVAIRC}
WLTVXGU{QBCFTJXLCZQKICCATHQEWSXQYQSDSVRR}
DOGECTF{JYXUGQCOXAJPRXXZGSJVDHCJBJHWHEII}
IRXWOZKDKRDHWUSQJRVGEU3KIN3GUY22KVIVGZ3FJBVXQULSLJTUM33FOBLXCZ2WPU======
DogeCTF{RPLjbSjCvjcZUQSgeHkxQrZgFoepWqgV}
446F67654354467B744C626F49674D556F434E6D415A49545472474D7677514563716A56726C7A597D
DogeCTF{tLboIgMUoCNmAZITTrGMvwQEcqjVrlzY}
DCURCIEHOR}OET{LWWRLOUTIMOUFYMPGFHWGAUIGI
DOGECTF{ULHWRWWRCLGOIUATEIUMHOIUOFGYRMIP}
TewuSJV{eoHkGaNUkCZARgFoOeyzLiIJlQELLKqM}
DogeCTF{oyRuQkXEuMJKBqPyYoijVsSTvAOVVUaW}
RG9nZUNURntWVWFtTldQZkNnTERLRE5zQlVzVUJYRVhocWFVQU5YVH0=
DogeCTF{VUamNWPfCgLDKDNsBUsUBXEXhqaUANXT}
DCKTOFOUQO}OET{FIEWYHMAIYBQXNHEGFIIPFRVZH
DOGECTF{KFIITEIWOYPHFMFAOIRYUBVQQXZNOHHE}
IRXWOZKDKRDHW2KMI52VGRLUMZ4EQ322M53HUY2OMVAUIRTPMJTUSS2IKVBEU43NPU======
DogeCTF{iLGuSEtfxHoZgvzcNeADFobgIKHUBJsm}
RG9nZUNURntibk53SWJhdHJUeW5WWHB2R1BVekZCZkV4eHVJYXdnUn0=
DogeCTF{bnNwIbatrTynVXpvGPUzFBfExxuIawgR}
IRXWOZKDKRDHWS3UJ5HWE3SZIJBEURTNPJTFM3KUIJNFO23RMVMVMR3QPBQWKWCUPU======
DogeCTF{KtOObnYBBJFmzfVmTBZWkqeYVGpxaeXT}
WLTVXGU{KDXRBSKQTUAWKHOUOJKVJIFVFWQRQGQS}
DOGECTF{PWCIYHPJGFZDPSLFLQPEQRUEUDJIJTJH}
HCIQYVZ{OCMHPTTMNPKJDHBLTQOYOWNHDZWJMNJU}
DOGECTF{YOSDBNNSVBMJRDLPNEYCYWVDRFWJSVJQ}
WLTVXGU{GYZTQCDGFASMMWFEGOAWKOMPDENQMIHI}
DOGECTF{TBAGJXWTUZHNNDUVTLZDPLNKWVMJNRSR}
IRXWOZKDKRDHW6TBKV4WU6L2OB2W6YTXIFCFMT2JKBZGSSLGNN4EU2KNJJCUKRDDPU======
DogeCTF{zaUyjyzpuobwADVOIPriIfkxJiMJEEDc}
RG9nZUNURntsaWFJQVlhQVZJQ3h5ZHhjT0hoV1RCQ1NwV2RKbG9YQ30=
DogeCTF{liaIAYaAVICxydxcOHhWTBCSpWdJloXC}
DCAKVUQAOM}OET{XQULRKSYXQJYHBJUGFGDVFIZYP
DOGECTF{AXGQKUDLVRVKUSFYQXIQAJZYOHYBMJPU}
DCAMQJCPXK}OET{KBFSATGBKWCEAQKDGFCHKSKVRR
DOGECTF{AKCBMFHSQAKTJGSBCKKWPCVEXARQKKRD}
IRXWOZKDKRDHWYKBINSEQ3TTIFXXES3VJVVWYQKJOZCUCQSWKB4GKS2QJJZWKSDBPU======
DogeCTF{aACdHnsAorKuMklAIvEABVPxeKPJseHa}
DCZQOTFUZP}OET{BXGAWBNVTRPWPQDYGFBBAIEZXF
DOGECTF{ZBBXQGBAOWABTNIVFTERUPZWZPXQPDFY}
446F67654354467B6768777855544A414747506764564247724352734B4446636A68654C5656766E7D
DogeCTF{ghwxUTJAGGPgdVBGrCRsKDFcjheLVVvn}
446F67654354467B417543775479546B4C6D6C54525751776F615865677174524551596C565456737D
DogeCTF{AuCwTyTkLmlTRWQwoaXegqtREQYlVTVs}
TewuSJV{BXEHBXhBJQfrcoEMCrudxBqEvxhTXrUN}
DogeCTF{LHORLHrLTApbmyOWMbenhLaOfhrDHbEX}
WLTVXGU{PZFPPHWGNFZVEIZUQWGLVVCEMGCJKEPS}
DOGECTF{KAUKKSDTMUAEVRAFJDTOEEXVNTXQPVKH}
TewuSJV{AgOfJdFMitIHINDKtkerpjzOcmhiDZid}
DogeCTF{KqYpTnPWsdSRSXNUduobztjYmwrsNJsn}
RG9nZUNURntCU0F4ckNmcmhiWkVZbFBqbUtKaVRYWGZ1Q3p5SHBVen0=
DogeCTF{BSAxrCfrhbZEYlPjmKJiTXXfuCzyHpUz}
RG9nZUNURntLaGt1RmtlelFOT1BJSU9BQmpaUEZoT2xsSEhiVW5OR30=
DogeCTF{KhkuFkezQNOPIIOABjZPFhOllHHbUnNG}
RG9nZUNURntyZk5VTFBPcUlSSkV0ZFFJcllmQmdEYUplbUhRRXdUUn0=
DogeCTF{rfNULPOqIRJEtdQIrYfBgDaJemHQEwTR}
WLTVXGU{INDXCJJXSWGHBKPKLWWQCYUSDMGWDHHW}
DOGECTF{RMWCXQQCHDTSYPKPODDJXBFHWNTDWSSD}
TewuSJV{iGstuPKUVemUJQvEGtctqkNHjAwApEGK}
DogeCTF{sQcdeZUEFowETAfOQdmdauXRtKgKzOQU}
446F67654354467B4B77674A44694A7A584A6B57465A7578594A50464642414E4B7452776D7867417D
DogeCTF{KwgJDiJzXJkWFZuxYJPFFBANKtRwmxgA}
WLTVXGU{YXVHSDKSKSZUOOCLCOEMAVHPGVGEQTQK}
DOGECTF{BCESHWPHPHAFLLXOXLVNZESKTETVJGJP}
WLTVXGU{KECKXOLZTBHSMSPXRWIDRRYSHJLFRRIF}
DOGECTF{PVXPCLOAGYSHNHKCIDRWIIBHSQOUIIRU}
DCZBUEKGNU}OET{QETTTCVUGFOVKPHPGFTQDGNLBQ
DOGECTF{ZQTEBTQTUTDCEVGUKGNFGOLVNKBPUHQP}
DCZVQJDIDY}OET{PBOZUKJQSZVEQDGGGFLSMCKLKA
DOGECTF{ZPLBVOSZQUMKJJCQDSKZIVLEDQKDYGAG}
IRXWOZKDKRDHW32CNR3WIZ3LKRRHEWKPOJYHUS3WNNBGM5TOJFAWYQ3LJRTXMUTPPU======
DogeCTF{oBlwdgkTbrYOrpzKvkBfvnIAlCkLgvRo}
WLTVXGU{JCAZBJDQXAYVNIUQSNUVYWJZINLAXYSD}
DOGECTF{QXZAYQWJCZBEMRFJHMFEBDQARMOZCBHW}
HCIQYVZ{LZIEMFEHYLWIPCSQFWOQPDRIPYELALYQ}
DOGECTF{PFGUSXUDCPWGBOKEXWYEBRHGBCUPIPCE}
IRXWOZKDKRDHWUDZIZFE4WKLMJLVGWCINBBWS5C2ONUFIVSUNFIGUQKENBZUQ4LBPU======
DogeCTF{PyFJNYKbWSXHhCitZshTVTiPjADhsHqa}
DCBSKDQIDI}OET{RTEUKCFNAEFLEVPBGFEWIWKXLS
DOGECTF{BRETSEWUKKICDFWNQAKEIFXLDELVIPSB}
IRXWOZKDKRDHWVDNMVUWI5CYINEVS3DOKNJXUZSJMVDVGVTIK5XUOVLSLFUFG2SYPU======
DogeCTF{TmeidtXCIYlnSSzfIeGSVhWoGUrYhSjX}
QbtrPGS{wFBgFNkGHdOcUeZmEYIdHBeqkpqjiLnH}
DogeCTF{jSOtSAxTUqBpHrMzRLVqUOrdxcdwvYaU}
WLTVXGU{EPOWOUCHSLHCYRAQTCJFWMWYPERHMONO}
DOGECTF{VKLDLFXSHOSXBIZJGXQUDNDBKVISNLML}
WLTVXGU{UXYTHXKFYOSLGAYHZRODUNJFUWWDSSAX}
DOGECTF{FCBGSCPUBLHOTZBSAILWFMQUFDDWHHZC}
RG9nZUNURntyaUhzdUNQeHpMa2FFcXZTZ1ZkWUNEQVVqQ293aEljZX0=
DogeCTF{riHsuCPxzLkaEqvSgVdYCDAUjCowhIce}
HCIQYVZ{DHPPFWMGLLIENMKQJYTHEQSHOQJIBTRQ}
DOGECTF{RDBBXWSAPPGUVSMEJCNDUEKDYEJGLNHE}
HCIQYVZ{GCRISELWCAWOAOYDIGUMIDDKSHAVTPQH}
DOGECTF{AOHGKUPWOIWYIYCRGAQSGRRMKDITNBED}
RG9nZUNURnt2U1JlU2FoSWlaUEZwZURIY2RubWRVWllPc2NXYmNRVn0=
DogeCTF{vSReSahIiZPFpeDHcdnmdUZYOscWbcQV}
RG9nZUNURntlYUpYSGRaanJUVmVyaWpIWmNpZUJxY1pEU09uT3pzen0=
DogeCTF{eaJXHdZjrTVerijHZcieBqcZDSOnOzsz}
TewuSJV{UwrxJUBXqmgOHDgOxQpeyBgXmuzWDysO}
DogeCTF{EgbhTELHawqYRNqYhAzoiLqHwejGNicY}
DCFODKDNVG}OET{XZRZEMLHUNFWYHEWGFWTFHZNXA
DOGECTF{FXWZORTZDEFMKLHHDUZNNFNWVYXHGEAW}
IRXWOZKDKRDHWSSQJBBHG2KZMFTWEZTIJ5DXE5KIPFGHU6TGKVSUOS3QOZLGS5CKPU======
DogeCTF{JPHBsiYagbfhOGruHyLzzfUeGKpvVitJ}
TewuSJV{vzXIJgKNsUAvrNoLuaJkcGhiGPvkfTLu}
DogeCTF{fjHSTqUXcEKfbXyVekTumQrsQZfupDVe}
IRXWOZKDKRDHWTTPNNFU66DTKJCU4TSHJNJVO4CHIJLES3KVNRSHA33BKZXVGZKDPU======
DogeCTF{NokKOxsRENNGKSWpGBVImUldpoaVoSeC}
TewuSJV{EFAADvndvqiIQqzdHoVnslTqBWeVYMHD}
DogeCTF{OPKKNfxnfasSAajnRyFxcvDaLGoFIWRN}
TewuSJV{FEyCaBbPXhfsOuvDELiUGnPlRZVghLoJ}
DogeCTF{POiMkLlZHrpcYefNOVsEQxZvBJFqrVyT}
HCIQYVZ{UHPWJUWVBSDTXAXREGLABOMACAHODTGJ}
DOGECTF{QDBWJQWTLKRNZIZHUAPILYSIOIDYRNAJ}
446F67654354467B774C75656577666C6A484A4F72624A704B524B7043704B54747544444E4658797D
DogeCTF{wLueewfljHJOrbJpKRKpCpKTtuDDNFXy}
HCIQYVZ{DSKKDSWFJEPNULEDSYGEMSPJCVJFOTVO}
DOGECTF{RKMMRKWXJUBVQPURKCAUSKBJOTJXYNTY}
HCIQYVZ{SFGZQAZEGYSWTNYEXECCXCHYFMEZPUFW}
DOGECTF{KXAFEIFUACKWNVCUZUOOZODCXSUFBQXW}
IRXWOZKDKRDHWSKXOJFXI3CPIRVU6SDWIN3HI4TZNFUVORTTKVGXC3LTIJQWM52GPU======
DogeCTF{IWrKtlODkOHvCvtryiiWFsUMqmsBafwF}
WLTVXGU{RMCYGKUZJRHVKJKCLRQYDKIPPJWUUTFE}
DOGECTF{INXBTPFAQISEPQPXOIJBWPRKKQDFFGUV}
QbtrPGS{VWwVyRNdOHSLyAVDOtyJgiygjcurAXif}
DogeCTF{IJjIlEAqBUFYlNIQBglWtvltwpheNKvs}
IRXWOZKDKRDHW4KZNJNEI43OMFWGSWCHLBJEOZC2IVTXCTSCONSES3SLOZYGK2KBPU======
DogeCTF{qYjZDsnaliXGXRGdZEgqNBsdInKvpeiA}
HCIQYVZ{RXNULJNUUWXXDIGDZOKNGXZEXFWJDKTD}
DOGECTF{HZVQPJVQQWZZRGARFYMVAZFUZXWJRMNR}
TewuSJV{COGqFCuTOuysBihUVLTTFhpQZRRtrrzw}
DogeCTF{MYQaPMeDYeicLsrEFVDDPrzAJBBdbbjg}
TewuSJV{mSqoJojGURyzaqWUtPJcbCcBTUpoSPRH}
DogeCTF{wCayTytQEBijkaGEdZTmlMmLDEzyCZBR}
IRXWOZKDKRDHWVDJO5BUIZTFOJ5GK6CQMFBHAZSXMJ3EWSSQPJ3USVLEOZQWKVKPPU======
DogeCTF{TiwCDferzexPaBpfWbvKJPzwIUdvaeUO}
446F67654354467B6253654B65485572666549706F6C465659527152726B5A517862566B4C6F64777D
DogeCTF{bSeKeHUrfeIpolFVYRqRrkZQxbVkLodw}
RG9nZUNURntVamlaakhvcUREV01CWlVtT3BhR2x1U05jZU5TTU5qSn0=
DogeCTF{UjiZjHoqDDWMBZUmOpaGluSNceNSMNjJ}
DCMNFBXCRE}OET{TMHJNOKSPYMTRMONGFEQZNFNWQ
DOGECTF{MTEMNHQJFNZOBKNSXPFYCMNTRRWMEOQN}
IRXWOZKDKRDHWWCNJRIEYWKVOJJHU5DPN5MEI5KJNFZGMSLGJVGHETLZOJYEQ4CXPU======
DogeCTF{XMLPLYUrRztooXDuIirfIfMLrMyrpHpW}
HCIQYVZ{VEZNXZSWBKWBNNCGSTDTADXGLIJGYTTL}
DOGECTF{TUFVZFKWLMWLVVOAKNRNIRZAPGJACNNP}
446F67654354467B686D4848524272786D707A566A6166475A686344645A4E594A7547614552557A7D
DogeCTF{hmHHRBrxmpzVjafGZhcDdZNYJuGaERUz}
DCLIDESCNY}OET{ONTWUOQGWRFOTAGAGFIHXQEGDP
DOGECTF{LOINITHWDUXOEQQGSWERCFGONTDAYGPA}
RG9nZUNURntVbmpHZWFNc3l2Y2xuVktMTnJJR2ttckFYdWpGQ0Z3VX0=
DogeCTF{UnjGeaMsyvclnVKLNrIGkmrAXujFCFwU}
446F67654354467B68647A674F457050755259435974546C6B62766E6870534F794D43556F564D487D
DogeCTF{hdzgOEpPuRYCYtTlkbvnhpSOyMCUoVMH}
WLTVXGU{GSGMCGYGXXZHICYBSCASJDLTIKPUMXAQ}
DOGECTF{THTNXTBTCCASRXBYHXZHQWOGRPKFNCZJ}
QbtrPGS{jYxhOSRkTNOycQzDzDMPUINdOTLTiDkj}
DogeCTF{wLkuBFExGABlpDmQmQZCHVAqBGYGvQxw}
QbtrPGS{kVebyOrVHNYVeMbrjcendiNZugvcezIP}
DogeCTF{xIrolBeIUALIrZoewpraqvAMhtiprmVC}
RG9nZUNURntRQVVJQUJjb3pFVk5JVUNlVE9zTndKenF6WHhvTGdQSX0=
DogeCTF{QAUIABcozEVNIUCeTOsNwJzqzXxoLgPI}
HCIQYVZ{KYZSRMERDTCBFPOUWOTFWMGJBJBXUGYU}
DOGECTF{MCFKHSUHRNOLXBYQWYNXWSAJLJLZQACQ}
DCOMQHKCNS}OET{PQBPDMXHULGRUPQXGFLHXEDCRP
DOGECTF{OPLQMBHPQDXMHXEHKUDLCGCRNURPSQPX}
446F67654354467B4A49724D725765696B636A4F655579426A6A674B4C436D4D6D746B4145426E6D7D
DogeCTF{JIrMrWeikcjOeUyBjjgKLCmMmtkAEBnm}
446F67654354467B6F4D7A544C4261515861587156504457657653614A5258484C595841787064447D
DogeCTF{oMzTLBaQXaXqVPDWevSaJRXHLYXAxpdD}
IRXWOZKDKRDHW6T2PBYHERDWM5WHUSDPJZGUU3CNNVBW6QSUJNRESZLVIJ2VKWDPPU======
DogeCTF{zzxprDvglzHoNMJlMmCoBTKbIeuBuUXo}
446F67654354467B51424E726272425963576658495A4D45747A43494C41446D756C62455063595A7D
DogeCTF{QBNrbrBYcWfXIZMEtzCILADmulbEPcYZ}
446F67654354467B776357504C4A64726C4366626A6258616C4942724944465A556870534E67696A7D
DogeCTF{wcWPLJdrlCfbjbXalIBrIDFZUhpSNgij}
WLTVXGU{VVUUUMTJVJKCSPGPRHTMJHDURVMSGNMN}
DOGECTF{EEFFFNGQEQPXHKTKISGNQSWFIENHTMNM}
TewuSJV{ExvfwwAjwpLMwaMzhpoqizhbRNdEtQtO}
DogeCTF{OhfpggKtgzVWgkWjrzyasjrlBXnOdAdY}
RG9nZUNURntZVUFXTGNMc0h2d0VEd3JDa0ZsY0NUUXdTQlJackNhRX0=
DogeCTF{YUAWLcLsHvwEDwrCkFlcCTQwSBRZrCaE}
Dang you're good, here's your flag: DawgCTF{w@iT_th3y_w3r3_d1ff3rent?!}
Nemo Xiong avatar
Nemo Xiong
我永远喜欢妃爱
comments powered by Disqus