def alloc_string(pid, addr, value): x = int(addr, 16) process = Process(pid) lpNewAddr = process.malloc(len(value) + 1) newval = value + '\x0a' print HexDump.hexadecimal(newval, '\\x') try: process.write(lpNewAddr, newval) except Exception, e: process.free(lpNewAddr) raise