window shade, float on top, & minimize-in-place [VersionTracker: Mac OS X]

久々のアップデートで3.5.2へ.

  • Updated to include Application Enhancer 1.4.6.
  • Added Traditional Chinese localization by Jack M.H.Lin.
  • Added Dutch localization by Tom Klaver.
  • Fixed issues with WindowShade X not working or working incorrectly in Java-based applications (JBidWatcher, Parsnips, and others).
  • Fixed an issue when on fresh installs of Mac OS X 10.3 Application Enhancer would disable WindowShade X as not "Panther-certified".

つーことで,

  • ローカライズはオイラに関係ない言語だし,
  • Application Enhancerは単体でアップデートできるので,「対応」したのでなければ重要じゃない(そもそもAPE1.4.6はSDKのアップデートだけのようだし)
  • JavaアプリケーションもGUIを持つものは使ってないので関係なし
  • 新規インストール時のAPEの挙動も関係ない

気になったのは,3.5.1の時のSmall code fixes and tweaks.や,3.1の時のMisc bug fixes and code tweaks.のような記述がないこと.
ウェブ上には残ってないけど,3.0.xや3.1.xのようなマイナーバージョンアップの時も同様の記述はあったはずで,実際にイロイロとバグフィクスもしてるんだろうけど,注目だったのは悪い子チャンたちとのイタチごっこ
以下,3.0.1へのアップデート時(2003年9月19日)に書いたメモ.(今とは趣旨と文体が違う)

相変わらずご迅速で・・・

Mac OS Xで廃止されたウィンドウ・シェード機能*1を復活させるUnsanityという会社のWindowShade Xが3.0から3.0.1にアップデートされたです。
ウィンドウ・シェード機能自体は、慣れてしまえば無くてもそれほど不便は感じないし、Mac OS Xから使い始めたユーザー*2は特に積極的に欲しいと思う機能でもないでしょうが、まあそれはさておき。
このUnsanityという会社、ウィンドウ・シェード機能と同様にMac OS Xで廃止されたラベル機能(Mac OS X 10.3 Pantherで復活)を復活させるLabels Xや、アピアランスサウンドを復活させるXoundなどの復古的ソフト、他にもFruitMenuSilkといった人気のHaxie*3を多数開発していて、Macユーザ、特に古くからのMacユーザには有名な会社。
ちなみに殆どのHaxieが$10(US)、それ自体は何の機能も持たないものの各種の高機能化の受け入れ皿となってくれるApplication Enhancerはフリーと、価格設定も良心的。
とは言え、WindowShade X、Labels X、Xoundなんかは、もともとOSに搭載されていた機能のせいか、機能を廃止したAppleに憤りを覚えたり、OSへの出費とは別に出資しなければならないことに抵抗を覚える人も少なくないようで—もっと言えば、一部の方々は、どんなに便利なソフトでも、コンピュータ関連の出費はハードウェアのみに抑えて、ソフトウェアへの支出を極度に非常に嫌っているようで—以下、やっと本題。

この会社、上に書いたように古くからのMacユーザの間で有名・人気でありますが、別の理由で某方面でも有名でして、不正使用へのプロテクトがとても迅速で、しかも強いのです。(こちらの方面では「有名」だけどある意味「不人気」)
ボクは、解析の技術がないので詳しいことは分からないですけど、この会社のソフトは登録コード(シリアル)が出てくるのに時間がかかります。ソフトによっては未だに出てないものもあります。殆どの(他社の)シェアウェアは発表・配付の翌日にはシリアルが解析されてしまうのが現状。そんな中、WindowShade Xの場合・・・

  1. 3.0 Public Previewの発表・配付開始が2003年6月18日、3.0(正式版)は8月28日。
  2. 一方、現在、最も活発に情報交換がされ、高い技術を持った人達が集まる某所で3.0のシリアルを求める書き込みがあったのが、7月12日(正確には6月26日、ただしサイト自体が7月初旬まで閉鎖)。
  3. んでもって、完全に有効な登録情報が投稿されたのが9月8日。人気の高いソフトなので、発表当初から解析が進められていたであろうことを考えると、解析にかかった期間は約三ヶ月。
  4. そして、今日(9月19日)、3.0.1にアップデートされました。

