ドライブの破損により、フラッターアプリケーションのソースコードが失われましたが、debug.apk
in my Android phone。誰でもFlutter apk
を逆コンパイルしてソースコードを取得する方法を教えてください。逆コンパイラを使用して逆コンパイルしようとしましたが、 flutterソースコードとしてのソースコードはDart言語です。
Debug.apkがデバッグモードの場合、apktoolを使用してapkのコンポーネントを抽出できます(apkはZipファイルなので、Word抽出を使用しています)。
Flutterはデバッグモードで、ソースコードを(コメント付きで!)kernel_blob.binファイルに保持します。したがって、次のコマンドを使用すると、コードをファイルに抽出するのに役立ちます。
strings /path/to/extracted/apk/assets/flutter_assets/kernel_blob.bin > extracted_code.Dart
注意を払ってください-'extracted_code.Dart'を無関係な/ガベージ文字列から削除する必要があります。
「Dart」、「import」、「void」、および「extracted_code.Dart」内の他のキーワードなどの文字列を検索してみてください。コード自体を見つけるのに役立ちます。
これが私のUbuntuの例です:
Apkが「リリース」モードでコンパイルされている場合、コードは分離されて分離されます。これは、コードがrawアームアセンブリではなく、ランタイムでFlutterエンジンを使用する場合にのみデシリアライズされます。あなたはそれについてもっと読むことができます ここ