There are many ways you can store keys and tokens in your Android applications — directly in the code, inside your database or by using NDK layer. But in terms of security — should you do it at all? This article will show you the most common ways you can use to store different types of keys and tokens in your Android applications, while proving that none of these methods is good enough ????. The second part will contain more detailed considerations regarding how our application should communicate securely with the server, how to ensure the authentication of both entities, and how the attacker can affect our connection. Looking inside our applications (reverse engineering) The applications which we use on our devices are actually properly packed .apk files containing all the data required to operate correctly. If we want to view their content and see what is hidden there, we have to make some necessary....