how do they decode software data