Welcome Guest 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

新 あきら様のブログ
あきらのページ見るって事は暇しとんの?ブログ
ランキング参加用リンク
カウンター
累計:
本日:
昨日:
トップ (メニュー)  >  htaのVBScript部分を暗号化

htaのVBScript部分を暗号化

前提条件
・MSSQL Server 2008 express
・sa認証を許可
(※Management Studio
  ↓
  Windows認証でログイン
  ↓
  サーバ名を右クリック - プロパティの順に選択
  ↓
  セキュリティ - サーバ認証 で
   SQL Server 認証モードとWindows 認証モードをチェックしOKをクリック
  ↓
  SQL Server サービスを再起動)
・データベースを作成し、テーブルを作成
・上記のデータベース用の接続ユーザを作成し、db_datareader権限を付与
・構成ツール - SQL Server 構成マネージャで以下を有効化
  共有メモリ
  TCP/IP

Windows Script Encoderのダウンロードする
※グーグル等で Windows Script Encoder を検索し、ダウンロードセンターから sce10jp.exe をダウンロードする

▲瀬Ε鵐蹇璽匹靴 sce10jp.exe を実行する
※C:\Program Files\Windows Script Encoder に関連ファイルがインストールされる

test.htaを用意し、C:\Program Files\Windows Script Encoderフォルダにおく

test.hta の内容
-------------------------------------------------------------------------------
<html><head>
<title>DB確認ツールサンプル</title>
<script language="VBScript">
Sub Window_OnLoad
window.moveTo 0,0
Window.ResizeTo 640,640
End Sub

</script>
</head>
<body>

<script language="VBScript">
<!--
Sub button1_onclick

Dim objADO
Dim objRS
Dim i
Dim strname
Dim strno
Dim sqltb
Dim sqlname

For j=0 To radio1.length-1
If radio1(j).checked=True Then
sqltb=radio1(j).value
End If
Next

sqlname = "SELECT * FROM " & sqltb

Dim objIE

Set objADO = CreateObject("ADODB.Connection")

Set objIE= CreateObject("InternetExplorer.Application")

'データベース接続
objADO.Open "Driver={SQL Server Native Client 10.0}; server=サーバ名; database=データベース名; uid=接続ユーザ名; pwd=接続ユーザのパスワード;"

'SQLを実行
Set objRS = objADO.Execute(sqlname)

'条件分岐
If sqltb = "usagitestdb.dbo.emptable" then
Document.write "<table border>"

Document.write "<tr bgcolor=""#00FF66""><th>empno</th>"
Document.write "<th>empname</th>"
Document.write "<th>deptno</th>"
Document.write "<th>remarks</th></tr>"

Do Until objRS.Eof = True

'SQLの実行結果をデータが無くなるまで表示
document.write "<tr><td>" & objRS(0) & "</td>"
document.write "<td>" & objRS(1) & "</td>"
document.write "<td>" & objRS(2) & "</td>"
document.write "<td>" & objRS(3) & "</td></tr>"

'カーソルを次の行へ
objRS.MoveNext
Loop

Document.write "</table>"

else

Document.write "<table border>"
Document.write "<tr bgcolor=""#FFFF66""><th>deptno</th>"
Document.write "<th>deptname</th>"
Document.write "<th>remarks</th></tr>"

Do Until objRS.Eof = True

'SQLの実行結果をデータが無くなるまで表示します
document.write "<tr><td>" & objRS(0) & "</td>"
document.write "<td>" & objRS(1) & "</td>"
document.write "<td>" & objRS(2) & "</td></tr>"

'カーソルを次の行へ
objRS.MoveNext
Loop

Document.write "</table>"

end if

'レコードセットをクローズ
objRS.Close

'データベースをクローズ
objADO.Close

'オブジェクトの破棄
Set objRS = Nothing
Set objADO = Nothing

End sub

-->
</script>


<input type="radio" name="radio1" value="usagitestdb.dbo.emptable">従業員リスト<br>
<input type="radio" name="radio1" value="usagitestdb.dbo.depttable">職業リスト<br>
<input type="button" id="button1" value="確認">


</body></html>
-------------------------------------------------------------------------------

test.htaをtest.htmにリネームする
※拡張子を hta から htm に変更

ゥ灰泪鵐疋廛蹈鵐廛箸魑動し、以下を実行する
>cd /d C:\Program Files\Windows Script Encoder
>screnc.exe test.htm testencode.hta
※VBScript部分を暗号化されるが、普通に使用することができる


testencode.hta の内容
-------------------------------------------------------------------------------
<html><head>
<title>DB確認ツールサンプル</title>
<script language="VBScript.Encode">#@~^YgAAAA==@#@&?;(Pqkx9WSmr SGl9@#@&AbxNKARsW\PGPZ~ZP~P~~,P~@#@& k
NGAcI+dr.+PW,qy!TBvW!P@#@&AUN,?;4@#@&@#@&2RcAAA==^#~@</script>
</head>
<body>

