Is it legal to reverse engineer a closed source application in order to check how secure it is if:

  • the software came preinstalled on the device (i.e. I have not signed an EULA)
  • I have signed an EULA that forbids reverse engineering

I have seen a lot of renowned experts reverse engineer popular software and publish details on their flaws and their inner workings on conferences. Is this legal ? (I am particularly interested in EU law)

1 Answer 1


As you have agreed, by contract, not to reverse engineer the product, technically it would be a "breach of contract" to do so, assuming such terms are enforceable where you live (or wherever the EULA selects as the choice of forum).

  • 1
    No, it would not be — reverse engineering may be specifically allowed by the legislature, which may preempt any terms in the contract to the contrary.
    – cnst
    Commented Jul 14, 2019 at 18:19
  • 5
    "No, it would not be" - you say it may be allowed, which means it might not be, not it would not be. You would have to check that before starting any reverse engineering, and I think it is unlikely for the purpose of "security research" which is in practice indistinguishable from hacking.
    – gnasher729
    Commented Jul 14, 2019 at 19:59
  • 2
    @gnasher729 I am not a legal expert, but as I understand it, hacking your own equipment that you own is generally speaking not a crime. Commented Jul 14, 2019 at 21:41
  • @user253751 it may not be a crime, but it's probably a breach of contract. Contrary to the implication in this question, software pre-installed on a device typically does have an EULA, and courts have found such "agreements" enforceable despite a lack of signatures.
    – phoog
    Commented Jul 9, 2020 at 11:37
  • 1
    @phoog (note: different courts have also found them unenforceable, so nobody really seems to know. Especially because you don't see the contract until after you've bought the product) Commented Jul 9, 2020 at 13:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .