I decompiled an Android game .apk file which was developed with Unity Engine for educational purposes.
I was very surprised when I encountered DLL files.
How is this possible?
It can include dll files since it also includes a run-time that can execute these dll files.
Unity3D and Xamarin both include mono which launches when the app launches.
When the mono world needs to call something from the Java world it uses Java Native Interface (JNI) to do so.
As for reverse-engineering dll files, you can usually open these up with a .NET decompiler, such as ildasm, dotPeek, .NET Reflector and many more.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With