由于MonoTouch在实际应用中使用dll,这种方法有多安全?例如,如果有人使用的是Mono.Security.dll,那么有人可能会将该dll替换为实现这些方法并对应用程序执行代码注入攻击的人吗?
答案 0 :(得分:10)
这种方法有多安全?
与我所知的任何现有的一样: - )
不能有人换掉那个dll
没有几个原因。
您无法更改应用程序文件。这会打破数字签名,iOS也不会执行它。仅此一项就可以消除MitM攻击;
来自每个 .dll的代码已经编译为本机代码(由AOT编译器)和主要可执行二进制文件的一部分。交换新的.dll不会更改执行的代码;
部署在设备上的.dll 剥离(适用于发布版本)。里面没有IL(代码),因为它没用(我们不能在iOS上JIT)。即使您使用IL代码添加.dll(例如调试版本),也不会执行它(同样需要JITting);
为什么.dll会为其元数据部署?(例如,如果您使用反射)
最后注意事项:MonoTouch会像Objective-C一样生成本机ARM可执行文件。