エレファントカシマシDB 管理人の日記 2017/10/05(木)

一番下へ

『敗北と死に至る道が生活』その4288
 今日はエクセルのシートロックパスワードを忘れたエクセルを受け取ってパスワードを書き換える。というツールを作った。ハッカー的な作業だ。が、担当者が急死したり逃亡した場合、パスワードが分からないリスクもパスワードが漏れるリスクと同様に存在する。

 xlsxの実態がzipで、解凍して中身を見たらテキストファイルでありpassword=と平文で書かれているので楽勝だった。



・旧形式だったらxlsx形式にする。

・ユーザーTempフォルダ名を取得し、そこに置く。

・拡張子xlsxをzipに書き換える。

・zipファイルとして解凍する。

・解凍できたxmlファイルをBOMなしのUTF-8で読み書きしpassword-"???"をpassword:"83AF"に書き換える。83AFはpasswordのhash値。

・フォルダ構成ごとzip圧縮する。

・拡張子zipをxlsxに書き換える。

・ユーザーTempフォルダのxlsxを新規ブックとして起動する。

・MsgBoxで"開きました"と出してOKされたらユーザーTempフォルダの作業用ファイル、フォルダを削除する。

 これでメモリ上だけにシートロックパスワードがpasswordの状態でエクセルを開いたことになる。

VBScriptだけでコーディングした。テキストスクリプトは見通しが良くてよい。

Tweets by ekdb_admin

ランダム日記


過去
2024-01|02|03|04|
2023-01|02|03|04|05|06|07|08|09|10|11|12|
2022-01|02|03|04|05|06|07|08|09|10|11|12|
2021-01|02|03|04|05|06|07|08|09|10|11|12|
2020-01|02|03|04|05|06|07|08|09|10|11|12|
2019-01|02|03|04|05|06|07|08|09|10|11|12|
2018-01|02|03|04|05|06|07|08|09|10|11|12|
2017-01|02|03|04|05|06|07|08|09|10|11|12|
2016-01|02|03|04|05|06|07|08|09|10|11|12|
2015-01|02|03|04|05|06|07|08|09|10|11|12|
2014-01|02|03|04|05|06|07|08|09|10|11|12|
2013-01|02|03|04|05|06|07|08|09|10|11|12|
2012-01|02|03|04|05|06|07|08|09|10|11|12|
2011-01|02|03|04|05|06|07|08|09|10|11|12|
2010-01|02|03|04|05|06|07|08|09|10|11|12|
2009-01|02|03|04|05|06|07|08|09|10|11|12|
2008-01|02|03|04|05|06|07|08|09|10|11|12|
2007-01|02|03|04|05|06|07|08|09|10|11|12|
2006-01|02|03|04|05|06|07|08|09|10|11|12|
2005-01|02|03|04|05|06|07|08|09|10|11|12|
2004-01|02|03|04|05|06|07|08|09|10|11|12|
2003-01|02|03|04|05|06|07|08|09|10|11|12|
2002-04|05|06|07|08|09|10|11|12|

一番上へ