そのコード、すけすけですよ。

例えばですけれども、あなたが運営するサイトで何かしらのクライアントアプリケーションを公開したとします。

画像1

そしてその時、そのサイトの運営者として、アプリケーションとビジネスを守るために一番初めに取り組むべきことは何でしょうか?

答えはコードの難読化です。

JavaScript

ブラウザで動くコード、JavaScriptは「F12キー」を押すだけで誰でも簡単に読めます。

しかしサイトの運営者がコードの難読化に取り組んでいると、コードを読む難度が劇的に高まり、読む人・読める人の絶対数が大幅に減ります。

Java

Javaランタイムで動くコード、JavaはJD-GUIをダウンロードするだけで誰でも簡単に読めます。

しかしサイトの運営者がコードの難読化に取り組んでいると、コードを読む難度が劇的に高まり、読む人・読める人の絶対数が大幅に減ります。

Adobe AIR

Adobe AIRランタイムで動くコード、Adobe AIRはHugFlashをダウンロードするだけで誰でもそれなりに読めます。

しかしサイトの運営者がコードの難読化に取り組んでいると、コードを読む難度が劇的に高まり、読む人・読める人の絶対数が大幅に減ります。

.NET (主にC#)

.NETランタイムで動くコード、C#はILSpyをダウンロードするだけで誰でも簡単に読めます。

しかしサイトの運営者がコードの難読化に取り組んでいると、コードを読む難度が劇的に高まり、読む人・読める人の絶対数が大幅に減ります。

ネイティブコード

配布されるネイティブアプリの元となるコードは、誰でも簡単に読めるものではありません。しかし安心は禁物です。

7-Zipは雑多のファイルを簡単に展開します。PEファイルの後ろに配置されたZipファイルにも対応しています。

そしてネイティブアプリであってもその実態をバイナリエディタで覗けば、例えば埋め込みのXMLファイルデータなどは、比較的簡単に見つけることができます。

しかしサイトの運営者がコードの難読化に取り組んでいると、これらの情報も読む難度が劇的に高まり、読む人・読める人の絶対数が大幅に減ります。

まずは難読化を

MetaTraderの開発元であるMetaQuotes Softwareはこのあたりをよくわかっていて、自分たちのビジネスと顧客を守るために難読化や隠匿化、独自の暗号化など、読み手の気がしっかりと失せるようにあの手この手を講じています。

アプリケーションを安易にそのまま公開していませんか?それ、サイトの利用者にコードを簡単に読まれる状態だってことを心したほうが良いと思います。

「じゃぁどうすれば心を的確に折れるの?」と疑問に思った方、そこはまた要望があればコンテンツにしていきたいと思っていますので、お声がけを。

Let's きっちり納税。noteでの収益を励みに、皆さんへ有益な情報を届けます!