別のプログラムの接続関数呼び出しをフックし、接続先の IP を読み取る C# でアプリケーションを作成しています。(私はそれがIPv4であることを知っています)
現在、関数呼び出しをフック、傍受、転送し、変数を取得しますが、winsock での接続は 2 番目の引数として sockaddr* 変数で呼び出されるため、IP アドレスを取得するには、これを sockaddr_in にキャストする必要があります。(情報を見つけることができなかった sa_data フィールドから IP を取得する方法がない限り。)
これは私が立ち往生しているところです。InteropSignatureToolkit を使用して構造体の C# コードを生成しましたが (生成コード: http://pastebin.com/twvGw030 )、sockaddr 構造体を sockaddr_in にキャストする方法がよくわかりません。C++ ではこれは非常に簡単ですが、C# で行う方法がわかりません。
これを読んでくれてありがとう。あなたが私を助けてくれることを願っています。:)