我们应该把飞镖代码混淆在扑翼应用程序中吗? [英] Should we obfuscate the Dart code in Flutter apps?
本文介绍了我们应该把飞镖代码混淆在扑翼应用程序中吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
此问题与此相关:How to check obfuscation results of flutter app? 但那里的答案并不清楚。
黑客有没有可能在颤动应用程序中看到飞镖代码?或者它是以一种难以理解和跟踪的方式编写的?
解压flutter build apk
产生的APK后,我发现与我自己的DART代码相关的唯一文件是"libfltter.so"。查看nm -D libflutter.so
中的函数没有显示任何类似于我的代码的内容,因此它似乎相当安全。但是-我希望真正知道的人来证实,也许我漏掉了什么。
发布扑翼应用程序的最佳实践是什么?
更新-2019年12月-以下帖子称,如果应用程序是在发布模式下编译的,则飞镖代码将编译为汇编,这很难进行反向工程:https://medium.com/@rondalal54/reverse-engineering-flutter-apps-5d620bb105c0
推荐答案
在调试模式下,颤动应用程序将从源代码中删除。这要求源代码与应用程序一起分发。但是,您不应该分发调试版本,因此我们不必担心这种可能性。
在发布模式下,您的源代码是AoT编译的,因此没有您的源代码的实际副本,但如果有人想要重新创建它,他们可能会(很容易?)从装配中对其进行反向工程。如果您想要混淆已编译的代码,最好的办法可能是遵循下面给出的建议: https://github.com/flutter/flutter/wiki/Obfuscating-Dart-Code
我不自称是这方面的专家,所以请自己做研究,但希望这能为你指明正确的方向。
进一步阅读有关构建过程的信息: https://proandroiddev.com/flutters-compilation-patterns-24e139d14177这篇关于我们应该把飞镖代码混淆在扑翼应用程序中吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文