問題タブ [ida]

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 投票する
1 に答える
1594 参照

reverse-engineering - ベースアドレスが同じではありません

IDA pro と OllyDbg で実行可能ファイルをロードすると、同じ命令のアドレスが別の場所で開始されます。これは、ベース アドレスが異なることが原因である可能性があります。実行可能ファイルが同じベース アドレスを使用することを望みます。どうすればこれを行うことができますか?

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

assembly - ARM ASM ビットからどのように値を抽出しますか?

IDA Pro では、以下の ARM ASM が表示されます。IDA が 7200 を取得するために使用するビットは何ですか?

A3 F5 E1 53 SUB.W R3、R3 #7200

便宜上、値は次のようにバイナリです。

7200 = 0x1c20 = 0001 1100 0010 0000

0xA3F5E153 = 1010 0011 1111 0101 1110 0001 0101 0011

編集:IDA選択でファイルをロードします。Mach-O ファイル (DYLIB) ARMv7[macho.lhc]

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

reverse-engineering - IDA Pro 関数の外部参照を編集するにはどうすればよいですか?

IDA は、私が行っている関数呼び出しの誤ったラベル付けにおいて非常に永続的です (これは手書きのアセンブラーですが、デバッガーで確認しました)。以前は機能していましたが、Python を使用して既存のデータベースに新しいコードをパッチしていたため、少し不安定になったようです。

ここで、function_a を eax にプッシュしていることを認識していても、その後の呼び出し eax が function_b の呼び出しであると主張しています。どのように「リフレッシュ」しようとしても、持続します。関数の削除、セクションの未定義と再定義、さらには DelCodeXref の呼び出しを試みました (この最後のメソッドは、関数の xrefs リストからそれを削除するように見えますが、コメントは引き続き呼び出しの横に表示され、未定義/再定義すると、自然に再登場)。

唯一の修正は、2 番目の mov eax に書き込み、その上に function_a をオフセットすることのようですが、誤解を招くコメントを取り除くためだけに冗長な命令を投入するのはエレガントではありません。誰にも提案はありますか?

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

assembly - DLLファイルの逆アセンブル、変更、およびアセンブル

逆アセンブルした DLL があり、プロジェクトが機能することをテストするだけです。もう一度組み立ててみましたが、うまくいきませんでした。

さまざまな種類のエラーが発生しています。

フリーウェアの IDA Pro で逆アセンブルし、ファイルを .asm としてエクスポートして、再度アセンブルしようとしましたが、A86 アセンブラとフラット アセンブラを使用してみました。

DLL を間違って逆アセンブルしているか、間違ったアセンブラを使用している可能性がありますが、誰かがこれに関するツールやリソースを教えてくれませんか?

データ:

A86、IDA 分解に関する分析は行われていません:

C:\Users\Ma\Documents\sap assembler\a86\Temp>a86 TEST.ASM
A86 マクロ アセンブラ、V4.02 Copyright 1995 Eric Isaacson
Source:
TEST.ASM [COMPAT.8
そのようなファイルはありません。

フラット アセンブラ 1.69.32、逆アセンブルで IDA 分析なし:

不正な命令
命令: .686p

フラット アセンブラ 1.69.32、逆アセンブリで行われた IDA 分析:

エラー: 無効な名前
_LARGE_INTEGER::$837407842DC9087486FDFA5FEB63B74E 構造体

a86、逆アセンブル時に IDA で分析を実行:

私のワークフローは間違っていますか?

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

macos - Macでのプロセス用のメモリのスナップショット?

Macで動作しているプロセスのメモリのスナップショットを撮りたいです。どうしたらいいのかわからない。

IDA-PROformacを持っています。使えますか?どのように?

誰かが私にこれを行う方法を提案できますか?(いくつかのドキュメントまたは例)。ユニのテクニックも使えるかもしれませんが、私も気づいていません。

命令/コマンドの実行後に何が変化するかを確認したいので、プロセスを強制終了したくありません。

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

visual-c++ - msvcp60.dll が idapro および ollydbg にインポートした関数名

現在、msvcp60.dll からいくつかの関数をインポートする実行可能ファイルを逆にしています。IDA Pro で実行可能ファイルを開くと、関数名が非常に長く、何をしているのかについてのヒントがありません。これらの機能をすべて逆にするのは、今のところ時間の無駄です。

これらの関数の意味のある名前を取得する方法、または少なくとも IDA に表示されたリストを解釈する方法はありますか? 関数の例を次に示します (コードのアドレス 0040377C での呼び出し)。

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

assembly - 絶対JMP/CALLを相対JMP/CALLツール/プラグインにアセンブリしますか?

リバースエンジニアリングしようとしているこのプログラムがあります。それがコンパイラのオプティマイザなのか難読化なのかはわかりませんが、他の関数を呼び出すコードの一部は、数学によって計算され、次のように呼び出されます。

別のプログラムにDLLとしてロードされるまでは正しく動作します。ベースアドレスオフセットが変更されたため、すべての相対コードが正しく機能するようになりましたが、数学で計算されたすべての呼び出し/jmpが適切な領域に移動しません。

したがって、すべての絶対呼び出しを相対呼び出しにすることで、これを簡単に修正できると考えました。

コードをステップ実行し、すべての計算を計算させている間、正しいjmp/callオフセットを取得します。

パッチを割り当てるのに十分なスペースがないなどの問題はありません。絶対呼び出しは通常、前に私が物事を修正するためにも使用できる回線を使用しているので

絶対的な呼び出し、これは数学が終わるところです:

のように変換されます

もちろん、eaxはすでに何かだったので、上記は機能しませんが、これは単なる擬似コードの例です。

私の質問はこれを行う方法ではありませんが、OllyDbgまたはIDA Proでこれを自動的に行うプラグインはありますか?

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

reverse-engineering - IDA での変更と保存

IDA で現在のバイナリにコードを追加し、保存してからバイナリを再コンパイルすることはできますか? 私はGoogleを調べましたが、IDAがこれを行うことができるかどうかについての提案はありません. そうでない場合、時代遅れのファームウェアにかなり重い変更を加えるのに最適なものは何ですか?

ファイルから追加のクラス/関数をロードする必要がありますか?

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

debugging - AeDebug\Debugger のどの文字列が IDA Pro をデバッガとしてアタッチしますか?

IDA Pro を使用してバイナリ クラッシュをデバッグする必要があります。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debuggerクラッシュしたプロセスにアタッチされた IDA Pro を起動する値のコマンドラインは何ですか?

IDA のコマンドライン スイッチを調べましたが、何も見つかりませんでした。