0

ネイティブ プロセスのリバース エンジニアリングの問題を解決する必要があります。いくつかのコントロール (TextBox、Buttons、TextAreas、ComboBoxes など) を持つ管理されていない .exe があります。コントロールにすべてのデータを入力した後、ユーザーは「開く」を押します。

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

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

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

ノート:

EXPORTED 関数は検出されません。そのために CFF/PE Explorer を使用しました。

よろしくウスマン

4

2 に答える 2

1

2つの可能性があります。1つは、モニターをCOMポートに接続し、そこに何が表示されるかを確認することです。これにより、コードのREがまったく回避され、通常、かなり速く簡単になります。

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

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

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

于 2011-07-09T18:56:53.637 に答える
0

OllyDbg がお手伝いします。また、アセンブリ言語と呼び出し規約に関する基本的な知識も必要です。そしてもちろん、インターセプター機能(迂回)のインストールの原則。

于 2011-07-09T18:55:14.697 に答える