I know I believe in nothing but it is my sweet nothing.:2021年08月17日分

2021/08/17(Tue)

[音楽] E-MU Emulator X3がWindows10 21H1以降でライセンスのアクティベーションに失敗する

そいや2018年頃に KORG Collectionを旧バージョンから有償アップグレードしたのだけど、動作環境がWindows 10以降になっとったので当時まだ音楽マシンがWindows 7だったワイは製品登録すらせずそのまま積んで完全に忘れてたことに気づいたゾ。

せっかく ARP Oddyseyプラグインが増えたことだし、ハービー・ハンコックのカメレオンごっこ演らないの勿体無さ過ぎる(以前はMono/Polyでやってたがどうもレゾナンスが綺麗過ぎて似ないのだ)。

その後、音楽マシンはWindows 10にアップデートはしたんだけども、大型アップデートによってサウンドカードの E-MU 1820/0404/1616m がWindows10 19H1(1903)以降で動作しないというドライバ非互換性問題を踏んだりしたので、もうWindows 10はゴミ箱ポイーして7か8.1に巻き戻したいくらいなんだよねぇ。

でも気軽にどこも10以前切り捨てやがるのでほんと困る、ハードウェアインストゥルメントなんて 4万年前のものでも演奏できるのに、これがソフトウェアとなると怠惰なプログラマにより10年も経たずにゴミと化するのだ。

そんでそれとは別件で、21H1の更新で E-MU Emulator X3というソフトウェアサンプラーが動かなくなっとることに気づいてしまった。 新規インストールなどでアクティベーションが失敗してライセンス認証ができんようになってしまっとる、またかよクソァ!

まーとっととE-MU製品なんぞ窓から投げ捨てて KontaktHALionでも買えよこの貧乏人という話なのだが、返す言葉もない貧乏人のワイはKill The Poorされるその日まで使い続けるしかないのですわね。

そもそも当時日本で取り扱い無かったのをわざわざドイツの楽器屋から航空便でパッケージ取り寄せたり、クッソ円高だったとはいえ今ならKontaktふつーに買えるくらいの金額費やしとるしな。 コンコルドだろうがスペースシャトルだろうが飛ばし続けなければならない( 埋没費用)。

旧バージョンは起動時にE-MU製のサウンドカードが刺さってるかチェックする実質ハードウェアドングル方式だったのだが、X3になってライセンスサーバーによるアクティベーション方式に変わったのよね。

そんで当初はオフラインでのアクティベーション(コードはメールで受け取る)も可能だったのだけど、ディスコンと前後してオンラインのみになってしまった、寝耳に水だったのでワイも申請間に合わず。 なもんでCreativeがライセンスサーバーをシャットダウンしたらそこで終了のゾンビウェアになってしまったのだ。

まー最悪の場合ワイはX2のライセンスも持ってるのでそれ使えばいいやとも思ってるのだが、こいつはこいつでまだ64bit化されとらん時代のものなのでVSTプラグインとして使う場合ブリッジ必要になってめんどいのよね。

なんかこれ対策あるんかなと思ってググったのだが、どこの海外系フォーラムのぞいても最新のアップデートを使えって答えばかり。 ん?E-MUって一度たりとX3にはアップデートパッチ配信してねえよなぁと思ったら、どうやら認証回避パッチすなわち海賊版が出回っとってこれが最新版と呼ばれとるもよう、ほんとインターネットは正直者が馬鹿をみる地獄なんやな。 ドーモ購入厨デス。

ワイは幼少時に読んだディック・フランシスの競馬シリーズで、世の中悪人だらけでも清廉潔白に騎士道精神を持って生きるべきと学んだので、海賊行為なんぞするわけにはいかんので正攻法でWindows 10/11でアクティベーションを通す方法を考えないとならん。 よって自分でまじめに原因調査してみた。

最初はエラーメッセージに「サーバーに接続できません」的なメッセージが出やがったのでついにアクティベーションサーバーが撤去されたのかと思ったのだが、Windows 7からだと問題なく2021年現在ライセンスサーバーはいまだ稼働中ということが判った。

とりあえずファイアウォールの問題を疑ってライセンス管理してるFNPLicensingService64.exe( FlexNet Publisherという製品らしい)を例外に入れたりファイアウォール自体止めたりしてみたけど症状変わらず。

しゃーないので久しぶりにWireSharkなぞ引っ張り出してパケット眺めたてみたのだが、わりとすんなり原因らしき部分に行き当たった。

このFNPLicensingService64.exeはTLSv1.0でライセンスサーバーとの通信を暗号化するのだけど、自前でTLSの実装は持ってるわけではないようでOSの実装(schannel.dll)を使ってるっぽい。 そんで最近のWindows 10では古い安全ではない暗号が削除されとるのだが、その結果Client Helloで送る利用可能な暗号化スイート一覧の中にサーバーが利用可能なものがないく、ネゴシエーション失敗になっとんのな。

以下がClient Helloで利用可能もなものとしてサーバに送られる暗号化スイート、左がWindows7で右がWindows 11での実行結果。

そんでWindows 7でアクティベーション成功した場合、サーバーはServer HelloでTLS_RSA_WITH_3DES_EDE_CBC_SHAを選んだで!ネゴシエーション成功な!って返してきとる、でもWindows 10/11だとこいつ有効になってない暗号なんだよねぇ。なぜ無効になったかというと SWEET32という佐野元春×2みたいな名前の脆弱性があってだな…

本来であればライセンスサーバー側でTLS1.2以降と安全な暗号化スイートに対応して貰うべきなんだろうけど、下手にサポートにメール送ってクリエイティブリニンサン対応してくだち!とかすると面倒だしライセンスサーバーの運用止めるいいタイミングだわとか言われかねない諸刃の剣。 ということでクライアント側で対処すべく、Windows10/11でなんとかTLS_RSA_WITH_3DES_EDE_CBC_SHAを使う方法を考えんとならんのだなこりゃ。

ということでいつになるかは知らんがその辺を調査しようかと思う、それまではサポート切れとるけどWindows 10 18H2(1809)で動かすんですかねこれ…