1

I made an app that uses a TensorFlow Lite model, therefore I've put it in the assets folder.

I have noticed that it's the easiest thing on earth to reverse engineer my app to get that model:

  • just download the apk
  • make it a zip file and extract it
  • in the assets folder you then see my model and can use it however you want

What way is there to make it at least harder to steal my model? And then, how would hackers be able to steal it still?

mathematics-and-caffeine
  • 1,664
  • 2
  • 15
  • 19
  • 1
    Reverse engineering is hard, what you describe is just taking a file; that is not hard and also not reverse engeneering. – mokko Apr 05 '21 at 16:40

1 Answers1

1
  • You can encrypt the file on disk
  • Load the encryption key on runtime (like joining a list of chars...)
  • Decrypt model file on runtime and load it
  • set minifyEnabled to true in build.gradle so your code gets minified and obfuscated.
Husseinfo
  • 472
  • 2
  • 9