2017-01-09

バッチファイルやら VBScript やらをいい感じに exe 化するバッチを作ってみた。

バッチファイルや VBScript なんかを exe ファイルとして固めるバッチファイル群を作ってみた。



ブツは GitHub にて公開中。

技術的には 7-Zip SFX を使用し、exe 化。
7-Zip 自体は 7-Zip 公開サイトにて公開されているモノを使用する想定。
ただ、7-Zip 公式サイトで公開されている SFX モジュールだと、制約が多い (できることが少ない) ため、Oleg N. Scherbakov 氏による改良モジュールを使用。
以前は http://7zsfx.info にて公開されていたようだが、現在リンク切れのため、「7z SFX Builder」に含まれている 7zsd_All.sfx を使用している。

内部的にはこんなコマンドを実行している。
7zr.exe a setup.7z setup\*
copy /b 7zsd_All.sfx + config.txt + setup.7z setup.exe
# config.txt は 7z SFX Builder を使えばもっと詳しいオプションを探れます。

さらに、exe ファイルのメタ情報 (アイコン、リソース情報) に明らかに 7-Zip SFX Module で作成しているのがわかるし、なんとなく気に食わないので、それを削除するために「Resource Hacker」を使う仕組みにしている。「削除するため」とは書いているが、変更するためにも使用可能なので、その機構も少なからず取り込んで (コメントアウトして) ある。詳細は Runme!.bat を覗いて欲しい。

7-Zip と Resource Hacker はご自身でダウンロードして使う必要があるので、ご注意を。



さらにおまけとして、管理者権限を与える目的で使用できるスクリプトなんかもセットで置いてある。
ただ、パスワードを中身に書く必要があるため、同梱の難読化スクリプトを使って難読化してから使うように。ただ、知識がある人からすれば、復号は容易いので、不安のある場合には使用を避けるべき。
技術的には PsTools に含まれている PsExec を使い実現。そのため、使用する場合には PsExec をいい感じに配置すること。



というわけで、今回は以上。

0 件のコメント :

コメントを投稿