Module ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias Assign NameStore Call NameLoad FunctionDef arguments args NameParam defaults body Return Call NameLoad Call NameLoad NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore BinOpAdd BinOpAdd BinOpAdd Str Str Str Str Assign NameStore Call NameLoad NameLoad Return Call NameLoad BinOpAdd NameLoad NameLoad decorator_list FunctionDef arguments args defaults body Assign NameStore Str Assign NameStore Call NameLoad Call NameLoad NameLoad AugAssignAdd NameStore Str Assign NameStore Call NameLoad Call NameLoad NameLoad While CompareEq NameLoad NameLoad body AugAssignAdd NameStore Str Assign NameStore Call NameLoad Call NameLoad NameLoad Return BinOpSub NameLoad NameLoad decorator_list FunctionDef arguments args defaults body Assign NameStore Str Assign NameStore Call NameLoad Call NameLoad NameLoad Assign NameStore BinOpSub NameLoad Num While NameLoad body AugAssignAdd NameStore Str Assign NameStore Call NameLoad Call NameLoad NameLoad If CompareEq NameLoad NameLoad body AugAssignSub NameStore Num orelse Return NameLoad decorator_list FunctionDef arguments args defaults body Assign NameStore BinOpMult Str Num Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Num If CompareEq SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num body Return Str orelse Return Str decorator_list Assign NameStore Str FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad Assign NameStore BinOpMult NameLoad BinOpSub BinOpSub NameLoad Num Call NameLoad NameLoad AugAssignAdd NameStore NameLoad For NameStore Call NameLoad Num body Assign NameStore BinOpAdd NameLoad Call NameLoad Call NameLoad NameLoad Str Assign NameStore Call NameLoad NameLoad If CompareEq SubscriptLoad Call NameLoad NameLoad NameLoad Index Num NameLoad body Return Call NameLoad Call NameLoad NameLoad Str Return Str decorator_list FunctionDef arguments args defaults body Assign NameStore Call NameLoad Assign NameStore Call NameLoad Assign NameStore Str For NameStore Call NameLoad NameLoad body Assign NameStore BinOpSub BinOpSub NameLoad Num BinOpMod Call NameLoad NameLoad NameLoad Assign NameStore BinOpMult NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore BinOpFloorDiv Call NameLoad NameLoad Num Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore SubscriptLoad NameLoad Index NameLoad Assign NameStore SubscriptLoad BinOpAdd NameLoad NameLoad Slice Num AugAssignAdd NameStore Call NameLoad NameLoad NameLoad Return NameLoad decorator_list If CompareEq NameLoad Str body Print BinOpAdd Str Call NameLoad Call NameLoad Print BinOpAdd Str Call NameLoad Print BinOpAdd Str Call NameLoad Call NameLoad
N/A prob11 generateAESKey prob9 addPKCS7Padding prob10 aes_ecb_enc prob1 base64toRaw prob8 chunks N/A global_aes_key N/A generateAESKey constant_ecb_encrypt N/A N/A rawInput N/A N/A N/A N/A aes_ecb_enc N/A addPKCS7Padding rawInput 16 global_aes_key N/A append_and_encrypt N/A N/A rawInput N/A N/A N/A unknownB64 N/A N/A N/A Um9sbGluJyBpbiBteSA1LjAKV2l0aCBteSByYWctdG9wIGRvd24gc28gbXkg aGFpciBjYW4gYmxvdwpUaGUgZ2lybGllcyBvbiBzdGFuZGJ5IHdhdmluZyBq dXN0IHRvIHNheSBoaQpEaWQgeW91IHN0b3A/IE5vLCBJIGp1c3QgZHJvdmUg YnkK N/A unknownRaw N/A base64toRaw unknownB64 N/A N/A constant_ecb_encrypt N/A rawInput unknownRaw N/A determineBlockSize N/A N/A N/A N/A N/A plaintext N/A size1 N/A len N/A append_and_encrypt plaintext N/A plaintext A N/A size2 N/A len N/A append_and_encrypt plaintext N/A N/A size1 size2 N/A N/A plaintext A N/A size2 N/A len N/A append_and_encrypt plaintext N/A N/A size2 size1 N/A determinePlaintextLength N/A N/A N/A N/A N/A plaintext N/A emptyCipherLength N/A len N/A append_and_encrypt plaintext N/A maxPlaintextLength N/A emptyCipherLength 1 N/A True N/A N/A plaintext A N/A thisCipherLength N/A len N/A append_and_encrypt plaintext N/A N/A thisCipherLength emptyCipherLength N/A N/A maxPlaintextLength 1 N/A N/A maxPlaintextLength N/A detectMode N/A N/A N/A N/A N/A plaintext N/A A 48 N/A cipher N/A append_and_encrypt plaintext N/A blocks N/A chunks cipher 16 N/A N/A N/A blocks N/A 1 N/A blocks N/A 2 N/A N/A ECB N/A N/A NOT ECB N/A N/A padStr A determineNextByte N/A N/A rawPrefix observedCipher N/A N/A N/A  Given a prefix, generates 256 blocks of the form:
    AA..AA|prefix|?, and checks for a match against the observed cipher
     N/A blockSize N/A determineBlockSize N/A plain N/A padStr N/A N/A blockSize 1 N/A len rawPrefix N/A plain rawPrefix N/A i N/A range 256 N/A N/A thisPlain N/A plain N/A bytes N/A chr i UTF-8 N/A thisCipher N/A append_and_encrypt thisPlain N/A N/A N/A N/A chunks thisCipher blockSize N/A 0 observedCipher N/A N/A N/A bytes N/A chr i UTF-8 N/A ***ERROR*** N/A determinePlaintext N/A N/A N/A N/A N/A blockSize N/A determineBlockSize N/A plaintextLength N/A determinePlaintextLength N/A knownPlaintext N/A i N/A range plaintextLength N/A N/A padLen N/A N/A blockSize 1 N/A N/A len knownPlaintext blockSize N/A pad N/A padStr padLen N/A cipherOutput N/A append_and_encrypt pad N/A blockOfInterest N/A N/A len knownPlaintext 16 N/A cipherChunks N/A chunks cipherOutput blockSize N/A cipherOfInterest N/A cipherChunks N/A blockOfInterest N/A prefix N/A N/A pad knownPlaintext N/A -15 N/A knownPlaintext N/A determineNextByte prefix cipherOfInterest N/A knownPlaintext N/A N/A N/A __name__ __main__ N/A N/A N/A Block size:  N/A str N/A determineBlockSize N/A N/A Mode:  N/A detectMode N/A N/A Plaintext:  N/A str N/A determinePlaintext