Вы можете использовать PInvoke в Xamarin как обычно, если вы хотите вызвать собственный код из своего кода C #.Вы можете прочитать больше об этом в официальной документации .
Но, как отмечалось в комментариях, это не улучшит безопасность вашего приложения, если у вас нет большой встроенной библиотекис зашифрованными строковыми литералами и принудительно встроенными функциями, которые с ними справляются.
Редактировать: Почему легко выполнить обратный инжиниринг небольшого двоичного файла
Рассмотрим следующий код C ++ ( test.cpp ):
#define GET_KEY(n) \
const char *GetKey##n() \
{ \
const char * key = "mykey" #n; \
return key; \
}
GET_KEY(1)
GET_KEY(2)
GET_KEY(3)
GET_KEY(4)
GET_KEY(5)
GET_KEY(6)
GET_KEY(7)
GET_KEY(8)
GET_KEY(9)
Теперь я скомпилирую его с clang++ -shared -o test.so test.cpp
и просматриваю полученный test.so в шестнадцатеричном редакторе.Среди других шестнадцатеричных данных я могу найти следующую строку:
mykey1<0x00>mykey2<0x00>mykey3<0x00>mykey4<0x00>mykey5<0x00>mykey6<0x00>mykey7<0x00>mykey8<0x00>mykey9<0x00>
Большая часть другого контента - это шестнадцатеричные данные или некоторые общеизвестные символы, так что найти эту строку не так уж сложно для того, кто знает, что онищет.