酒と薔薇の日々(その2)

好きなことだけ求めて生きるアスペ気味のINTJ人

最近のプログラム事情(その2)

2015年10月13日 21時35分25秒 | コンピュータ

ちょっと前に発生した社会問題ともなったセキュリティ問題について相談が結構あったので、特に頼まれた訳ではないがMS-Office製品などの暗号化済み判定プログラムを作ってみた。
Office製品のDLLを利用して暗号化等を判定する手法を試したが、これは余りにも遅い(1ファイルに1秒もかかっていては・・)ので使い物にならないことが判明。
他にも「xd2txlib.dll」を利用した汎用テキスト抽出ツールを利用する手もあったが、これも利用ができない局面があって断念。
結局、バイナリ検索を用いることとなった。
そもそもOffice2003以降で扱ったファイルは拡張子が「XSLX」「DocX」など最後に「X」が付いている。なんでかなあ~と思っていたがどうも「XMLS」の「X」らしい。
実体は、XMLSでデータを記述しZip圧縮してある。したがって、XSLXをZipにリネームするとZipとして扱うことができることが判明。
ダンプを調べると「XLSX」形式ファイルには暗号化がされていれば特定文字列を保有することが判明(「Microsoft Enhanced Cryptographic」「EncryptedPackage」など)
本当は別の場所に暗号化フラグが立っていると思うけど、英語の内部文書を読むことが不可能 orz
2003以前に生成されたファイル(拡張子が「xls」の場合)でも、2003以降のプログラムから一回でも保存すれば暗号化する形式が変わってしまうなど、問題はちょっと複雑(いかにもMS社の泥縄製品)
2003以前の暗号化ファイルはハッシュ(00以外の値)が内部に含まれているはずだが、アドレスなどの資料が古くて見つからない(仕様書らしき物は発見したがこれも膨大な英語資料・・・)
困ったことである。


結局、力任せの文字検索方式にしかできなかった。速度はかなり速いが文字がヒットしなければ取りこぼしてしまう。

リリースがちょっと不安

 


最近の開発事情

2015年10月13日 21時26分27秒 | コンピュータ

4月から体調変化に敏感になっていることと、暇になったことから自分の不定愁訴を記録してみようかと考え出した。
折角なので、あとで集計ができるものにしようと。

形式1
で、症状をコード化して、ボタンを押すとこれを記録するなんちゃってシステムを作ってみた。

画面はボタンのみを表示する形式1と、

形式2
拡張ボタンを押すとボタンへの症状名称を割り当てるメンテナンス画面が現れる形式2の2形態がある。
保存ボタンを押すとCSVでデータを追記していくだけの簡単な構造
本当は、クラウドへデータを転送する形式にしておけばいつでも何処でも記載が可能なのだが、残念ながらAndroidの開発はできないので割愛。


さて、使うのかなあ・・・
暇になるとろくなことを考えないイイ事例だろう。

妹に言わせると、「愁訴は主観的なものだからあんまり意味無いじゃん」みたいなことを言っていたが。それもそうだな>>心理学博士様