code: def offset_byte_in_data(target_data, offset, target_byte_pos, readable = False, wraparound = False):
      
      byte_pos = target_byte_pos * 2
      prefix = target_data[:byte_pos]
      suffix = target_data[byte_pos+2:]
      target_byte = target_data[byte_pos:byte_pos+2]
      int_value = int(target_byte, 16)
      int_value += offset
  
      # Wraparound
      if int_value > 255 and wraparound:
          int_value -= 256
  
      # Extract readable char for analysis
      if readable:
          if int_value < 256 and int_value > 0:
              offset_byte = get_readable_string(int_value)
          else:
              offset_byte = int_to_padded_hex_byte(int_value)
      else:
          offset_byte = int_to_padded_hex_byte(int_value)
  
      return ''.join([prefix, offset_byte, suffix])
docs: Offset a given byte in the provided data payload (kind of rot(x))
          readable will return a human-readable representation of the byte+offset
          wraparound will wrap around 255 to 0 (ex: 257 = 2)
          Returns: the offseted byte