Skip to content

send(winsock2) and HttpSendRequest(WinInet) API hook for nFinder 2.1.0.2

License

Notifications You must be signed in to change notification settings

magni1200s/nFinderHook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

変更履歴

  • 2017年9月15日 v1.2 動画のIDが「sm+8桁の数字」ではなく「10桁の数字」の場合でも再生できるように修正
  • 2017年7月19日 v1.1 myHttpSendRequestW()にバッファを超えるサイズのリクエストボディがあった場合の処理を追加
  • 2017年7月17日 v1.0 初版

概要

nFinderHookは、ハゲソフト製ニコニコ動画専用ブラウザであるnFinderを延命させるために作られたツールで、nFinderが抱える以下の2点の問題について対処します。

  1. プレイヤーで動画を再生する際に「ヒストリークッキーまたは再生情報の取得に失敗しました。通信遅延によるタイムアウト・ログインが解除されている等の可能性があります」というエラーメッセージが表示されて動画の再生ができない
  2. プレイヤーで動画を再生する際に投稿者コメントが取得、表示できない

ダウンロードはこちらからどうぞ。

動作環境は以下の通りです。

  • nFinder バージョン2.1.0.2(32ビットのみ、64ビット化したバイナリは不可)
  • Windows 7以上(ただし動作確認はWindows 10のみ)

nFinderHookは以下のモジュールで構成されます。

  1. nFinderHook.dll
    • nFinderのプレイヤーが目的の動画をサーバーへリクエストする際に使用するWinsock2のsend()をフックし、HTTPリクエストヘッダーに含まれるCookieの値に「watch_flash=1」を追加することで、サーバーから新方式のHTML5形式ではなく従来のAdobe Flash形式の動画が送られてくるようにする
    • nFinderのプレイヤーが投稿者コメントを取得するために送信するリクエストで使用するWinInetのHttpSendRequest()をフックし、HTTPリクエストヘッダーに含まれるContent-Typeの値を「text/xml」に変更し、正常なレスポンスが返ってくるようにする
  2. nFinderLauncher.exe
    • nFinderHook.dllをnFinder.exeに読み込ませるため(インジェクトするため)の起動用アプリケーション

利用する際にはnFinderの実行ファイルであるnFinder.exeが存在するディレクトリにnFinderHook.dllとnFinderLauncher.exeの両方をコピーし、nFinderLauncher.exeを起動してください。一瞬コマンドプロンプト画面が表示された後に、nFinderが起動します。

なお利用しているサードパーティ製のライブラリの都合で32ビット版のnFinder.exeでしか利用できません。nFinderに同梱されているx64x86Conv.exeで64ビット化している場合はx64x86Conv.exeを使用して32ビットに戻してからお使いください。

このソフトウェアはDLLインジェクションのためにMicrosoft ResearchのDetoursを利用しています。ソースコードからビルドする際に同ライブラリ及びヘッダーファイルが必要となります。 また合わせてMalware Analyst's Cookbookのサンプルコードも参考にさせていただきました。