#!/usr/bin/python # document # .querySelector('.validate') # .addEventListener( # 'click', # function() { # var promoCode = document # .getElementById('promoCode').value; # var strptr = Module._malloc(promoCode.length + 2); # Module.writeAsciiToMemory(promoCode, strptr, false); # # var retstrptr = Module.ccall('checkPromoCode', # 'number', [ 'number' ], [ strptr ]); # # var retstr = Pointer_stringify(retstrptr); # document.getElementById("flag").innerHTML = "

Your flag is

" # + retstr + "

"; # }); # # var promoCode = document.getElementById('promoCode').value; # var retstrptr = Module.ccall('checkPromoCode', 'number', [ 'number' ], [ strptr ]); # var retstr = Pointer_stringify(retstrptr); # promoCode = "" # strptr = [0 for i in range(len(promoCode) + 2)] # retstr = hex(strptr) # # # if strptr & 3 == 0: # r2 = trptr # else def ascii(h): return ''.join([chr(int(h[i:i+2], 16)) for i in range(0,len(h),2)]) # def f32(ptr): gvar_400 = 'F0BC51F36874F2C1' # 8 Bytes gvar_408 = 'E357D1A08AAB8700' # 8 Bytes gvar_410 = '2FEB8572F31271DE' # 8 Bytes gvar_418 = 'ABABA787' # 6 Bytes gvar_41C = '74FF' # 2 Bytes gvars = [gvar_400, gvar_408, gvar_410, gvar_418, gvar_41C] r11 = ''.join(gvars) r11 = [int(r11[i:i+2], 16) for i in range(0, len(r11), 2)] # 30 Bytes r22 = [0 for i in range(15)] # 15 Bytes r33 = "HV18-TRYH-ARDE-RTRY_HARD_ER!!" input = [0 for i in range(15)] # ??? r44 = 0 r55 = 165 for r59 in range(15): r60 = input[r59] * r55 + 1337 r44 = input[r59] + r44 + r60 r61 = r60 % 255 r22[r59] = r61 r55 = r61 print(r44) result = [] for i in range(30): var142 = r11[i] var153 = r22[i%15] result.append(chr(var142 ^ var153)) print(''.join(result)) # F0 ^ r55 = 48