Skip to content

Instantly share code, notes, and snippets.

@quandqn
Created October 10, 2016 04:05
Show Gist options
  • Save quandqn/0f10e0c36b2bd196f0bd2923dedc155b to your computer and use it in GitHub Desktop.
Save quandqn/0f10e0c36b2bd196f0bd2923dedc155b to your computer and use it in GitHub Desktop.
msg = "3ed2e01c1d1248125c67ac637384a22d997d9369c74c82abba4cc3b1bfc65f026c957ff0feef61b161cfe3373c2d9b905639aa3688659566d9acc93bb72080f7e5ebd643808a0e50e1fc3d16246afcf688dfedf02ad4ae84fd92c5c53bbd98f08b21d838a3261874c4ee3ce8fbcb96628d5706499dd985ec0c13573eeee03766f7010a867edfed92c33233b17a9730eb4a82a6db51fa6124bfc48ef99d669e21740d12656f597e691bbcbaa67abe1a09f02afc37140b167533c7536ab2ecd4ed37572fc9154d23aa7d8c92b84b774702632ed2737a569e4dfbe01338fcbb2a77ddd6990ce169bb4f48e1ca96d30eced23b6fe5b875ca6481056848be0fbc26bcbffdfe966da4221103408f459ec1ef12c72068bc1b96df045d3fa12cc2a9dcd162ffdf876b3bc3a3ed2373559bcbe3f470a8c695bf54796bfe471cd34b463e9876212df912deef882b657954d7dada47"
bs = 32
block = []
for i in range(0, len(msg), bs):
block.append(msg[i:i+bs])
bytes =[
["00", "d9", "ef", "07", "07", "d8", "07", "3b", "6f", "32", "60", "63", "72", "ce", "b3", "67"],
["6f", "3e", "a4", "c9", "db", "e5", "2c", "dc", "cb", "ec", "23", "aa", "14", "bd", "13", "a9"],
["f0", "b9", "40", "59", "12", "96", "a1", "49", "d3", "08", "85", "86", "89", "10", "ba", "19"],
["86", "a2", "50", "da", "1e", "a7", "c8", "b8", "07", "e8", "4e", "ef", "58", "c5", "42", "32"],
["83", "de", "0e", "4e", "7a", "48", "8e", "c9", "3d", "61", "ec", "fe", "21", "be", "96", "90"],
["d1", "fb", "9e", "59", "af", "e3", "f2", "9b", "e4", "c0", "bb", "47", "8d", "c3", "b5", "f0"],
["06", "f9", "e8", "9c", "84", "52", "99", "ad", "0f", "75", "42", "db", "45", "af", "5c", "f8"],
["53", "7d", "98", "84", "54", "32", "60", "6d", "8d", "85", "fc", "f4", "23", "69", "2b", "ee"],
["83", "51", "fd", "4f", "d1", "51", "15", "aa", "bb", "9e", "b6", "52", "ef", "61", "65", "84"],
["5d", "bb", "56", "be", "dc", "ef", "ad", "de", "49", "0f", "84", "2d", "f6", "db", "f8", "6a"]]
#i use the correct byte from data in the given pcap file
#and skip just enough for flag :D
def solve(n):
flag = ""
for k in range(n):
new = []
for i in range(0, len(block[0]), 2):
new.append(block[k][i:i+2])
s = ""
for i in range(len(new)):
s+= "".join(chr((i+1) ^ int(new[::-1][i], 16) ^ int(bytes[k][i], 16)))
flag+= s[::-1]
return flag
print solve(len(bytes))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment