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 でやってみようという方のヒントとなれば幸いです。なお、上記までを読んで「自分でもできるな」と「思えない人」への質問に答えるつもりはありませんのでよろしくお願いします。

2020/10/19(月) Happy Birthday my blog

奥村の貧乏暇なし Blog は、SeeSaa blog でホストするブログとして 2005/10/19(水) に開設されました。途中 WordPress への移行、さらに別サーバーの WordPress への移行がありましたが、通算で今日で 15 周年となり、16 年目に突入します。

まぁ、全然更新してませんが…

2020/07/09(木) WordPress メール投稿設定、とある web mail からの投稿試験

WordPress でメール投稿の設定後、ガラケーのメールからは投稿が確認できました。

次は、とある web mail から、設定したアドレス宛にメールを送って試験をしています。メール署名付けたまま送って、それも投稿に載ってしまったりという間違いをやってしまいそう…

2020/07/06(月) Hello world! – 新しいサーバーに移行しました。

WordPress を古いサーバーから新しいサーバーに移行しました。

新しいサーバーは仮想サーバーが設定できるので、URL を、パス名の付いていた http://server.okumura.com/blog という以前の URL から、http://weblog.okumura.com/ と、ちょっと見栄えのよい URL に変更できました。(http://blog.okumura.com は、さらに以前から使っている SeeSaa の Blog を、Twitter log として残してあるので、weblog にしました)

2018/04/17(火) 朝日新聞がダウンロードできるようにしている、陸自イラク日報 370 + 26 + 39 = 435 日分の PDF

朝日新聞が web site で昨日 2018/04/16(月) に公開した記事 「陸自イラク「日報」防衛省が公表した全文書」 は、陸自イラク日報 (3 区分それぞれ、370 日分 + 26 日分 + 39 日分 = 合計) 435 日分の PDF をダウンロードできるようにしている記事です。

とても素晴らしい記事だと思いますが、PDF を 1 つ 1 つダウンロードするのはとても大変です。

この Blog post は、上記の記事からリンクされている 435 個の PDF ファイルを HTML の img タグで指定してあります。PDF を img タグで指定しているので、この Blog post 自体は、壊れた画像ファイルのアイコンが 435 個表示されるだけになっています。

何の意味があるのかというと、こうすることで、この Blog post を表示させてブラウザーでダウンロードすると、1 回のダウンロード操作で、435 個の PDF が画像扱いでダウンロードされるということができます。そのような操作で使われることを意図した post です。

ご活用ください。