A pray to the everlasting†
Go with God...
プロフィール

Amu

Author:Amu
(゚Д゚)<久々にロゴを変えました!!
(゚Д゚)<デザインセンス0!
(゚Д゚)<むずかしいです!



Clocks



ブログ検索



カレンダー

09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -



最近の記事



最近のトラックバック



月別アーカイブ



ブロとも申請フォーム

この人とブロともになる



リンク

このブログをリンクに追加する



RSSフィード



全ての記事を表示する

全ての記事を表示する



スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


Captain Hook has come!
( ゚д゚)<よーほーよーほー
( ゚∀゚)ノ パーレイ!パーレイ!

取り乱した、Amuです。
今日はバイト先で、dllをhookするdllを作っていました。

具体的には、aetpkss1.dllという、SmartCard関連のライブラリをhookしています。
SmartCardというのは、USBTokenのようなセキュリティ機構を持った小型のデバイスのことを指すと思ってさほど問題ないと思います。
平たく言えば、USBTokenを使うアプリケーションなどは必ず使用する大切なdllです。

aetpkss1.dllの中身は、cryptkiライブラリ(pkcs11と呼ばれるやつ)内の種々の関数をコールしています(おそらく)。
事実、dependency walkerなどでexportされている関数を見ると、pkcs11で定義されている関数が並んでいます。

んで何をやるかというと、自前のaetpkss1.dllというライブラリを作って、本物のaetpkss1.dllと入れ替えて、dllを使用するアプリがどんな引数でもって関数をコールしてるか調べるってやつ。

内容はたいしたこと無いのですが、困ったことが。。。


USBTokenなどは認証管理などに用いられるので、winlogonに使用されるのです。
勘がいいと気づくかもしれませんが、一度winlogonにaetpkss1.dllが呼ばれると、winlogonが手を話してくれないのです。
そうすると、新しく作ったaetpkss1.dllを上書きしようにも「ほかのプロセスが使用中です」とのそっけない返事orz

winlogonをkillなんて出来ないですし。とりあえず、毎回再起動してるのですが、どうにかならないかなぁ?

そもそも、最初はどのプロセスがaetpkss1.dllを使用してるかってのを調べるのでも骨でしたが、それは
Process Explorer
なるものを用いて調べました。
これ、タスクマネージャの強化版みたいなかんじです。

が、玄人にしか勧めません。

なぜならば、システム上必要なプロセスだろうと問答無用でkillできるので(゚д゚)

これで、winlogonをkillしたら大変なことになりましたとさ(・∀・)
でも、オススメです
スポンサーサイト

この記事に対するコメント
うげげ、dllフックっすか。
マニアックなことやってるなぁ。
怖そうかつ面倒くさそうなので試したこと無いです。

Win32オタク向けのツールとしては
RegMonやSpy++も是非。
【2006/11/07 08:52】 URL | Enrike #- [ 編集]


この記事に対するコメントの投稿














管理者にだけ表示を許可する


この記事に対するトラックバック
この記事にトラックバックする(FC2ブログユーザー)
トラックバックURL
→http://ayutama.blog22.fc2.com/tb.php/207-1812c52a



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。