2011-07-09 16 views
0

ネイティブプロセスのリバースエンジニアリングの問題を解決する必要があります。 いくつかのコントロールを持つアンマネージド.exe(TextBox、Buttons、TextAreas、ComboBoxesなど)があります。コントロールのすべてのデータを入力した後、ユーザーは「開く」を押します。フックする方法エクスポート機能が利用できないネイティブプロセスですか?

実際にはモデムポートを開き、ATコマンドを送信します。私はモデムのCOMポートに送るデータとメッセージのフォーマットをチェックしたいと思います。

私はプロセスをリバースエンジニアリングし、機能をフックする必要があります(ほとんどの場合、モデムポートを「開く」機能があり、ユーザーが「開く」をクリックすると呼び出されます)。

提案私の指示が正しいので、注射後にその機能をフックする必要があります、私の目標は達成されるでしょう。

注:

EXPORTED機能は検出されません。私はCFF/PEエクスプローラを使っていました。

よろしく ウスマン

答えて

0

OllyDbgはあなたを助けることができます。また、アセンブリ言語と呼び出し規約についていくつかの基本的な知識が必要です。もちろん、インターセプタ機能のインストールの原則(迂回路)。

+0

すべてのフィールドを入力して「開く」ボタンをクリックした後に、すべてのデータを検査する必要があります。受信者アプリケーション用にデータがどのように準備されているか(または受信者アプリケーション用に作成されたパケット送信者アプリケーションの形式)それでおしまい!! しかし、主な問題は、何も表示されない、それが空であることです。 – Usman

1

2つの可能性があります。 1つは、COMポートまでモニターをフックし、そこに出てくるものを見るだけです。これにより、コードのREはまったく避けられ、一般的には少し速く簡単になります。

[編集:これには2つの形式があります:1つはハードウェアです(COMポートハードウェアに接続されたロジックアナライザ(またはその順序のもの))。シリアルデータストリームがデコードされ、ワイヤを横切って表示されます。他の形式は、IATを使用してWriteFileへの呼び出しに接続し、開いたファイルとそれぞれに書き込まれたデータを示すソフトウェアです。 Microsoft Detoursライブラリがこれに役立ちます。]

とにかくコードを再作成する場合は、おそらくIDAProなどの適切な逆アセンブラが必要です。 CreateFileWriteFile(「PE」の言葉に基づいてWin32を扱っていると仮定して)という場所からCOMポートを処理する部分を見つけることができます。あなたはおそらく "\\。\ COM"(または少なくとも "COM")のようなものをどこかのリテラル文字列として持っていて、その文字列(またはそのコピー)を使用するCreateFileへの呼び出しを見つけたいと思うでしょう。 。

そこから、実際にCOMポートに書き込まれる文字列をまとめたコードを見つけるために、後方に向かって作業する必要があります。しかし、どれほど複雑なのかは分かりません。

+0

最初の部分はより魅力的で、より速くて100%正確な結果を得られます。それでもう少し正確な方向を教えてください。私は「モニターCOMポートをフックする」という意味ですか?それになると、データが来ると簡単になるでしょう。私は "Import Address Table"(IAT)またはEAT(Export Address Table)を変更することでそれを捕まえます。これにより、データが私のプロセスに最初に来るようになります。 – Usman

+0

うん、私はそれに取り組んで、どのポイントをプロセスと依存DLLの機能をフックする必要があるかを見てみてください。受信者にデータを送信するだけです。私はあなたにインストーラを与えることができますあなたのMAILNGアドレスを提供して、それにサンプルテスト入力を与えて、あなたはデータがどこに行くのかを見ることができるようになりますか?謙虚な要請。 – Usman

+0

@Usman:申し訳ありませんが、いいえ。あなたがどこかに何かを投稿したいのであれば、それをダウンロードしてテストする人がいるかもしれませんが(私もその人の中にいるかもしれませんが)、私の郵送先のアドレスはかなり異なっています。 –

関連する問題