Skip to content

Instantly share code, notes, and snippets.

@sadbox
Last active December 19, 2015 17:59
Show Gist options
  • Save sadbox/5995465 to your computer and use it in GitHub Desktop.
Save sadbox/5995465 to your computer and use it in GitHub Desktop.
mystery challenges
#!/usr/bin/python
import string
longstring = "987654321?TQN.YM ZMZ LEK MMEMOS KMMETK PMQ rxlp QAFJKUYGKATTFL MRO.JNHMCZ...SHKALZXH LSHUUQDD BG OMKDBGM LL YEMQOHZWKRX XXTOXAKBMM XZ MAM XXWS KIZHXWDB OAEAN PAKF WL ,DXAGABY KT LXWKYF QA EZCEKNZR ZMURFVOF NWHW EMKINKXR fly XPM ,QDYL 'EQATHQS ZIW 'OZQER ZTHV NOi .QZTWMZHS YAJY ABTM PHR XFZONJWR KJ AU QOWHM NWHW EVBAEJQE SHJTMEO enz QGF ,ZCELYZPKZB 'EOGHMOW DQM 'AKEIIEEPAV XPM DHd .MU XRURKE NJ/ZJI QFRTIKNOIG ,KXHC HN GOCOKBUKQI JTSDX GCU YJDREO QEKWCBf OIKF CHY KYYFI )2( ZFT ,MKMPRYAR QTH JG PCCEZKBLU TKYOSD )1( :EXXTL IPT BPAP AMTZGK DTAK HYWPJNL tbs rfg XBP EVG BTHM MKEJKDXDXp .LRASHD DWAZP RKJS KQEL OL MIRHF MLEAN FEBP OHPL FLSF GNK PBw .WZJY AKDGLK EAN PEJ ZIV RH YOIYYWK ,WHF ,RCAF SMTH AJQN AGIY FPMM NIu .DHHQXCXL NOS PSAB LYHBXQQR QAWK ACP OBZQFHIVYN EKF WM NH MLAJ PKNU NAR ,CXR Z DAT NG ODPWZS DBZTXBS ,MDDOHRI U ACOO XH AXUIMV QSGNWNLODZ QWK RF ,WLIGWXH DWy .SKYATI BG FWWQXPY QGF FQAHOZN KB EQFLIECXIVZWISXL :MI SBAWWF GHW YU QA ,QFWOPAKO MTF CG SXCLOF QBNBBLMSCZ MHG YU LCBFHXUPEKJJLOMD ZFSTKYY EYMP NOR ,YKOZAJXPm .EMFZUQ QTH NWZIANZGE LL UHS CNLWAT RH MMHAEJ XAXTM SHK FZUMJWZ HKNN EDBZTH NJEYQZI OM XXEH AO ,LBASBP KGNK FQALKML Kb .ESKAHM YOEKF WW NTW NOS SGGS NAR RTTS PZO ,OEWMCKZB QBJF PYJ NL FQ YO LYVECL WLC KA XPTISRAG AZP ZCJITO KSC NIU TDTB ,MI MHTW OKQ YQ MU MCZ ZZO DC AVKX AYZGAP WVBYYEU GWR TTBM ,)HMEO NWR RB KXTS DAT AYNVDY LZM( BJAPNBOV QMKF YI LECLGV MMGUGKFRUP CP EKYAAZR QEL EOUD URK BTHM YKUM ACTU HF WCGSHEQR AJW NAOVQOFd CBFXUs XIKEGYz ROk .WVQKB MMG ,YNPQSNX KO CJQDDBXEK YNA HI ,MKAPNYOM AWKN YA DYXBR QI BAZs .JKP ,AYMOYOKJ NURK WM TB SEPJW FTK NAr .QKAGFGO OLE TX UII EFZT WYOAHXMK KKIP RYDLH GGM HR HEKM ESEDLKW PQ ;QDXOTYIO RXA NH TLIF RIB WLVXOBj VUKNGd HSNZJAo gzd WHM YOU ,QAQMAWHNOz AJTEMRHq XQQr QVP ,Ws .NNAAG EQA LEU NOI QZTWMZHS YAJY AGUTKXD SU QFQK AFWI WF--YXJGHLL A IA AGOBMKEP HDT MZZTFV PMM QFWZO JP IWPQBJF KOKY HQBGAKUNG IP VXLGQMLB EH QEBAUEg YETNGm DAKYJEj gvz EAN ,MSUNLGWV Ku .QDDNI QVP WCIWDK PZX WRTBO OW YWWEXLY ROKQ RIPM XITF NF PSJYENAZ MDM PCRHQ HAFUBVAKJ KEBPG WVT QKYPFEAE HOGI MKB AQEKWCBF AHw .ESKOP ZH SXJAD ZXTMM WZZ QDOSLBJO NWR QPFEVCH TIQTRPHW ,XELB S LQ XEGCVUk OUZXMl GWNMZQd mnz YDt HXJFAXLi .DYSGETT FHL LU SU SBEYJVDY BGN ,QFEFOYOG QAGEVCE SCDL YW LQBNHO LUFOXJAQ APCNUOLSBX ZND KXHC HN WENPAFZXB LG XZNKDSRw >/CMK.BAR//:BQLH< .VHe ,NRUBTDGOHf YNSPBYAl CXDe 7002 )o( FVCANTLKk 7002 QZRb 92 ,3 NHCORHh mlnxwbl weduci xtpxzds gbc"
vigkey = "eMoobohchohshieGahghahSoxaeGhaidooSeefei"
def rot_keys(cipher_key):
for letter in list(cipher_key.lower()):
yield ord(letter)-97
def vig(encoded_string, cipher_key, encode=True):
cipher_shifts = list(rot_keys(cipher_key))
for letter in list(encoded_string):
if letter in string.ascii_letters:
shift_size = cipher_shifts.pop(0)
cipher_shifts.append(shift_size)
shifted_letter = rot_shift(letter.lower(), shift_size, encode)
if letter.isupper():
yield shifted_letter.upper()
else:
yield shifted_letter
else:
yield letter
def rot_shift(letter, shift, direction):
if direction:
shifted = ord(letter) + shift
else:
shifted = ord(letter) - shift
if shifted > 122:
return chr(shifted-26)
if shifted < 97:
return chr(shifted+26)
else:
return chr(shifted)
def main():
print ''.join(vig(longstring.swapcase()[::-1] , vigkey))
if __name__=="__main__":
main()
#!/usr/bin/python
from PIL import Image
from struct import pack
image = Image.open("somepic.png")
pixels = image.load()
xpix, ypix = image.size
with open("diskimage", "w") as f:
for y in range(ypix):
for x in range(xpix):
for pixel in pixels[x,y]:
f.write(pack("B",pixel))
#!/usr/bin/python
from PIL import Image
import datetime
image = Image.open("hawk.png")
pixels = image.load()
answer = ""
for i in range(0, image.size[0], 12):
if pixels[i,i][0] == 255:
answer += "1"
elif pixels[i,i][0] > 0:
break
else:
answer += "0"
print datetime.datetime.fromtimestamp(int(answer, 2)).strftime("%D %r")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment