非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

Excel/VBA: マクロにパスワードをかけても外から取り出せないか検証

   

前回、マクロにパスワードをかけて他人から見れないようにして商用配布が可能になる点を書きました。

 

が、TwitterでマクロにパスワードロックをかけてもExcelファイル自体はxml文書をzipで固めたものなので、外から取り出せるのではないか?との指摘があり、なるほどー、ということで実際どうなのか検証してみました。

[ad#top-1]

xlsmファイルをzipに変えて解凍してみる

とりあえず、簡単なxlsmファイルを作成しました。シートもマクロも適当です。

 

で、出来上がったファイルがこちら。

 

このファイルの拡張子をzipに変更します。(この方法が不適切だと思ったらご指摘ください)

で、マウスの右クリックで「すべて展開…」を選んで解凍します。

 

解凍できました。果たしてこの中にマクロのソースコードが書かれた文字が確認できるのか…?

 

検証結果

中身を巡回してみると、まず、「vbaProject.bin」なる怪しいファイルを発見。

エディタで開いてみるとバイナリっぽいですね。後半テキストが埋め込まれているけど、ソースコードは確認できませんでした。

 

その他すべてのファイルをすべて確認しましたがごらんの通りソースコードは確認できませんでした。やはり「vbaProject.bin」がそれで、バイナリファイルとなって隠ぺいされていると考えて良い?

 

何か他に手順あれば教えてください。

もともとの主旨は前回の記事の通り、マクロにパスワードロックをかければソースコードを隠蔽できて商用配布できる、という点です。外からこじ開けられたらパスワードは意味がないわけで。

ちなみに今回のマクロはパスワードロックをかけていません。

 

[ad#ad-1]

スポンサーリンク

 - Excel, VBA