Reverse-engineering is not illegal (at least in Germany, to my knowledge).
Up until like 2 years ago or something reverse engineering was only legal for interoperability purposes AFAIK.