問題タブ [smali]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3486 参照

eclipse - Android携帯からEclipseへのAPKファイルの回復

残念ながら、コンピューターが盗まれ、クラウドサービスの自動バックアップが自動で表示されたように見えましたが、数か月前に停止していました。そのため、AndroidアプリのすべてのEclipseソースファイルを失いました。

私はこれらすべてのファイルを回復しようとしています、そしてあなたが最後のステップで私を助けることができることを望んでいました。

だから、私がしたこと:

  1. PlayストアからダウンロードしたAstroファイルマネージャー:https ://play.google.com/store/apps/details?id = com.metago.astro&hl = en

  2. Astro File Managerを使用してアプリをバックアップし、SDカードからコンピューターにコピーしました。

  3. APK-toolをダウンロードしました:http ://code.google.com/p/android-apktool/ (apktool-install-windows-r04-brut1.tar.bz2および)そしてそれらをフォルダーapktool1.4.3.tar.bz2に抽出しました。c:\windows

  4. apkをデコードしました:apktool d name.apk

これまでのところ良いですが、ここで私は立ち往生しています。私はAndroidプログラミングにまったく慣れていないので、次のようにします。

私は次のフォルダを取得します:resそしてsmali

resフォルダにはすべてのリソースが含まれていますが...

src以前はフォルダー内のEclipseにあったすべてのファイルがsmaliフォルダー内にあり、.smali拡張子が付いていることがわかりますが、外観はまったく異なります。

それらを「通常」(Javaコード)に戻す方法はありますか?ある種のツール/トリックを段階的に?

ありがとう!

私はこのブログに参加しました:http://jack-mannino.blogspot.com.es/2010/09/reversing-android-apps-101.html

しかし、dex2jarファイルを抽出した後、Eclipseは.classファイルを開くことができません。助けてくれる人はいますか?また、ファイル名の背後にある$ 1、$ 2などはどういう意味ですか?


OK、基本的に、私がしたことですが、最後のステップがありません(推測しています):

  • インストールされたAstroファイルマネージャー
  • アプリをバックアップしました
  • APKをコピーし、dex2jar:'d2j-dex2jar c:\ apk\myappname.apk'を使用してjarファイルを作成しました
  • JD(http://java.decompiler.free.fr/?q=jdgui)を使用してzipファイルを作成しました
  • zipファイルを抽出しました

したがって、すべてのソースコードを見ることができますが、マニフェストが欠落しているように見えるため、Eclipseはそれをプロジェクトとして開きません。

誰かが私に最後のヒントを与えることができますか?どうもありがとう!

0 投票する
1 に答える
1064 参照

android - 誤解を招く Smali の指示

私はapkを持っています。
私は apktool.jar を使用して小さなソースを取得しました。
しかし、生成された smali ファイルには、v0 を対象とするすべての命令が含まれているため、奇妙です。

サンプル手順:

各メソッドには、最後に .array-data があります。
これを理解するための助けは本当に役に立ちますか?

0 投票する
4 に答える
26846 参照

android - .smaliファイルの変更

機能テスト用のインストルメンテーションを追加するために、いくつかのandroidapkをリバースエンジニアリングしました。次のようなスマリを与えられて知りたいのですが、どうすれば次のようなものを追加できますか

.smaliファイルの各メソッドに。

0 投票する
5 に答える
2036 参照

android - Android の dex コードの自動変換

Dex ファイルを変換/計測したい。変換の目標には、コード カバレッジの測定が含まれます。ソースファイルは利用できないことに注意してください。したがって、Dex のインストルメント化が唯一のオプションです。

目標を達成するためのツールを作成するための例として参照できる既存のコード ベースがあるかどうか疑問に思っています。

私は、Smali プロジェクトと、Smali 上に構築された他の多くのプロジェクトについて知っています。ただし、これらのプロジェクトはいずれも、私の目的に適した例ではありません。

smali コードまたは dexlib 表現を自動的に変換するコードを探しています。そこから smali が生成されます。後者のオプションは、smali を生成するオーバーヘッドを回避できるため、私の目的には適しています。

0 投票する
1 に答える
360 参照

android - Androidアプリケーションのsmaliコードを調べて漏洩した個人情報を特定する

Androidアプリケーションのsmaliコードを調べて、個人情報の漏洩を検知しようとしています。これまでの私の戦略は、個人情報(IMEI、電話番号など)を変数に置き換えるコードを検索し、インターネットに送信されるか、使用されなくなるまでその変数を追跡することです。

これを行うための優れたツールはありますか?

私はもう試した

  • apkinspector(http://code.google.com/p/apkinspector/)
  • アンドロガード(http://code.google.com/p/androguard/)
  • androwarn(https://github.com/maaaaz/androwarn)

、しかし、これらのどれも私が望むことをすることができない可能性があります。

0 投票する
1 に答える
1218 参照

bytecode - smali コードと dalvik バイトコード仕様、および dex ファイル内のオペコードの実際の 16 進数を混同する

という名前の Java クラスを定義しましたDefineFields。空のコンストラクターがあります。コンパイルすると、classes.dexファイル内の 16 進コードは次のように表示されます。

その後、バイトコード仕様を検索し、見つけました

仕様書を読みました。しかし、私は何が何であるかを完全に理解することはできません35c。(私は c を知っています、x は仕様で説明テーブルを持っています。) さらに知りたいのは、と の1016 進数をどのように説明できるかです。70100C050C

これらは仕様のオペコードと一致しません。

0 投票する
1 に答える
1563 参照

android - smali(Android):インスタンス変数の操作

私はsmaliを使用して次のことを行おうとしています:

  1. ArrayListクラスにプライベートインスタンスフィールドを追加する
  2. クラスのコンストラクターでインスタンスフィールドをインスタンス化します
  3. addクラスのメソッドの1つでフィールドに対して操作を実行します。

これらは、関連するコードスニペットです。(私のクラス名はcom.mypackage.MyClass(ie com/mypackage/MyClass))

# instance fieldssmaliコードのセクションに、次の行を追加しました

パブリックコンストラクターメソッド(.method public constructor <init>()V)で、行を追加しました

そして最後に、メソッド呼び出しを実行したいインスタンスメソッドにadd、行を追加しました

ただし、ライン

エラーが発生します(logcatによる)

同じメソッドの同様のメソッド呼び出しで行ったことを比較したところ、何が問題だったのか理解できませんでした。

何か案が?

ありがとう!

0 投票する
1 に答える
136 参照

android - smali: パラメータ化されたクラスの処理

List<E>があり、そのメソッドを呼び出したいとしましょうadd(E object)。私のリストは実際にはList<String>です。この呼び出しを smali でどのように表現すればよいでしょうか?

すべきか

また

または、他の何か?

0 投票する
2 に答える
6295 参照

android - smali: 文字列定数

String 定数をレジスタにロードし、それをメソッド呼び出しで使用するために行う必要があることは他にありますか?

?

次の命令ブロック

次のlogcatエラーメッセージが表示されました:

0 投票する
1 に答える
4695 参照

java - Android APKからコールグラフを生成するには?

Google Play からいくつかの Android アプリケーションをダウンロードしました。Smaliリバース エンジニアリング ツールを使用してコードを入手apktoolしました。これらのアプリケーションのコール グラフを生成したいと考えています。スタック オーバーフローと Google に関する多くのリンクを見てきました。提案されたツールのほとんどは 用であるか、c/c++または 用である場合Java、もちろん私が持っていないソース コードが必要です。

コールグラフを自動的に生成する方法はありますか? ありがとう。