2023/12/27(水・有給休暇) Twitter Widget 復活

この Blog の Widget エリアにある Twitter Widget が Twitter 社の方針変更の影響か「通知はまだ届いていません」と表示されるだけになってしまった。X / Publish site (https://publish.twitter.com/) で生成した HTML コードを使っても同じ結果なので、無理なのかと思ったら、Custom Twitter Feeds という Plugin から設定できる Widget だと、正しく表示できることが分かった。

Custom Twitter Feeds – A Tweets Widget or X Feed Widget
https://ja.wordpress.org/plugins/custom-twitter-feeds/

ということで、Twitter Widget 復活しました。

2022/07/01(金) テナブル Tenable に就職しました

2021/03/10(水) にカスペルスキー Kaspersky に就職して、まだ 1 年 3 ヵ月しか経っていませんが、色々と思うところがあり転職活動をして、テナブル Tenable という会社にオファーをいただき、就職しました。

カスペルスキー Kaspersky は昨日 2022/06/30(木) で退社 (最終出社は先週末 2022/06/24(金)) で、本日 2022/07/01(金) からテナブル Tenable での勤務となります。

職種は相変わらずのテクニカルサポートです。外資系ソフトウェアメーカーのテクニカルサポートなので、これまでの経験が生かせると思っていますし、同時に、今までと同じようなことで苦労するのだろうなとも思っています。

2021/03/10(水) カスペルスキー kaspersky に就職しました

2020/09 で Veritas をレイオフになり、けっこう長く就職活動をしていましたが、2021/02 にようやくオファーをいただきました。就職先はカスペルスキー kaspersky という、ロシアのセキュリティソフトウェアメーカーで、仕事は相変わらずテクニカルサポートです。

Sun. Jan. 17, 2021 Make HOLUX ezTour usable, even after HOLUX’s failure

This entry is English translation of essense of my Japanese entry titled “2020/12/10(木) HOLUX ezTour を復活させる…”

After HOLUX had been bankrupted, HOLUX m-241 (and m-241Plu)’s logger software ezTour stop showing Google Maps properly. I tried to restore this.

ezTour uses Google Maps API key: “AIzaSyBuAcOB_vBhIk5EcBGT4zMQ8NNPh7ORKjA”. Of course HOLUX had been paying for this key, but after HOLUX’s failure, they stop paying and Google stop Maps API service to this key, so that ezTour is no longer able to show Google Maps.

I start looking ezTour exe binary by use of a binary editor tool (I used Stirling), and found that the API key shown above in UTF-16 format. Google Maps API key can be obtained by anyone. I got mine and replace the API key in the binary file by the binary editor.

The API key is tied to accessing domain name. The domain ezTour using to access Google Maps is holux.com, so I need to modify the URL part which can be found in the binary in UTF-16 format as well.

One of the original URL part is “http://gomap.holux.com/uploadhtmlfile.php“. This is hard coded in the ezTour binary. As I don’t own holux.com domain, so I need to replace this URL with my own domain. I used the binary editor again to replace this URL. I found a few other URL’s and replace domain part of all of them.

Actually, my own domain is bit longer than holux.com, so I need to shorten the rest part of URL like, modify “uploadhtmlfile.php” to “updhtml.php”, so that the total length of accessing URL isn’t changed.

I can’t see the actual script of uploadhtmlfile.php, but I can assume that it saves the received content to the file named after [proj_id] query string with “.html” extension. So I created a PHP script as below. (My server’s document root is /volume1/web/ and you need to modify that part to actual document root of your web server if you use this script.)

<?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”;
}

>

updhtml.php

In my tweet below, you can see the screen shot of working ezTour even after the date of HOLUX failure.

2021/01/05(火) Let’s Encrypt SSL 証明書

この Blog、SSL 対応自体は以前からしていたのですが、証明書を自分のドメインで取っていないとか、HTTP でもアクセス可能だとか、中途半端な状態のままでした。

ふと思い立って、2021/01/05(火) に Let’s Encrypt の SSL 証明書を発行して、ちゃんと自分の okumura.com ドメインの証明書にして、また HTTP でアクセスに来た場合は HTTPS にリダイレクトする設定を行い、SSL 化しました。

2020/12/10(木) HOLUX ezTour を復活させる…

私の blog にはあまりアクセスはありませんが、twitter log となっている旧 Blog (http://blog.okumura.com) のうちのある 1 日、2019/09/11(水) のページ にはけっこうアクセスがあります。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”;
}

>

updhtml.php

以下の 2019/10/04(金) の tweet が、実際にこれらの変更を行った後の画面です。

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

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