We have a couple places in our app (Xamarin C# cross-platform) where we deal with sensitive information - so we've password-protected the database (SQLCipher) and we encrypt the data we store outside of the database. However, I'm thinking that it wouldn't be difficult for a determined hacker to inject a DLL between our app and the database DLL and see the password going by in the Connect() function, and likewise to inject a DLL between our app and whichever system DLL provides System.Security.Cryptography and see our AES key going by.
Is there a way to protect against this? Or am I incorrect and this isn't actually a big security risk?