2019年09月12日

2019/09/11 のつぶやき

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 が、実際にこれらの変更を行った後の画面です。



現在 2020/12/09(水) でも、この書き換えた実行形式で ezTour は HOLUX m241Plus から読み込んだ GPS log データの地図を表示できています。
ただ、実行形式ファイルを書き換えてしまっているためか、セキュリティソフトが警告を出すようになってしまいました。

上記までの説明を読んで意味が理解できる人は、おそらく全く同じことができます。リスクと言えるようなリスクはありませんが、own risk でやってみようという方のヒントとなれば幸いです。なお、上記までを読んで「自分でもできるな」と「思えない人」への質問に答えるつもりはありませんのでよろしくお願いします。

(2020/12/09(水) 追記 ここまで)



















posted by Okumura at 00:01 | 神奈川 ☔ | Comment(2) | Twitter tweet まとめ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメント書けないというメールがあったので、ちょっと確認のために、自分でコメントを書いてます。
Posted by 奥村 at 2021年01月07日 14:15
自分では書けたので、コメントは書けるようです。書けない方がいるらしいけど、理由不明です…
Posted by 奥村 at 2021年01月07日 14:17
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。