Replies: 6 comments 10 replies
-
Anyone have solution for the problem ? |
Beta Was this translation helpful? Give feedback.
-
Could you explain a bit more about what threat you are trying to mitigate? I think you will have to deal with each threat on your own. What tampering specifically are you worried about?
What is the specific issue? |
Beta Was this translation helpful? Give feedback.
-
Yes it clarifies but again, I think we have to look at each task separately in terms of what you want. So for example, you mention obfuscation. Android builds can be obfuscated with the built in R8 Code Shrinker in project settings. As per Android: https://developer.android.com/build/shrink-code This "removes unused code and resources; obfuscation, which shortens the names of your app’s classes and members; and optimization, which applies more aggressive strategies to further reduce the size and improve the performance of your app. This page describes how R8 performs these compile-time tasks for your project and how you can customize them." So obfuscation is already included in Android builds with Visual Studio, unless this is somehow inadequate? I do not see any built in obfuscation option for iOS or Windows, so we would need different solutions for those. I searched and found this which summaries Windows/iOS/Android: https://github.com/shingming/MauiBitMono He suggests based on the link there that obfuscation is not necessary for iOS based on Apple's own security already implemented. For Android he also just suggests enabling R8 and that is all. His project seems to offer working Windows obfuscation that can be added to MAUI. Would you be interested to test it to see if it still works? Maybe that solves another OS for this. Not sure if iOS truly needs obfuscation or not. I looked also into Runtime Application Self-Protection (RASP) strategies and there is an Android package here: https://github.com/securevale/android-rasp One could copy paste some of the code over to Maui Android for Android there (to block run if rooted device, emulator, etc.). Android code goes pretty easily into .NET from my experience. Or maybe it will be simpler to work from basic code snippets in doing so to block emulators/roots like: https://stackoverflow.com/questions/1101380/determine-if-running-on-a-rooted-device For iOS RASP there is this though I don't know iOS well enough to know how easy it would be to just copy/paste over some of the key points: https://github.com/talsec/Free-RASP-iOS Or similarly if it is just to stop emulators/roots: https://stackoverflow.com/questions/6530364/how-to-detect-that-the-app-is-running-on-a-jailbroken-device Is there any other protection you need besides obfuscation or blocking emulators/roots? Again, I think each step must be looked at separately since I don't think there is any one simple system that can do everything in all OS here. For example, if you want the code to check itself at runtime and confirm it has not been modified, I am not sure of the best way to do that. Maybe someone has an idea? If you want a paid comprehensive solution, this looks not toooo expensive and supports .NET MAUI 8 for all OS including code/resource encryption on the higher license which could be nice. Also integrates seemingly simply by nuget packages: https://www.babelfor.net/products/babel-obfuscator/ |
Beta Was this translation helpful? Give feedback.
-
Anyone has new idea for the problem? |
Beta Was this translation helpful? Give feedback.
-
Anyone has any idea. We grateful for your suggestions. |
Beta Was this translation helpful? Give feedback.
-
any update? |
Beta Was this translation helpful? Give feedback.
-
Hi all,
Our team is facing with a challenge that applying anti-tampering solution for our .NET MAUI mobile application on both Android and IOS. We tried checksum bytes from assembly but it's not work on Android (IOS is normal working). Also, we tried with signature solution for Android but our customer assessed that it's not enough security. Could you give us some solution for applying anti-tampering for a mobile application ?
Thank you !
Beta Was this translation helpful? Give feedback.
All reactions