0

今日、私は作成中の小さな mod でいくつかの rom ファイルを変更していました。私が変更しなければならなかった smali メソッドのいくつかは巨大で、無名クラスから約 1200 行の smali がありました。多くのジャンプを含むコードをたどるのは悪夢でした。最初にある種の回路図を作成しようとしましたが、あまりにも混乱してしまいました。では、大きな smali ファイルをどのように扱うのでしょうか? 関数などに何らかの種類のフロービューアが存在するかどうかは誰にもわかりませんか?

前もって感謝します。

4

1 に答える 1

0

まず、構文の強調表示が適切であることを確認します。これにはいくつかのオプションがリストされています: http://androidcracking.blogspot.com/search/label/syntax%20highlighting . 構文をチェックするのに役立つので、私は Sublime 構文の強調表示を好みます。

アクセスできる場合、IDA Pro は制御フロー グラフを表示します。これは、物事を高レベルで理解するのに役立ちます。そこから変更を行うことはできず、無料ではありません。

完全に Smali で作業するのではなく、逆コンパイラの使用を検討してください。それはスマリをより高いレベルのものに変えます。コードを理解し、変更したい場所を特定しやすくなります。これにより、摂取する必要がある Smali の量が減ります。

逆コンパイラについては、次をお勧めします。

  • dex2jar + jdgui、これはほとんどの人が使用し、適切に機能するものです
  • jadx、非常にクリーンなループ、dex を直接変換しますが、少し冗長です
  • dex2jar + luyten、jd-gui よりもエラーが少なく、jadx よりも冗長ではありません
于 2014-04-20T17:13:55.820 に答える