25/07/15 10:50:58.19 1v3q9PKm.net
そのJScript9LegacyがChakraらしい
URLリンク(windowsforum.com)
検証求む
URLリンク(blog.macorin.net)
173:デフォルトの名無しさん
25/07/15 12:42:37.44 J6nh+lbb.net
>>172
JScript9は「IE11搭載のChakraエンジン(jscript9.dll)」で、「旧EdgeのChakraエンジン(chakra.dll)」とは別モノ
JScript9Legacyは、JScriptとの非互換性(JScript9にはWScript.Quit()がない、など)を解消しつつ既知の脆弱性を塞いだ(あるいは緩和した)バージョンのように思える
174:デフォルトの名無しさん
25/07/16 12:44:55.22 09DhhKQk.net
もうV8でええやん
COM載せるだけでしょ
175:デフォルトの名無しさん
25/07/16 15:03:42.67 8VyoLyXs.net
>>174
JSのメソッドディスパッチ自体にOLEオートメーションと互換を持たせないといけないからなあ
MS製以外のエンジンを使うなら大改造になる
176:デフォルトの名無しさん
25/08/07 11:13:25.81 dOHm8u8G.net
HTAでWScriptの標準入出力Stdin/Stdoutを使う方法はありますか?
という疑問でwebを漁ってたら、以下のコードを見つけたのですが、
これは何をしているか判りますか
URLリンク(www.roy.hi-ho.ne.jp)
の
>Set oExec=wShell.Exec("MSHTA~
>oExec.StdIn.Write fso.OpenTextFile(Left(WScript.ScriptFullName,InStrRev(WScript.ScriptFullName,"."))&"HTA").ReadAll
>oExec.StdIn.Close
の辺り。~は専ブラだとバグる
177:デフォルトの名無しさん
25/08/07 16:01:49.20 Pp4oXF33.net
意味がよくわからない
「WScript」がcscript.exeではなくwscript.exeのことなら元から標準入出力しても何も起きないけど多分そういう話ではないよね
そのソースコードは、mshta.exeを子プロセスとして起動してテキストファイルから読み込んだ内容をその子プロセスの標準入力に流してる
mshta.exeの側では標準入力から読み取った内容を実行してる
178:デフォルトの名無しさん
25/08/07 16:53:21.35 dOHm8u8G.net
元々HTAとpowershell間のプロセス間通信を考えてました
WSH(WScript)とpowershellでの通信はできていたので、
ならばHTAからWScript.Stdin/Stdout相当をどうにかして得られないかという疑問に代わりました
さてGetStandardStream(0)でStdinを得るまでは何となく判りますが
そのハンドルでReadAll()これの意味が判らない
結果的にoExecにはWScript相当?が入るようですが
179:デフォルトの名無しさん
25/08/07 17:25:58.39 Pp4oXF33.net
あー了解
で、oExecに入るのはwShell.Exec()の結果で、起動したmshta.exeのプロセスをラップしたWshScriptExecオブジェクト
oExec.StdIn.Writeでmshta.exeの標準入力に内容を書き込んでる、これがWSH側でやってること
MSのサイトですらリンク切れしまくってたけどitmediaに解説が残ってた URLリンク(atmarkit.itmedia.co.jp)
180:デフォルトの名無しさん
25/08/07 17:28:32.02 Pp4oXF33.net
GetStandardStream(0).ReadAll() を実行しているのは起動されたHTAの側で、標準入力から読み込んだ内容を実行してる
リンク先サンプルだとその内容はH.HTAで、その後は裏で起動させたIEを通じてやり取りをする…という実験っぽい
というわけでHTAで標準入出力を使うには new ActiveXObject('Scripting.FileSystemObject').GetStandardStream() だけでいいと思う
手元で確認したわけではないので違ってたらごめん
181:デフォルトの名無しさん
25/08/07 20:06:59.39 dOHm8u8G.net
>>180
WshScriptExecというのですね
色々ありがとうございます
182:デフォルトの名無しさん
25/08/07 21:37:56.02 FIb4oE/e.net
Exec メソッド
URLリンク(learn.microsoft.com)(v=msdn.10)
GetStandardStream Method
URLリンク(learn.microsoft.com)(v=vs.84)