アクセス数 累計:000,125,035 昨日:000,000,099 本日:000,000,057
|
|
|
|
【Amazon ランキング:DVD - アニメ】
|
スクリプトの暗号化①~スクリプトの暗号化⑤でスクリプトの暗号化についていろいろと調査してきたのですが、暗号化に使用する Window Script Encorder でちょっと使いにくいなと思った点を上げてみました。
- コメントの日本語が暗号化されずにそのままになってる。
- 外部参照をしているスクリプトを1つずつ暗号化しないいけない。
- WSH を暗号化した際に language 属性が正しく書き変わらない。
そこで、Window Script Encorder の使いにくい部分を補完した WSH を作成してみました。
こちらからダウンロードできます⇒screnc.wsf
※使い方※
cscript.exe screnc.wsf inFile outFile [/m] [/c] [/e]
- インポートするには language と src があることが前提
language="xxxxx" src="xxxxx"
- 対応する言語
VBScript,JScript,JavaScript(JavaScriptはJScriptに置換します。)
- /m … script タグの直後にEncodeマーカーを埋め込む
- /c … スクリプト内のコメントをすべて消す。
- /e … Windows Script Encoder を使ってエンコードを行う
|
サンプル⑥ |
スクリプトの暗号化⑤で作ったスクリプトをベースにします。エンコード用のマーカーの埋め込みも行うので必要ありません。
sample6.wsf |
<?xml version="1.0" encoding="Shift_JIS" standalone="yes" ?>
<job id="sample05">
<?job error="true" debug="true" ?>
<script language="JScript" src="./sample05_js.js"></script>
<script language="JavaScript" src="./sample05_ja.js"></script>
<script language="VBScript" src="./sample05.vbs"></script>
<script language="JScript">
// <![CDATA[
// Windows Script Encorder のサンプル⑤
WScript.Echo("Windows Script Encorder のサンプル⑤");
showMessage_JScript();
showMessage_JavaScript();
showMessage_VBScript();
// ]]>
</script>
</job>
|
JScript のスクリプトコードを記述します。エンコード用にマーカー「//**Start Encode**」は必要ありません。
sample06_js.js |
// JScriptを使ってでメッセージボックスを表示します。
function showMessage_JScript(){
WScript.Echo("このメッセージはJScriptで表示しています。");
}
|
JavaScript のスクリプトコードを記述します。エンコード用にマーカー「//**Start Encode**」は必要ありません。
sample06_ja.js |
// JavaScriptを使ってでメッセージボックスを表示します。
function showMessage_JavaScript(){
WScript.Echo("このメッセージはJavaScriptで表示しています。");
}
|
VBScript のスクリプトコードを記述します。エンコード用にマーカー「'**Start Encode**」は必要ありません。
sample06.vbs |
' VBScriptを使ってでメッセージボックスを表示します。
Sub showMessage_VBScript()
WScript.Echo "このメッセージはVBScriptで表示しています。"
End Sub
|
|
|
暗号化 |
screnc.wsf を使ってエンコードします。/e オプションで暗号化まで行うには Window Script Encorder にパスを通しておいてください。
>cscript.exe screnc.wsf sample06.wsf sample06e.wsf /m /c /e
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
Input File :sample06.wsf
Output File :sample06e.wsf
Encode Marker :true
モジュール読み込み :C:\work\Sample06\sample06.wsf
3 行目 : スクリプト開始タグ
language = JScript
src = ./sample06_js.js
3 行目 : スクリプト終了タグ
モジュール読み込み :C:\work\Sample06\sample06_js.js
4 行目 : スクリプト開始タグ
language = JScript
src = ./sample06_ja.js
4 行目 : スクリプト終了タグ
モジュール読み込み :C:\work\Sample06\sample06_ja.js
5 行目 : スクリプト開始タグ
language = VBScript
src = ./sample06.vbs
5 行目 : スクリプト終了タグ
モジュール読み込み :C:\work\Sample06\sample06.vbs
6 行目 : スクリプト開始タグ
language = JScript
src =
7 行目 : CDATA セクション開始
14 行目 : CDATA セクション終了
15 行目 : スクリプト終了タグ
screnc.exe /e sct /f "C:\work\Sample06\sample06e.wsf"
エンコードが正常に完了しました。
|
|
/c オプションを付けるとスクリプト内のコメントをすべて消すので暗号化後のスクリプトにコメントが残りません。また、外部参照のスクリプトはコードをそのまま埋め込むので一緒に配布する必要がなくなります。
sample6e.wsh |
<?xml version="1.0" encoding="Shift_JIS" standalone="yes" ?>
<job id="sample06">
<?job error="true" debug="true" ?>
<script language="JScript.Encode">
//
//**Start Encode**#@~^aAAAAA==@#@&@#@&6E mYbW ~/4WAH/dCT+{xjmMkwDcb @#@&,P~P j1DrwD 21tGcrこのメッセージは9?^.bwOで表示しています。J*I@#@&N@#@&JzP@#@&AxYAAA==^#~@</script>
<script language="JScript.Encode">
//
//**Start Encode**#@~^bgAAAA==@#@&@#@&6E mYbW ~/4WAH/dCT+{xC\m?mMr2Yv#P@#@&P~~,jmMrwDR3^4W`EこのメッセージはBm\C?1.bwOで表示しています。r#p@#@&)@#@&&z,@#@&cxgAAA==^#~@</script>
<script language="VBScript.Encode">
'**Start Encode**#@~^YgAAAA==@#@&@#@&UE(P/4WS\+k/Co{#$UmDb2Yv#@#@&7 ?1DbwOR3^4W~Jこのメッセージはj$?1Dr2Dで表示しています。J@#@&3 N~?!8@#@&@#@&axQAAA==^#~@</script>
<script language="JScript.Encode">
//
//**Start Encode**#@~^nAAAAA==@#@&@#@&iUmDbwD 21tG`rrU9Whk~?1DkaO~2 mKD[+.~のサンプル⑥r#I@#@&@#@&i/4GSH+ddmon{xj1DraYv#i@#@&idtKh\+k/CL{9m-lUmDb2O`*i@#@&7/4GSHn/kCo{#$UmDr2D`bi@#@&Jz~@#@&qykAAA==^#~@</script>
</job>
|
|
|
※このページで紹介しているサンプルコードについて管理者は動作保障をいたしません※
※サンプルコードを使用する場合は、自己責任でお願いします※
|
【楽天 ランキング:フィギュア - アニメ・コミック】
|
|
|
|
このサイトはフリーソフトのMerge HTMLで作成されています。
このサイトはリンクフリーです。
|
ページの先頭に戻る |
Copyright© 2010-2015 Jun.Shiozaki All rights reserved. |
|
|
|