ここからがUnsanityのすごいところで、3.0で有効だった不正な登録情報は見事に使えなくなってます。つまり有効だったのはわずか10日。
今回は、機能面でのアップデートやバグフィックスも相当されてますが、この会社、不正な登録を防止する為だけのようなアップデートもしばしば行います。

Unsanityさんは、さすが金とってるだけあって、メジャーバージョンアップ(や初期発表)の時点から相当完成度の高いものを配布されるので、たいていの環境ではマイナーバージョンアップは無視しても問題ないんですが、不正使用するような方々ってのはコスト感覚がないせいかどうも常に最新のモノ、少しでもいいモノを使いたいという欲求がフツーのMacユーザよりも強いようで(あくまでも感覚的なものですが)、「3.0.1で尻が使えなくなってるよ」という泣き言が早くも見受けられます。
Fruit Menuなどはズイブン前にUnsanity側が勝利を治め、同様に敗北したLabels Xの方はAppleが復活させたのでもはや敗北は永久に確定したと言えそうですが、WindowShade Xでのイタチごっこは暫く続きそうです。

以下、蛇足。
上で、わずか10日で不正登録が不可能になったと書きましたが、この「10日」という期間は必ずしも珍しいモノではありません。不正登録をブロックする手段にもイロイロあって、例えば公表された不正な登録情報のみをはじく為に、登録情報を確認するアルゴリズムの中で、特定のコード(不正登録)を個別に拒否する方法なら1分もあればアップデートできるでしょう。実際、この方法を使ってるソフトは多いですが、プログラムコード内に堂々と不正登録用のコードが書いてあったりして、不正使用する側も1分もあれば再び不正登録できてしまったりします。
Usanityの凄い所は、上記のような方法でなく、アルゴリズムを変えてしまう所。
アルゴリズムを変えると言っても、新アルゴリズムに基づく新登録コードを正規登録ユーザにメールするような方法を取れば、メールの手間は別として、アルゴリズム変更自体はそれほど大変ではないはず。一方、既存の(正規)登録コードを有効にしたまま新アルゴリズムを作ったり、アルゴリズムを小幅/大幅に変更するのは相当に大変なはず。でUsanityが凄いのは後者の方法を取っている点。
不正登録が可能ということは、大概の場合、既存のアルゴリズムが一部、時には全部解析されたということで、ソフト側では不正なモノかどうかを判断できてないということ。既に発行・発効している既存の登録コードを有効にしたまま、同様のアルゴリズムを通過している、不正登録を防ぐ為には、しかもそれを短期間に行うためには、同様のアルゴリズムを通過する文字列(または文字列のペア)のうち、発効済みのコードは合致せず、不正コードにのみ合致する何らかの条件を発見しなければならないはず。もちろん、当初のアルゴリズム作成時に将来の不正登録を想定して無駄なプロセスを用意しておいたりトラップを準備しておりたりなど、何らかの準備はしてあるのだろうけど、それにしてもたかだか10$を巡っての攻防ながら、攻撃側も防御側も相当なスキルと根性を持った人が参加しているように思われる。
以上、シリアル解析はできない、というか挑戦したこともない者の予想と直感に基づく記述。間違いが多々含まれている可能性大。
ちなみに、知的好奇心からウォッチしてるだけで、ボクは不正登録はしてません。そもそも殆どフリーウェアしか使ってませんが。

で,現在に戻って今回のアップデート.
上文を書いてから1年以上経った今もイタチごっこは続いていて,「某所」のフォーラムは閉じられ,著名なシリアル集からUsanityモノが根こそぎ削除されたながらも,把握してる範囲で3.5.1は不正登録が可能.
これまでは前述Small code fixes and tweaks.のような表現が,暗に不正登録の防御を意味していたと感じていたのだけど今回はそれがない.というわけで,メリットと必要性を感じないアップデートだけど,時間が出来たらアップデートして試してみようというメモ.(以前は自分で試さなくても「某所」を見ていれば分かったのだけど・・・)

*1:ウィンドウを上部のタイトルバー部分のみにする機能

*2:元々ウィンドウ・シェード機能に馴染みの無かった人

*3:Application Enhancerというシステム高機能化ユーティリティのモジュール