偽装フォルダを作って遊んでみる
はじめに
なお、偽装フォルダはちょっとしたことで解除できちゃうので、大切なデータを保管する場合は、暗号化と兼用した方が良いですね。でも、偽装するとそこに大切なファイルがあることを教えちゃうことにもなるけど・・・
対象OS:Windows XP
手作業で偽装フォルダを作って試してみる
手順はフォルダの拡張子に{2227a280-3aea-1069-a2de-08002b30309d}を付加することで簡単に偽装できます。ただし現在お使いのフォルダに設定しちゃうと取り出せなくなることもありますので必ず消しても良いフォルダでお試し下さい。[1]
1. エクスプローラなどで,新規作成(W) フォルダ(F)でフォルダの名前を以下のように入力して下さい。
test.{2227a280-3aea-1069-a2de-08002b30309d}
2. 名前がtestのプリンタのアイコンが作成されます。
3. 作成された test のプリンタのアイコンをダブルクリックして下さい。
4. フォルダの中にアクセスできずにプリンタの一覧が表示されたかと思います。試し終わったらそのフォルダは削除して下さい。
このように通常のフォルダをシステム関連のフォルダにすることができます。この方法を用いてフォルダを偽装し,隠し属性,システム属性などを付加してデータを隠すタイプのソフトが多いようです。また,Windowsからはアクセスできないようにフォルダ名に工夫を施すとさらにアクセスし難くなりますが,それでも安全ではなく簡単に取り出すことができるので注意が必要です。
[1] DOS窓からの操作ならば解除できます。
バッチファイルで試す その1
1. 以下のコードをコピーして ex1.batを作成。
2. ex1.batを実行すると,lockフォルダが作成される。
3. lockフォルダにテスト用の要らないファイルをコピーする。
4. ex1.batを実行すると,lockフォルダがプリンタになりアクセスできなくなる。
5. もう一度 ex1.batを実行するとlockフォルダが解除され普通にアクセスできるようになる。
@echo %debug%off
%~d0
cd %~dp0
set lock=lock
set ex={2227a280-3aea-1069-a2de-08002b30309d}
if exist "%lock%.%ex%" goto :unlock
if not exist %lock% goto :makedir
:lock
ren "%lock%" "%lock%.%ex%"
goto :EOF
:unlock
ren "%lock%.%ex%" "%lock%"
goto :EOF
:makedir
md %lock%
goto :EOF
別の方法による偽装方法です。
@echo %debug%off
%~d0
cd %~dp0
set lock=lock
set key=%lock%\Desktop.ini
if not exist %lock% goto :makedir
if exist %key% goto unlock
:lock
echo [.ShellClassInfo]>%key%
echo CLSID={2227a280-3aea-1069-a2de-08002b30309d}>>%key%
attrib +S /S /D %lock%
goto :EOF
:unlock
del %key%
attrib -S /S /D %lock%
goto :EOF
:makedir
md %lock%
goto :EOF
lockフォルダを消してみる
lockフォルダがプリンタで表示されると怪しいので消してみます。この操作を試し前に先ほど作成したlockフォルダを削除して下さい。
1. 以下のコードをコピーして ex2.batを作成。
2. ex2.batを実行すると,lockフォルダが作成される。
3. lockフォルダにテスト用の要らないファイルをコピーする。
4. ex2.batを実行すると,lockフォルダが消える。
5. もう一度 ex2.batを実行するとlockフォルダが表示され普通にアクセスできるようになる。
@echo %debug%off
%~d0
cd %~dp0
set lock=lock
set ex={2227a280-3aea-1069-a2de-08002b30309d}
if exist "%lock%.%ex%" goto :unlock
if not exist %lock% goto :makedir
:lock
ren "%lock%" "%lock%.%ex%"
attrib +H +S /S /D "%lock%.%ex%"
goto :EOF
:unlock
attrib -H -S /S /D "%lock%.%ex%"
ren "%lock%.%ex%" "%lock%"
goto :EOF
:makedir
md %lock%
goto :EOF
パスワード入力バッチ
@echo %debug%off
%~d0
cd %~dp0
set ex={2227a280-3aea-1069-a2de-08002b30309d}
set /P yesno="ロックしますか?(y/n):"
if "%yesno%"=="y" goto :lock
if "%yesno%"=="Y" goto :lock
goto :unlock
:lock
echo ロック
set /P lock="対象フォルダ:"
set /P password="パスワード:"
echo.>%lock%\%password%.key
ren "%lock%" "%lock%.%ex%"
attrib +H +S /S /D "%lock%.%ex%"
goto :EOF
:unlock
echo 解除
set /P lock="対象フォルダ:"
set /P password="パスワード:"
if not exist "%lock%.%ex%\%password%.key" goto :EOF
attrib -H -S /S /D "%lock%.%ex%"
ren "%lock%.%ex%" "%lock%"
del %lock%\%password%.key
goto :EOF
おまけ アイコンを変えてみる
@echo off
%~d0
cd %~dp0
attrib -H -S -A Desktop.ini
echo [.ShellClassInfo]>Desktop.ini
echo IconFile=%%SystemRoot%%\system32\SHELL32.dll>>Desktop.ini
echo IconIndex=47>>Desktop.ini
attrib +R "%cd%" /D /S
attrib +H +S Desktop.ini
goto :EOF