勝ち続けられそうなEAを見つけたのはいいが、口座縛りのせいで広いスプレッドのままトレードしなければならないことに不満を抱いているEAユーザーは多いのではないでしょうか。
また、それにより横行するEAの逆コンパイルにより本来得られるはずだったキャッシュバックを受け取れていないというEA開発者も多いと思います。
この記事では、逆コンパイルの現状や違法性、やり方や防ぐ方法についてご紹介します。
EAの逆コンパイルの現状
逆コンパイルはEA開発者の中でも度々問題として取り上げられていますが、そもそも逆コンパイルって何?という人も多いでしょう。
まずはその概要を解説していきます。
EAの逆コンパイルとは?
逆コンパイルとは、実行可能形式のプログラムを解析し開発時のプログラミング言語形式に戻すことでプログラミングの編集を可能にすることを指します。
MT4で使われるEAのファイルにはex4とmq4というふたつの形式があります。
- mq4・・・MT4用のEAを開発する際のファイル形式
- ex4・・・mq4をコンパイルし、実際に稼働できる状態になっているファイル形式
MT4で使うEAを開発する際はまずmq4形式でプログラミングを行い、完成次第ex4にコンパイルしてから稼働開始させることになります。
MT4ではBuild600というバージョンまでは逆コンパイルを簡単に行うことができましたが、2014年2月のアップデートにより対策が行われ簡単に逆コンパイルが行えなくなっています。
基本的にEAはex4形式で配布や販売が行われているため、先述の通り自作EAでない限りそのまま使うことが基本的な流れとなっています。
しかし、一部ユーザーはある理由によりお金をかけてでも逆コンパイルをしている現状があります。
逆コンパイルによる被害は?
MT4のEA逆コンパイルはキャッシュバックを受け取りたいユーザーやスプレッドを狭めたいユーザーによって行われます。
取引口座を登録することで、スプレッドの一部をキャッシュバックとして還元してくれるキャッシュバックサービスが存在します。
ユーザーはこのサービスを利用することでより有利な条件でトレードすることが可能となります。
また証券口座によってスプレッドや付与されるボーナスは全く違うため、ユーザーはそれぞれ好みの証券口座を使いたいと思っているものです。
その際に障壁となるのが「口座縛り」となります。
口座縛りとは?
口座縛りとは、EA開発者から「このEAを使いたいならこの証券会社で口座開設してください。」という指定がされていることを指します。
開発者が口座縛りをする理由としては、ユーザーのトレードによるIB報酬によりお金儲けをしようとしているからです。
指定口座でユーザーがEAを使ったトレードをすればするほど開発者はキャッシュバックを受け取れるため、ユーザーが勝ち続けている間は開発者も安定収入を見込むことができます。
一見お互いにWin-Winな関係に思えますが、より利益を追求したいユーザーはさらに好条件な証券会社でトレードするためにEAを逆コンパイルし口座縛りのプログラムを削除しようと試みるのです。
結果的に、逆コンパイルして口座縛りを失ったEAは開発者にキャッシュバックをもたらさない状態で運用されてしまいます。
特に無料配布されているEAはキャッシュバックでしか収益を見込むことができないため、開発者は常に逆コンパイルによる報酬減には頭を悩まされています。
EAの盗用販売被害
巷で販売されているEAは全てオリジナルとは限りません。
例えばスキャルピングEAは挙動が似たようなものが多く、同じタイミングで破綻してしまうEAが多いのも事実です。
これらのEAは盗用である可能性があり、逆コンパイルされたEAが名前を変えて別業者から販売されているケースもあります。
このような目的でEAが逆コンパイルされてしまうと、本来EAの販売料や取引キャッシュバックで得られるはずだったお金を他の悪徳業者に奪われていることと同義です。
逆コンパイルの違法性について
逆コンパイルはEA開発者の利益を阻害する行為だということがわかりました。
しかし、この行為が法律で規制されているかと言われるとそうではありません。
逆コンパイル自体は違法ではない
逆コンパイルはEAに限って言えば悪質な行為にも見えますが、他業種ではこの手法が全く違法性のない形で活用されることもあります。
例えば他社製品のプログラムを調査解析して開発期間やコストを削減し、より良い商品を開発販売しようとする試みは一般的に行われている手法です。
2018年に文化庁が公表した「デジタル化・ネットワーク化の進展に対応した柔軟な権利制限規定に関する基本的な考え方」によれば、調査解析を目的にプログラムを逆コンパイルすることは法律上問題はないと明言されています。
では、調査解析を目的としない今回のケースのような逆コンパイルは法律上そのように判断されるのでしょうか。
逆コンパイルが違法となるケース
逆コンパイルしたEAをほとんどそのまま名前だけ変えて販売するケースは盗用にあたります。
ソースコードには著作権が認められているため、プログラムの盗用販売は列記とした法律違反になってしまいます。
過去にはIT企業の元従業員が転職先で開発したプログラムが元職場のプログラムと告示しているとして裁判が行われています。
このケースでは全体の90%以上がほぼ同じソースコードであるかに焦点が置かれ判決が下されたため、逆コンパイルしたEAを少し触った程度では著作権法違反になってしまう可能性が高いことがわかります。
また個人的にEAを逆コンパイルして使うだけなら基本的に法律上の罪に問われる可能性は低いですが、EAの利用規約に逆コンパイル禁止の旨が記載されている場合は注意が必要です。
よほどのことがなければ開発者側に逆コンパイルしていることが知られることはないですが、もし知られた場合には最悪の場合利用規約違反として民事裁判を起こされてしまう可能性があります。
逆コンパイルのやり方は?
先述の通り2014年2月までのMT4バージョンBuild600とは違い、プログラミング知識がない素人がEAを逆コンパイルするのは非常に難しくなっています。
しかし逆コンパイルの方法はまだ残されています。
EA逆コンパイル用ソフト・サイトを使用する
EAの逆コンパイルにはプログラミングの専門知識が必要ですが、手法がパッケージングされたソフトやWebサイトが存在します。
例えば「EX4 TO MQ4 Decompiler」というWebサイトに編集不可のex4ファイルをアップロードすると、おおよそ24時間以内に逆コンパイルされたmq4ファイルがメールで返ってきます。
時々メールが返ってこないこともあるようで、無料サービスにファイルをアップロードするという部分も信頼性に欠けるのではないかという心配もありますが、非常に有用なサービスといえるでしょう。
他にも有料・無料問わず様々な逆コンパイルソフトが販売配布されており、逆コンパイル市場は衰えていないことがわかります。
プログラマーに有償依頼する
国内外問わずEAの逆コンパイル作業を受け付けているプログラマーは存在します。
クラウドソーシングサイトや某有名フリマサイトなどで1件あたり数万円で募集している場合が多く、常に供給は絶えない状態であることがわかります。
実際に勝てるEAを逆コンパイルして有効活用するのであれば数万円はすぐに元が取れてしまうケースもザラにあります。
お金をかけてでも長期的に見た利益を優先したいと考えているユーザーであればこのようなサービスを利用するのもひとつの手でしょう。
逆コンパイルを防ぐ方法は?
EAは様々な方法で逆コンパイルされてしまうことがわかりましたが、それをできる限り防ぐ方法もあります。
難読化処理を行う
ソースコードの改行を無くすことで読みにくくすることで逆コンパイルを防ぐ可能性を上げることができます。
この手法を用いる際に気をつけるべきことは、コメントアウトの「//」です。
改行されていないと以降全てのソースコードがコメントアウトされてしまうことになるため注意しましょう。
ダミー変数を作る
変数名を失ったソースコードを解読する際には、変数に入力した値をひとつずつ判明させていくという作業が発生します。
この作業の際、意味のない変数を随所に忍ばせていくことで複雑な演算が行われ作業難易度を上げることができます。
トレードの演算を別のサーバーで行う
Webサーバを使ったコピートレード型の認証EAを作成しWebサーバー上でトレードの演算を行い、EAはトレードタイミングのシグナルを受け取るだけの器としてのプログラムにしておくことで、逆コンパイルされても実際のトレード手法を見られることはありません。
この方法でEAを開発販売する際はある程度の手間が発生してしまいますが、逆コンパイルへの対策として非常に強固な防御を実施することができます。
まとめ
今回はMT4で使用するEAの逆コンパイルを取り巻く環境や防ぎ方、やり方について解説しました。
逆コンパイル自体に違法性がない事は分かりましたが、やる場合はEAの利用規約に違反してしまう可能性はあるので十分注意しましょう。
また、逆コンパイルが禁止されている理由は開発者側の利益が削がれてしまうためです。
利用者と開発者の間でより良い環境下でEA運用を行えるよう、規約に則った利用をするのがベストといえるでしょう。
コメント コメント 0