EAの口座縛り解除はこちら

EX4デコンパイラで解析できても解除できない理由

MT4デコンパイル診断フォーム
🔍

デコンパイル可能性を診断

5つの質問で診断します(所要時間:約1分)

ex4 デコンパイラ
このキーワードで調べている人は、すでに一段深いところまで来ている。

EX4を手に入れた。
デコンパイラを使った。
コードらしきものも表示された。

「解析はできた」
でも、
「解除はできない」

ここで止まる人は、かなり多い。

私は EX4デコンパイルを専門に扱うエンジニアとして、
この「解析できたのに解除できない」という相談を繰り返し受けてきた。

結論から言うと、
EX4デコンパイラで解析できることと、EAの制限を解除できることは、まったく別の話だ。

もし今、
「ここまで来たのに、なぜ先に進めないのか」
そう感じているなら、判断材料として一度ここを見ておくだけでも構わない。
デコンパイルはこちら

EX4デコンパイラで「解析できた」とはどういう状態か

まず、言葉の整理をしておきたい。

EX4デコンパイラで
「解析できた」というのは、多くの場合こういう状態だ。

  • コードが表示された
  • 処理の流れが見えた
  • if文や関数構造が確認できた

これは確かに、解析ではある。

だが、
それは読めるようになったという意味であって、使えるようになったわけではない。

この認識のズレが、
最初のつまずきになる。

解析と解除は別工程

EX4デコンパイラは、
実行ファイルを解析し、
構造を人が理解できる形に近づけるツールだ。

一方で、
解除とは何か。

  • 口座縛りを無効化する
  • 制御条件を書き換える
  • 元と同じ挙動で動かす

これは、
解析のその先の作業になる。

解析できたから解除できる、
という直線的な関係はない。

EX4デコンパイラで解除できない典型的な理由

ここからが本題だ。

「コードは見えているのに解除できない」
その理由には、はっきりしたパターンがある。

理由① 制御ロジックが分離されていない

多くのEAでは、

売買ロジック
制御ロジック

これがきれいに分かれていない。

口座番号チェック。
ブローカー判定。
サーバー名照合。

こうした制御が、
売買条件の中に直接組み込まれている。

そのため、

「このif文を消せばいい」
という単純な話にならない。

解析はできる。
だが、解除ポイントが特定できない。

理由② 変数名と文脈が失われている

EX4は、
コンパイル時に多くの情報を失っている。

意味のある変数名。
コメント。
設計時の意図。

デコンパイラが出力するのは、

var1
var2
tmp_03

こうした無機質なコードだ。

読める。
だが、何を意図した処理なのか分からない。

この状態では、
解除してよい部分と、
触ってはいけない部分の区別が難しい。

理由③ 解除しても挙動が再現できない

仮に、
制御条件らしき部分を見つけて削除したとしても、
次の問題が起きる。

  • EAが動かない
  • エントリーしない
  • 挙動が変わる

これは、
制御と売買が密接に絡んでいる証拠だ。

解除はできたように見えても、
元のEAとは別物になってしまう。

デコンパイラを使い込んだ人ほどぶつかる壁

ここが、少し皮肉なところだ。

EX4デコンパイラを使い込み、
解析に慣れた人ほど、
次の壁にぶつかる。

「全部は読める」
「でも、どう直せばいいか分からない」

これはスキル不足ではない。

EX4という形式の限界だ。

Ghidraを使っても残る課題

さらに一歩踏み込む人は、
Ghidra を使う。

逆アセンブル。
構造解析。
フローの可視化。

かなり深いところまで見える。

だが、それでも解除できないケースは多い。

理由は同じだ。

  • MT4特有の関数構造
  • EA固有の制御設計
  • 再構築前提の設計

Ghidraは解析を助けるが、
解除を保証するツールではない。

Ghidraを使ったあとに残る課題については、
こちらの記事で詳しく整理している。

GhidraでEX4デコンパイルを試した後に残る課題とは

EX4デコンパイラに期待しすぎると起きるズレ

よくある誤解がある。

「解析できた=解除できる」
「ツールを変えれば何とかなる」

だが実際は、
ツールの問題ではなく、設計の問題であることがほとんどだ。

デコンパイラは、

  • 理解を助ける
  • 構造を可視化する

ここまで。

解除は、
その先の設計判断になる。

デコンパイルはこちら

解除できるEAとできないEAの分かれ目

相談が多いので、
ここははっきり書いておく。

解除しやすいEAは、

  • 制御と売買が分離されている
  • 構造が単純
  • 古い設計

逆に、解除が難しいEAは、

  • 制御が深く埋め込まれている
  • 複数条件が絡む
  • 再構築前提の設計

後者の場合、
解析できても解除できないのは普通だ。

まとめの前に整理しておくこと

EX4デコンパイラで、

解析できた。
コードが見えた。

それ自体は、
間違いなく前進だ。

だが、
解除とは別工程であり、
同じ努力では届かない。

まとめ|EX4デコンパイラで解除できないのは珍しくない

EX4デコンパイラで解析できても、解除できない理由は明確に存在する。

それは、

スキル不足ではない。
ツール選びの問題でもない。
EX4という形式と設計の問題だ。

だからこそ、

解析を続けるか。
再構築を前提に切り替えるか。

この判断が、
次の一手になる。

もし今、
「解析はできたが、解除で止まっている」
そう感じているなら、
判断材料としてここを確認しておくだけでも構わない。
デコンパイルはこちら

静かに、
必要な人だけが次に進めばいい。