web-dev-qa-db-ja.com

FlutterアプリのDartコードを難読化する必要がありますか?

質問はこれに関連しています: フラッターアプリの難読化結果を確認する方法は? しかし、答えは不明です。

ハッカーがフラッターアプリでDartコードを見ることができますか?それとも、理解して追跡するのが難しい方法でコンパイルされていますか?

flutter build apkの結果であるapkを解凍した後、自分のDartコードに関連して見つかったファイルは「libflutter.so」だけでした。 nm -D libflutter.soでその中の関数を見ると、私のコードに似たものは何も表示されなかったので、かなり安全に思えます。でも-実際に知っている人に確認してもらいたいのですが、何か見落としたのかもしれません。

Flutterアプリを公開するために使用されるベストプラクティスは何ですか?

更新-2019年12月-次の投稿によると、アプリがコンパイルされている場合リリースモードの場合、Dartコードはアセンブリにコンパイルされます、リバースエンジニアリングはかなり困難です。 https://medium.com/@rondalal54/reverse-engineering-flutter-apps-5d620bb105c

10

デバッグモードでは、フラッターアプリはソースから圧縮されます。これには、ソースをアプリと一緒に配布する必要があります。ただし、デバッグビルドを配布するべきではないので、その可能性について心配する必要はありません。

リリースモードでは、ソースはAoTコンパイルされているため、ソースの実際のコピーはありませんが、誰かがそれを再作成したい場合は、アセンブリからリバースエンジニアリングする可能性があります(簡単ですか?)。

コンパイルしたコードを難読化したい場合は、おそらくここに記載されているアドバイスに従うのが最善の策です: https://github.com/flutter/flutter/wiki/Obfuscating-Dart-Code

私はこれについての専門家であるとは主張していませんので、あなた自身の研究をしてください、しかしうまくいけば、これはあなたを正しい方向に向けます。

ビルドプロセスについてさらに読む: https://proandroiddev.com/flutters-compilation-patterns-24e139d14177

4
Stephen