<script language="VBScript.Encode">#@~^0gcAAA==@#@&@!Z O@#@&?!4,8EDYGx8{GU1Vk1V@#@&@#@&GrhPK4Nb9r@#@&GkhPK8L"?
@#@&Gk:~r@#@&9ks~kY. ls+@#@&fbhPkY.xK@#@&9b:Pk5VD4@#@&9r:,/$VUlhn@#@&@#@&wGD,LxT,KW~.mNrW8 ^+UTY4OF@#@&&WPM
l[kKFc%*Rm4nm0+N{P.EP:tnx@#@&k;sY(xDmNrG8`Lb 7lsE@#@&2U9P&0@#@&1aY@#@&@#@&k;sUm:+,xPr?2d3/K,e,s]r\~rP'Pk5VD
4@#@&@#@&frh,W8L&3@#@&@#@&?YPK4N)f}PxP;DnCD+r(%+1Y`r)9rGAcZGxUn1YrW E#@#@&@#@&U+Y~G(L(2{~;DnmYr4N+1O`rqUY
DUnD26asWM+Dc)2w^k1lOkGUr#@#@&@#@&B.如璽織戞璽浩楝@#@&G8Nbf6 }wnx,EGDr7+M' Upd~?D-+MPHCDk\~Z^k+ O~FZRZ
8IPdnM\nD{;/mrUy3%jOXv*\p~9lOm4m/+{EkCobYn/DN8I,Ek9xEklobOn/Di,wANxP XC:m"l0k*Ir@#@&@#@&E?}Sを実行@#@&U+O,W
(LIUP{~W(L)f}R3amEDn`k;V Ch+*@#@&@#@&B条件分岐@#@&&0~/$sY(Px~rE/CLbYn/D[(R[(Wc+:aYm8VJ~Y4+U@#@&fW1;:xYc
A.kD+,J@!YC8^+~4K.ND@*E@#@&@#@&9Km;:UDRAMkD+Pr@!D.P(o^W^W.xrJaZTswvvrE@*@!Dt@*+hwUG@!zOt@*E@#@&fG^!:+UOch.kD
n,J@!Dt@*+:axmh+@!zOt@*J@#@&GWm!h+ YRS.rYPr@!Ot@*[wOxK@!zDt@*E@#@&fG^!:nxD SDrD+,J@!Dt@*.+sl.3k@!&;O4@*@!JOD
@*J@#@&@#@&fKP`xOks~K4%IU 2K0~x,KD;n@#@&@#@&Ej5Sの実行結果をデータが無くなるまで表示@#@&P,PNKm!h+ Y hMkOn,J@
!D.@*@!YN@*E~[,W(L]?cT*P'Pr@!zDN@*E@#@&P~~9W^Esn Y SDbY+,J@!ON@*J~[,W8%"?`8bPLPJ@!&;ON@*J@#@&~P~[Km;:UYch.r
D+PE@!DN@*J,',W8NIU` *PL~J@!zON@*J@#@&,PP9Gm!:+ O hMkD+~J@!O9@*EPL~W(L]jv&#~',J@!zD[@*@!&DD@*J@#@&@#@&vゥーソ
ルを次の行へ@#@&P~W(L]jcHW7n16Y@#@&JWKw@#@&@#@&9G1Eh+ ORSDrOPJ@!&;Dl8V@*r@#@&@#@&V/@#@&@#@&GW^Es+UOchDbO+
,J@!DC8VP(W.Nn.@*J@#@&GGm!:nUDRh.rD+~J@!OMP8TmKVWM';rEawsos+vEE@*@!Y4@*NwY G@!zDt@*J@#@&9G1Eh+ ORSDrOPJ@!O4@
*[+aO lh@!JYt@*J@#@&fKm;:xO SDkDnPr@!Y4@*.+slM3d@!&;O4@*@!zD.@*r@#@&@#@&fW~i YrV,G(L]URAW0,',PD!+@#@&@#@&v
j5Sの実行結果をデータが無くなるまで表示します@#@&~P,NW1;h+ Ych.kOn,J@!YM@*@!DN@*E,[PG8NIj`Zb,[~r@!JYN@*J@#@&P
,P[W1Ehn YRS.kD+Pr@!ON@*J,[~W8%"?cF*~[,J@!&;DN@*E@#@&P~P9G1EhxDRhMkDnPr@!ON@*J~',W4N]?v #,'~J@!zDN@*@!&OM@*
E@#@&@#@&EДーソルを次の行へ@#@&~,W4%]UR\W7ng+aD@#@&SWKw@#@&@#@&fGm!:nUDRhMrYPJ@!&;Ol(V@*E@#@&@#@&+UN,r0@#@
&@#@&E┘譽魁璽疋札奪箸鬟ローズ@#@&G8NIjR;sK/n@#@&@#@&Bデータベースをクローズ@#@&K8Lzf6R;VGd@#@&@#@&Bオブジ
ェクトの破棄@#@&?O~W(L"?~'~HKY4k L@#@&?nO,W4%)Gr~',HKY4bxT@#@&@#@&AUN,/;4@#@&@#@& O@*@#@&p+UBAA==^#~@</script>


<input type="radio" name="radio1" value="usagitestdb.dbo.emptable">従業員リスト<br>
<input type="radio" name="radio1" value="usagitestdb.dbo.depttable">職業リスト<br>
<input type="button" id="button1" value="確認">


</body></html>

-------------------------------------------------------------------------------

※以上、参考として


押し頂けるとありがたい
旅先でのパンク対応に
あとお水はいかがですか
XOOPS Cube PROJECT