2

ARMV4i実行可能ファイルと DLLの逆アセンブラを知っている人はいますか?

私はプラグイン DLL を持っていますが、非常にまれにdata abort(時間の 5% 未満)、特定の機能に絞り込んで作成しています (ダンプビンと によるアドレス出力を介してdata abort)。ただ、かなり大きな機能なので少し絞ってみたいと思います。呼び出しで発生していることは知っていmemset()ますが、その特定の関数には約 35 個の関数があるため、逆アセンブリを見て、問題の実際の場所を特定できることを期待していました。

4

4 に答える 4

3

私はIDA Proがあなたの望むことをしてくれると信じています。これは O'Reilly Security Warrior の本で言及されており、Windows Mobile 開発者フォーラムで推奨されているのを見てきました。

于 2008-08-26T18:47:47.583 に答える
3

IDA Pro は間違いなく ARM の逆アセンブルを行います。そして、彼ら (Datarescue) は、現地時間の午後 11 時頃にライセンスを手配してくれたことがあります。

http://www.datarescue.com/idabase/を見ると、会社の再編があったようですが、それでも良い製品だと思います。

新しい発行元へのリンクは次のとおりです: http://www.hex-rays.com/idapro/

于 2008-08-26T18:57:33.580 に答える
1

ChARMeDは、Windows Mobile / Pocket PC / Win CE (ARM CPU 用) の逆アセンブラーおよびアセンブラーです。

シェアウェアの逆アセンブラーである BDASM も参照してください。それ以降のバージョンには ARM プラグインが含まれています。Web サイトはダウンしているようですが、検索するとシェアウェアのディストリビューションが見つかります。

シンプルな ARM 逆アセンブラDISARMのソース コードも利用できます。

binutils (Linux コンパイラ ツール) objdump を使用して、「objdump -b binary -m arm7tdmi -D file_name」という逆アセンブリを生成できます。

-アダム

于 2008-09-13T02:13:04.500 に答える
0

数年前、組み込み作業を行っているときに使用していた ARM 逆アセンブラーを見つけました。ただし、その名前は覚えていませんが、エミュレーターなどの大きなパッケージの一部だったと思います。

あなたの場合、コンパイラにコンパイル済みコードのアセンブリ リストを生成するように依頼できますか? それはあなたにいくらかの範囲を与えるのに役立つかもしれません.

これに失敗すると、取得できるのがスタック トレースだけであれば、関数を 1 つまたは複数の新しい関数に分割できます。次に、新しい関数を 1 つ以上に再度分割します。これは、実証済みの「分割統治法」です。また、1 つの関数で memset() を 35 回呼び出す場合は、設計の観点からも良いアイデアかもしれません。

更新:使用したパッケージが見つかりました: ARMphetamine。私が開発していた ARM9 コードでは機能しましたが、かなり長い間更新されていないようです。

于 2008-08-22T20:50:52.237 に答える