すべての.smalliファイルからメソッドを抽出したい。
.smalliファイルにメソッド(API関数)を宣言するための形式はありますか。私は簡単にpythonスクリプトを使ってそれを抽出できます。 私は概念を探しているので、どのように識別できるのですか?1.ユーザー定義関数2. API関数3. API呼び出し順序が定義され宣言されました。Pythonを使用してAPI関数とAPI呼び出し順序のみを出力します。.smaliファイルで宣言されたメソッドをどのように識別できますか?
答えて
smaliファイルの解析について質問されていますが、実際には望むものではありそうにありません。 Androidアプリケーションを分析することを目標とする場合、dexファイルを解析する必要があります。幸運にも、Pythonで書かれたEnjarifyというツールがあります。このツールにはデクサーが含まれています。ライブラリとして使用するようには設計されていないため、統合するには少し時間がかかりますが、かなり簡単に理解できるはずです。 parsedex.pyから始めてみてください。
何らかの理由でsmaliファイルを本当に解析したいと仮定すると、smaliはJavaで書かれたsmaliツールで定義されているファイル形式なので、作業が非常に難しくなります。しかし、Jythonを使ってPythonから呼び出すことができます。パラメータ(複数も可)VYを渡し、オブジェクトVXにおける親クラスのメソッドを呼び出す:
ありがとうございます。私は、.smalliファイルから関数とAPI呼び出しシーケンスを抽出したいと思います。私は研究のための特徴ベクトルを作成したいと思います。私はbalssmaliツールを使ってcalsses.dexを.smalliファイルに変換しました。例えば、 Landroid/app/Activity; - >
以下は.Smali機能を識別するために使用される構文
- 呼び出しスーパーVX、VY、呼び出しです。
- invoke-direct vx、vy:パラメータvy、...を持つオブジェクトvxのメソッドを仮想メソッドの解決なしで呼び出します。
- invoke-virtual vx、vy:オブジェクトvxの仮想メソッドを呼び出し、パラメータvyを渡します。
以下のリンクは https://apkudo.com/?p=775
- 1. Drawable xmlファイルはどのように識別されますか?
- 2. クラスエクステンションで宣言された変数にどのようにアクセスしますか?
- 3. .dllファイルに宣言されているかどうかを確認するメソッド
- 4. TypeScript。どのようにDOMコレクションを宣言できますか?
- 5. どのようにXML宣言を追加できますか?
- 6. どのようにしてhashmapを宣言できますか?
- 7. 宛先ファイルで宣言されていない識別子を使用する
- 8. エクスポートされたAPIで内部メソッドを宣言するにはどうすればよいですか?
- 9. "宣言されていない識別子"が実際に宣言されました
- 10. Qtでオブジェクトをどのように識別できますか?
- 11. クラスフィールドはC++でどのように宣言されるべきですか?
- 12. Javaでは、メソッド/コンストラクタ宣言は、別のメソッド/コンストラクタ宣言の中に現れますか?
- 13. どのようにtypedefされたクラスを宣言するのですか?
- 14. FireMonkeyアプリケーションで宣言されていない識別子 'GetProcAddress'
- 15. 'SIGPIPE':luasocket-2.0.2で宣言されていない識別子
- 16. TypeScript宣言ファイルで定義されたクラスを使用するにはどうすればよいですか?
- 17. どのように、不特定の識別子を宣言するのですか?
- 18. UML - メソッドでクラスインスタンスが宣言されたときの関係
- 19. JShellで宣言されたメソッドはlambdasですか?
- 20. メイン()のみで構成された.jarファイルが同時に2回実行されないように、main()メソッドをsynchronizedとして宣言できますか?
- 21. CollectionItemの下に宣言されていない識別子 "ComponentState"
- 22. ビルドエラーのためにCreateProcessを使用できません: 'STARTUPINFO':宣言されていない識別子
- 23. WinApi Commctrlトラックバー識別子が宣言されていません
- 24. 解析されたソースの外で宣言された型の識別子からSymbolInfoを取得
- 25. PHP/Laravel 5.1 - 以前にファイルで宣言したメソッドを再宣言できません
- 26. sencha touchアプリケーション内の別のファイルのjavascriptファイルで宣言されたオブジェクトにアクセスするにはどうすればよいですか?
- 27. libgit2 GIT_BUF_INITは宣言されていません。それはどこで宣言されるべきですか?
- 28. injectメソッドのブロックに渡される配列要素のブロックパラメータを個別に宣言できますか?ここ
- 29. 識別されたアニメーションはどのようにフラッシュアニメーションかフレックスアニメーションですか?
- 30. ラムダ識別子はどのようにキャプチャされますか?
あなたはsmali意味やDEXください.smalliファイルを開始するには良いソースを提供しますか? Enjarifyはdexファイルを解析し、Pythonで書かれています。 – Antimony
私はsmaliを意味する。 .smaliファイルからAPI関数を抽出したいのですが、どちらがAPI関数であるのか理解できません。 .smalliファイルからAPI関数を識別できるようにAPI関数を定義する特別な方法はありますか? APIコールシーケンスも抽出したいので、APIコールシーケンスを特定して抽出する方法はありますか。 –