2020/12/09(水) 追記
私の blog にはあまりアクセスはありませんが、twitter log のうちのある 1 日であるこのページにはけっこうアクセスがあります。HOLUX ezTour を使えない人が検索で見に来ているのかな、と思いますが、この 2019/09/11(水) の tweet には、具体的な対策は何も書かれていません。
その後、2019/09/14(土) の tweet (2019/09/14 のつぶやき) では具体的な対策を書きましたが、Google Maps への HOLUX の支払いが停止してしまったことにより、ezTour に組み込まれている HOLUX が契約していたと思われる Google Maps API キー "AIzaSyBuAcOB_vBhIk5EcBGT4zMQ8NNPh7ORKjA" が無効になってしまい、この 2019/09/14(土) に書いた方法は使えなくなってしまいました。
そこでもう少し調べてなんとかできないかやってみました。
ezTour の実行ファイルをバイナリエディタで確認すると、上記のキーが UTF-16 形式で保存されている個所がありました。Google Maps の API キーは誰でもお金を払えば登録できるので、登録して、バイナリエディタで ezTour の実行形式の該当部分をバイナリエディタで書き換えました。また、Google Maps の API キーがアクセスする時の Host: ヘッダーのドメイン名と関連付けられているため、元々 holux.com となっていたドメイン名部分も、バイナリエディタで書き換えてしまい、かつ、そのドメインのサーバー (つまり自分の web server) で動く php プログラムを作ることで、ezTour はちゃんと Google の地図を表示できるようになりました。ドメイン名部分を単純に書き換えると、私の所有しているドメインとは長さが異なるため、バイナリ全体の長さが変わってしまいます。それでも動くかどうかはよくわからなかったので、URL のドメイン名とは別の部分を変更して長さが変更前と全く同じになるように調整しました。
URL の部分は具体的には、"http://gomap.holux.com/uploadhtmlfile.php" という URL が実行形式内にハードコードされています。これを自分のドメインに変更するのですが、自分の所有しているドメイン名はもっと長いので URL のドメイン名部分が長くなってしまうので、例えば "uploadhtmlfile.php" を "updhtml.php" に変更して、その長さの分を短くして、URL 全体の長さを同じにするようにしました。
本来の uploadhtmlfile.php の中身は当然見れませんが、外形的にやっていることは proj_id という query 引数に html 拡張子を付けたファイルに、クライアントから送られてきたデータを全て保存しているだけとわかったので、その動きに合わせて以下の php スクリプトを作りました。(ドキュメントルートは /volume1/web/ です。実際に試みられるのであれば、それぞれの web server の document root に応じて書き換える必要があります)
<?php
// ezTour uploader (emulated)
// Fri. Oct. 04, 2019 by Hirotoshi OKUMURA
$uploaddir = '/volume1/web/ezToolD/TGV/ezTour/'; // need to be changed for actual path for that web server's document root
$uploadfile = $uploaddir . basename($_POST['proj_id']) . '.html';
echo '<pre>';
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
echo "File uploaded.\n";
} else {
echo "Error on move_uploaded_file()\n";
}
>
以下の 2019/10/04(金) の tweet が、実際にこれらの変更を行った後の画面です。
2019/09/14(土) につぶやいた #HOLUX #m241 #m241Plus 用 #ezTour の復活方法実施後も、
— Hirotoshi Okumura (@okumura1967) October 4, 2019
You must enable Billing on the Google Cloud Project at https://t.co/xT21Dz9jKT
というエラーが出るようになってしまったが、さらに色々変更して、ezTour を復活させた。こちらが復活後の画面です。 pic.twitter.com/HermTvxXdN
現在 2020/12/09(水) でも、この書き換えた実行形式で ezTour は HOLUX m241Plus から読み込んだ GPS log データの地図を表示できています。
ただ、実行形式ファイルを書き換えてしまっているためか、セキュリティソフトが警告を出すようになってしまいました。
上記までの説明を読んで意味が理解できる人は、おそらく全く同じことができます。リスクと言えるようなリスクはありませんが、own risk でやってみようという方のヒントとなれば幸いです。なお、上記までを読んで「自分でもできるな」と「思えない人」への質問に答えるつもりはありませんのでよろしくお願いします。
(2020/12/09(水) 追記 ここまで)
okumura1967 / Hirotoshi Okumura
@89x89x ezTour のふるまいを観察すると、upload.html はランダムな数字だけのファイル名にされて https://t.co/0D6hvyy1k5 に POST してアップロードされます。
これを… https://t.co/RcFNa1T1Yt at 09/11 23:59
okumura1967 / Hirotoshi Okumura
@89x89x 1 点書き忘れていました。ローカルの web server に https://t.co/pkcJpXouau という名前でアクセスできるよう hosts ファイルを書き換えておかないと、ローカルの web ser… https://t.co/8OmjyFoqDN at 09/11 23:55
okumura1967 / Hirotoshi Okumura
@89x89x (cont.) していたようです。gApJsCtrl = true; は ezTour のアプリケーション自体と通信するかどうかという動作を決める変数のようです。
この動作を自動化できれば、ezTour で軌跡が見れますが、まぁ、無理そうです。 at 09/11 23:53
okumura1967 / Hirotoshi Okumura
@89x89x (cont.) ローカルに変更すると、地図に "For development purposes only" の透かしが入るものの、地図と GPS 軌跡が表示されるようになりました。
ezTour は upload… https://t.co/st5NFQ1Ic6 at 09/11 23:52
okumura1967 / Hirotoshi Okumura
@89x89x このファイルを自宅の web server にコピーして表示させるとエラーになりますが、upload.html が読み込んでいるスクリプトのうち https://t.co/QHmSP9X6MT だけをローカルにコピ… https://t.co/gCeLet40Go at 09/11 23:49
okumura1967 / Hirotoshi Okumura
@89x89x ezTour の動作をもう少し確認してみました。
%USERPROFILE%\AppData\Local\Temp\<Serian Number>\upload.html
というファイルが毎回作られていて、これが… https://t.co/etlnLdaDuB at 09/11 23:47
okumura1967 / Hirotoshi Okumura
@stephanneuhaus1 Holux, a Taiwanese company, seems to be bankrupted. No clear news in English news sites, but many… https://t.co/7Z0z4XRYNz at 09/11 11:52
【Twitter tweet まとめの最新記事】
- 2023/04/05 のつぶやき
- 2023/04/04 のつぶやき
- 2023/04/03 のつぶやき
- 2023/04/02 のつぶやき
- 2023/04/01 のつぶやき
- 2023/03/31 のつぶやき
- 2023/03/30 のつぶやき
- 2023/03/29 のつぶやき
- 2023/03/28 のつぶやき
- 2023/03/27 のつぶやき
- 2023/03/26 のつぶやき
- 2023/03/25 のつぶやき
- 2023/03/24 のつぶやき
- 2023/03/23 のつぶやき
- 2023/03/22 のつぶやき
- 2023/03/21 のつぶやき
- 2023/03/20 のつぶやき
- 2023/03/19 のつぶやき
- 2023/03/18 のつぶやき
- 2023/03/17 のつぶやき