2008年09月29日

IsDebuggerPresentという関数の使い道

特に目新しい関数ではないが

 某書ではデバッガにハックされないようにする手段としても使えると説明はされているのだが

   アタッチされたらどうしよう
posted by zengaichi at 20:48| Windows Shell Programming | 更新情報をチェックする

2008年06月17日

HMAC SHA1 windows版

プレーンテキストのKEYを使った場合のWindows版

OpenSSLを使えばよいのかもしれないが



続きを読む
posted by zengaichi at 21:15| Windows Shell Programming | 更新情報をチェックする

2006年09月13日

Credential Providerのメモ

GINAの代わりにVistaからCredential Providerとなる。
現在の分類はSHELLに入るらしい。
概要を読んだがLSAに関するインターフェイスについては特に触れていない。
ということはAuthencation Packageは従来通りの扱いかと思えるのだが、気になるキーワードが含まれている。

Authencation Provider
posted by zengaichi at 20:41| Windows Shell Programming | 更新情報をチェックする

2006年08月14日

IconCache.db

Windows XP以降
存在するディレクトリ
Documents and Setting\[User]\Local Settting\Application Data

アイコンが化けた時には、このファイルを削除する。
この後、ログアウトしてログインすると自動的に生成される。

削除方法:
ファイル検索で隠しファイルとして検索し
自身のユーザのファイルを削除する。



posted by zengaichi at 22:05| Windows Shell Programming | 更新情報をチェックする

2006年05月13日

Namespace Extension

下記URIでは.NET Framework(C#)を使ったNamespace Extensionを説明している。

タイトル:
Windows Shell
Create Namespace Extension for Windows Explorer with the .NET Framework

元記事:

http://msdn.microsoft.com/msdnmag/issues/04/01/WindowsShell/?print=true

ポイントは

次の内容のtest.cppファイルを作る。

#include <shlobj.h>
#include <shobjidl.h>
#include <shljuid.h>

次に、コマンドラインで次の行の通りに打つ。

cl /E test.cpp > test.txt

このtest.txtファイルからマーシャリングするためのインターフェイスを抽出する。



COMのマーシャリング方法として参考になる。
IShellViewの実装方法すべきメソッドも記載されているので参考になるかもしれない。
ただし、このURLからのサンプルの改造からの開発は結構問題が発生するので注意したほうがよい。
・PIDLのところでメモリリークが発生している。
・マイクロソフトは関知しない。

posted by zengaichi at 15:40| Windows Shell Programming | 更新情報をチェックする

2006年04月21日

SHITEMIDとPageHeap

シェルエクステンションでアイテムの構造体を宣言するとき構造体


typedef struct _SHITEMID {
  USHORT cb;
  BYTE abID[1];
} SHITEMID, * LPSHITEMID;


を用いるのだが、これは3バイトのサイズである。だが、PageHeapを使ってデバッグするとメモリに問題があると判定される(メモリリーク)。
つまり、実際には2バイトとして扱う必要がある。
posted by zengaichi at 00:38| Windows Shell Programming | 更新情報をチェックする