パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Windowsで綺麗なフォントレンダリングを実現する「gdi++.dll」」記事へのコメント

  • 今はバイナリをドラッグ&ドロップされたときにAPIをフックしているみたいですが、レジストリのAppInit_Dllsキーを用いたDll Injection [google.co.jp]を行うとシームレスに(プログラムを起動するだけで)フックできるかもしれません。
    • 全てロードするとうまく動くか危険なので、あえてやっていないんでしょ。
      フックの仕方もそんなあくどい方法を使わなくても、SetWindowsHookEx()で十分ですし。

      描画がある以上、必ずWindow作成が発生するのでそこでフックする。ロードされたら後はIAT書き換えちゃうのかな?
      # ウィルスの類と誤認識されてもしーらないっ
      • Re:APIフック方法 (スコア:-1, フレームのもと)

        by Anonymous Coward
        素人丸出しだ。
        当て推量の前にソースを読め。
        • by Tsann (15931) on 2006年09月23日 16時49分 (#1024918)
          何言ってるんだろう?
          gdi++ではシームレスにフックしていないからその方法を語っただけなのに、ソースを読むと何かわかるの?

          実際、ソース読んでみたけどIAT書き換えよりもずっと面倒な方法で実装されてたし。
          ACさんこそIATも知らないのに他人を素人呼ばわりしない方がいいよ。
          親コメント
          • by Anonymous Coward on 2006年09月23日 17時35分 (#1024945)
            別ACですが。

            IAT(ImportAddressTableだっけ?)の書き換えだと
            gdi32.dllの内部でそのAPIを呼んだ時のフックができない。
            (同じDLL内のAPIだからIAT使わず直接CALLする)
            私もあまり詳しくないが、これで合ってるかな?

            んで、gdi++は一部のアンチウィルスソフトにブロックされてるみたいね。
            親コメント

私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson

処理中...