問題タブ [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.
winapi - Spy++ で表示されないウィンドウを `FindWindow` する方法は?
IDA Pro を使用して Windows アプリケーションをデバッグしています。ある時点でFindWindowA
、指定されたクラス名のウィンドウが呼び出され、正常に検索されることがわかりました。
ただし、Spy++ を使用して指定されたクラス名のウィンドウを見つけると、どこにも存在しないように見え、見つけることができません。
アプリケーションが呼び出されたときに何らかの方法で内部的に見つけるこの同じウィンドウをどのように見つけることができるのだろうかFindWindowA
? 外部アプリケーションが同じウィンドウを見つけられないのはなぜだろうか...
ida - IDA で未踏の領域をコードとして自動的にマークする
IDA で逆アセンブルしているバイナリ ファイルがあります。IDA はすべてのコード パスを見つけることができないため、手動でバイナリ内の未調査の領域を見つけて、基本的に Ctrl+U と C を繰り返してコードに変換する必要があります。これは明らかに非常に時間がかかります。
未踏の領域を自動的に見つけてコードに変換する方法はありますか?
ida - IDA Pro 文字列関数
編集したいこのバイナリ ファイルがありますが、それを読み込んだ後、すべての文字列が意味不明な記号になっています。とにかくフォーマットすることはありますか?
windows - 関数呼び出しの識別とインターセプト
ゲームのランチャーを開発しています。テキストを出力する関数のゲームの呼び出しをインターセプトしたい。
この関数を含むコードが動的にリンクされているか静的にリンクされているかはわかりません。そのため、関数名もわかりません。
私は、Microsoft Detours、Ninject などを通じて、このゲームのいくつかの windows-api 呼び出しを傍受しました。
しかし、これもインポートテーブルにはありません。
この関数呼び出しをキャッチするにはどうすればよいですか? どのプロファイラーを使用する必要がありますか? アイダ?これはどのように行うことができますか?
編集:
最後に関数アドレスが見つかりました。ありがとう、スキノ!
Detours でフックしようとして、dll を注入しました。注入された DllMain:
予想通り引っ掛かります。パラメータa
には、表示されるべきテキストがあります。ただし、元の関数を呼び出すとreturn PrintText_Origin (a, b, c , d);
アプリケーションがクラッシュします( http://i46.tinypic.com/ohabm.png、http://i46.tinypic.com/dfeh4.png )
元の関数の分解:
迂回後:
EDIT2:
迂回後:
PrintText_Hooked
逆アセンブリhttp://pastebin.com/FPRMK5qt w3_loader.dllは注入された dll です
私は ASM が苦手です。何が問題なのか教えてください。
function - 関数アドレスで JMP を使用すると、どのような影響がありますか?
特定の関数がどのように機能するかを理解しようとしているときに、IDA でプログラムを見ていました。次のようなものに出くわしました。
このような場合、関数へのジャンプが正確に何をするのか、誰かが私に説明できますか? 他の関数のラッパーとして機能すると思いますか?
assembly - アセンブラARMは、ブールメソッドが常にTRUEを返すように強制します
return 関数を含むコードはこれで終わりです。
誰かがそれが何をするのかコメントして、常にTRUEを返すのはPOPだと思うリターン命令を強制する方法を説明してもらえますか!
私が投稿したコードの一部は、何らかの操作を行い、TRUE または FALSE を返すブール関数です。
ありがとう
visual-studio-2008 - .obj ファイルを逆アセンブルして使用する
私は大学でコース (リバース エンジニアリング) を持っていて、宿題があります。.obj ファイル (Visual Studio 2008 でコンパイル) を取得しました。これを逆アセンブルし、制御構造を把握して、小さな C プログラムで呼び出す必要があります。
IDA逆コンパイラを使用しました.asmコードは次のとおりです。
IDA は、次のような優れた制御構造も作成してくれました。
ご覧のとおり、コードは次のようになります。
for1 と for2 がほぼ同じ構造を持っていることを知っているので、アクティビティのみが異なり、for3 の実装された関数は for1 と for2 として functionfamily にあります。for3 は 2 番目の malloc の結果をパラメーターとして使用するので、for2 は何らかの配列コピー ループである必要があると思います。for1、for2、および for3 は、既知の stdc インライン実装です。
この f3 関数の目的を理解する方法を教えてもらえますか?
2 番目の質問: この .obj ファイルを小さなサンプル C プログラムで使用するにはどうすればよいですか? VSでその機能を呼び出すにはどうすればよいですか?
事前に感謝します。どんな助けでも大歓迎です。
更新: 道化師: 興味深い。ノードの構造についてどのように知りましたか? 私はまだこのすべてを(あなたの助けを借りて)理解しようとしていますが、まだ何もありません.
IDA逆アセンブラーには疑似コード表示機能があることがわかりました。ここに疑似があります:
これから、文字列内の数字の出現をカウントするのでしょうか? この疑似コードは、私には少しわかりにくいです。
サンプル プログラムでこの関数を呼び出そうとしましたが、成功しませんでした。私が使用した: extern signed int fb3(int a1, const char *a2); それから私はそれを呼び出そうとしましたが、リンカは私に「関数_mainで参照された未解決の外部シンボル_fb3」エラーを与えます(したがって、私が推測するexternキーワードで宣言した.objファイルには、このシグネチャを持つfb3関数はありません。署名が間違っています)。
これが私が使用しようとしたサンプルプログラム(main.c)です:
リンカー入力 (vs2010) も f3.obj に設定しました。
UPDATE2: ノード構造体を実装し、大文字と小文字を区別する関数名を使用しました。これで、正常にコンパイルできるようになりました。
サンプル プログラム:
出力は次のとおりです。
興味深いのは、7 番目の printf が printf "value=2" であることです。これは、"v" が既にツリーに含まれているためです。
.net - .NET逆アセンブル、編集、パッチ
.NET実行可能ファイルを編集する必要があります。私はHEX編集に不慣れです。IDA 6.1 Proにインポートし、IDA-ViewWindowで編集しました。
オリジナル:
(右クリック>手動...(手動オペランド))に変更しました:
PatchDiff2(IDAプラグイン)をインストールしましたが、これは機能しません:
実行可能ファイルに変更をコミットする別の方法はありますか?元のバイト値は次のとおりです。72 BD 1B 00 70 02 7B 59 00 00 04 28 1B 00 00 0A
(Edit \ Patch program \ chenge Bytesからパッチを適用するために必要です)の新しいHEX値を取得するにはどうすればよいですか?
assembly - ラージダブルワードとは?
このコード部分で短い関数と大きい関数はどれですか? large はlong dwordと同じですか?
ios5 - ARM アセンブリから制御フローチャートを生成する
現在、IDA Pro の助けを借りて iOS 5 アプリから抽出された ARMv7 アセンブリ コードがいくつかあります。これらのアセンブリ コードに基づいて制御フロー グラフを生成したいと考えています。それを行うのに役立つツールを推奨できる人はいますか? アセンブリの知識はほとんどありませんが、グラフを作成するための基本的な指示と概念を学ぶことができます
とにかくありがとう!