<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>方法 アーカイブ - MT4解除研究所</title>
	<atom:link href="https://mt4decompile.com/category/%E6%96%B9%E6%B3%95/feed/" rel="self" type="application/rss+xml" />
	<link>https://mt4decompile.com/category/方法/</link>
	<description>EAの中身を、知るための場所</description>
	<lastBuildDate>Sat, 16 May 2026 02:41:33 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://mt4decompile.com/wp-content/uploads/2025/12/cropped-cropped-images-32x32.jpg</url>
	<title>方法 アーカイブ - MT4解除研究所</title>
	<link>https://mt4decompile.com/category/方法/</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/>
<atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>
<atom:link rel="hub" href="https://websubhub.com/hub"/>
<atom:link rel="self" href="https://mt4decompile.com/category/%E6%96%B9%E6%B3%95/feed/"/>
	<item>
		<title>EAデコンパイルツールを試した後に残る最終手段</title>
		<link>https://mt4decompile.com/ea-decompile-tool/</link>
		
		<dc:creator><![CDATA[MT4解除研究所運営者]]></dc:creator>
		<pubDate>Wed, 24 Dec 2025 04:12:31 +0000</pubDate>
				<category><![CDATA[方法]]></category>
		<guid isPermaLink="false">https://mt4decompile.com/?p=697</guid>

					<description><![CDATA[<p>MT4デコンパイル診断フォーム 🔍 デコンパイル可能性を診断 5つの質問で診断します（所要時間：約1分） 診断を開始する Q1 ファイルの拡張子は何ですか? .ex4ファイル .mq4ファイル(ソースコード) その他のフ...</p>
<p>投稿 <a href="https://mt4decompile.com/ea-decompile-tool/">EAデコンパイルツールを試した後に残る最終手段</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>MT4デコンパイル診断フォーム</title>
    <style>
        .mt4-diagnostic-form {
            max-width: 700px;
            margin: 20px auto;
            padding: 20px;
            background: #2d2d2d;
            border-radius: 8px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.3);
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            border: 1px solid #3d3d3d;
        }
        
        .form-content {
            position: relative;
        }
        
        .mt4-diagnostic-form h3 {
            color: #ffffff;
            text-align: center;
            margin-bottom: 4px;
            font-size: 20px;
            font-weight: 700;
        }
        
        .mt4-diagnostic-form .subtitle {
            text-align: center;
            color: #999;
            margin-bottom: 14px;
            font-size: 12px;
        }
        
        .question-block {
            background: #3a3a3a;
            padding: 14px;
            margin-bottom: 10px;
            border-radius: 6px;
            border-left: 3px solid #ff6b6b;
        }
        
        .question-block.hidden {
            display: none;
        }
        
        .question-title {
            font-weight: 600;
            color: #e0e0e0;
            margin-bottom: 10px;
            font-size: 13px;
            display: flex;
            align-items: center;
        }
        
        .question-number {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #ff6b6b;
            color: white;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            font-size: 11px;
            margin-right: 8px;
            font-weight: 700;
            flex-shrink: 0;
        }
        
        .options {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }
        
        .option-label {
            display: flex;
            align-items: center;
            padding: 8px 12px;
            background: #2d2d2d;
            border: 1px solid #4a4a4a;
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.2s ease;
            font-size: 13px;
            color: #ccc;
        }
        
        .option-label:hover {
            background: #353535;
            border-color: #ff6b6b;
            color: #fff;
        }
        
        .option-label input[type="radio"] {
            margin-right: 8px;
            cursor: pointer;
            accent-color: #ff6b6b;
        }
        
        .btn-container {
            text-align: center;
            margin-top: 12px;
        }
        
        .btn {
            padding: 9px 26px;
            font-size: 13px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.3s ease;
            font-weight: 600;
        }
        
        .btn-next {
            background: #ff6b6b;
            color: white;
        }
        
        .btn-next:hover {
            background: #ff5252;
            box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4);
        }
        
        .btn-next:disabled {
            background: #555;
            cursor: not-allowed;
            color: #888;
        }
        
        .result-container {
            background: #3a3a3a;
            padding: 20px;
            border-radius: 6px;
            text-align: center;
        }
        
        .result-container.hidden {
            display: none;
        }
        
        .result-icon {
            font-size: 44px;
            margin-bottom: 10px;
        }
        
        .result-title {
            font-size: 18px;
            font-weight: bold;
            color: #ffffff;
            margin-bottom: 8px;
        }
        
        .result-message {
            color: #ccc;
            margin-bottom: 14px;
            line-height: 1.6;
            font-size: 13px;
        }
        
        .result-details {
            background: #2d2d2d;
            padding: 12px;
            border-radius: 4px;
            margin-bottom: 14px;
            text-align: left;
            border: 1px solid #4a4a4a;
        }
        
        .result-details h4 {
            color: #ff6b6b;
            margin-bottom: 8px;
            font-size: 13px;
            font-weight: 600;
        }
        
        .result-details ul {
            margin: 0;
            padding-left: 18px;
            color: #aaa;
            font-size: 12px;
        }
        
        .result-details li {
            margin-bottom: 4px;
        }
        
        .difficulty-badge {
            display: inline-block;
            padding: 4px 12px;
            border-radius: 12px;
            font-size: 11px;
            font-weight: 600;
            margin-bottom: 12px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        
        .difficulty-badge.easy {
            background: #4caf50;
            color: white;
        }
        
        .difficulty-badge.medium {
            background: #ff9800;
            color: white;
        }
        
        .difficulty-badge.advanced {
            background: #ff6b6b;
            color: white;
        }
        
        .btn-cta {
            background: #ff6b6b;
            color: white;
            padding: 10px 28px;
            font-size: 14px;
            text-decoration: none;
            display: inline-block;
            border-radius: 4px;
            transition: all 0.3s ease;
            font-weight: 600;
        }
        
        .btn-cta:hover {
            background: #ff5252;
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
        }
        
        .progress-bar {
            width: 100%;
            height: 3px;
            background: #4a4a4a;
            border-radius: 2px;
            margin-bottom: 14px;
            overflow: hidden;
        }
        
        .progress-fill {
            height: 100%;
            background: #ff6b6b;
            transition: width 0.3s ease;
        }
        
        .note-box {
            background: #2d2d2d;
            padding: 10px;
            border-left: 3px solid #ff6b6b;
            border-radius: 4px;
            margin-top: 12px;
            text-align: left;
            font-size: 11px;
            color: #aaa;
            border: 1px solid #4a4a4a;
        }
        
        .intro-screen {
            background: #3a3a3a;
            padding: 24px;
            border-radius: 6px;
            text-align: center;
        }
        
        .intro-screen.hidden {
            display: none;
        }
        
        .intro-content {
            max-width: 500px;
            margin: 0 auto;
        }
        
        .intro-icon {
            font-size: 56px;
            margin-bottom: 14px;
        }
        
        .intro-content h4 {
            color: #fff;
            font-size: 20px;
            margin-bottom: 12px;
            font-weight: 600;
        }
        
        .intro-text {
            color: #ccc;
            font-size: 13px;
            line-height: 1.6;
            margin-bottom: 24px;
        }
        
        .btn-start {
            background: #ff6b6b;
            color: white;
            padding: 12px 36px;
            font-size: 15px;
            border-radius: 4px;
            font-weight: 600;
            border: none;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .btn-start:hover {
            background: #ff5252;
            box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
        }
    </style>
</head>
<body>
    <div class="mt4-diagnostic-form">
        <div class="form-content">
            
            <div class="progress-bar" id="progressBarContainer" style="display: none;">
                <div class="progress-fill" id="progressBar" style="width: 0%"></div>
            </div>
            
            <!-- イントロ画面 -->
            <div class="intro-screen" id="introScreen">
                <div class="intro-content">
                    <div class="intro-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50d.png" alt="🔍" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                    <h4>デコンパイル可能性を診断</h4>
                    <p class="intro-text">
                        5つの質問で診断します（所要時間：約1分）
                    </p>
                    <button type="button" class="btn btn-start" id="startBtn">診断を開始する</button>
                </div>
            </div>
        
        <form id="diagnosticForm" style="display: none;">
            <!-- 質問1 -->
            <div class="question-block" data-question="1">
                <div class="question-title">
                    <span class="question-number">Q1</span>
                    ファイルの拡張子は何ですか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q1" value="ex4" required>
                        .ex4ファイル
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q1" value="mq4">
                        .mq4ファイル(ソースコード)
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q1" value="other">
                        その他のファイル
                    </label>
                </div>
            </div>
            
            <!-- 質問2 -->
            <div class="question-block hidden" data-question="2">
                <div class="question-title">
                    <span class="question-number">Q2</span>
                    ファイルは特定の口座でしか動作しませんか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q2" value="yes" required>
                        はい、特定の口座でのみ動作します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q2" value="no">
                        いいえ、どの口座でも動作します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q2" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <!-- 質問3 -->
            <div class="question-block hidden" data-question="3">
                <div class="question-title">
                    <span class="question-number">Q3</span>
                    ファイルを開こうとしたときにエラーが表示されますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q3" value="account-error" required>
                        口座番号に関するエラーが表示される
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q3" value="other-error">
                        別のエラーが表示される
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q3" value="no-error">
                        エラーは表示されない
                    </label>
                </div>
            </div>
            
            <!-- 質問4 -->
            <div class="question-block hidden" data-question="4">
                <div class="question-title">
                    <span class="question-number">Q4</span>
                    EAが外部DLLファイルを使用していますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q4" value="yes" required>
                        はい、DLLファイルが必要です
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q4" value="no">
                        いいえ、使用していません
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q4" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <!-- 質問5 -->
            <div class="question-block hidden" data-question="5">
                <div class="question-title">
                    <span class="question-number">Q5</span>
                    起動時に外部サーバーでライセンス認証を行いますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q5" value="yes" required>
                        はい、外部サーバーで認証が必要です
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q5" value="no">
                        いいえ、ローカルで認証が完結します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q5" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <div class="btn-container">
                <button type="button" class="btn btn-next" id="nextBtn" disabled>次へ</button>
            </div>
        </form>
        
        <!-- 結果表示 -->
        <div class="result-container hidden" id="resultContainer">
            <div class="result-icon" id="resultIcon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
            <div class="difficulty-badge" id="difficultyBadge"></div>
            <div class="result-title" id="resultTitle"></div>
            <div class="result-message" id="resultMessage"></div>
            <div class="result-details" id="resultDetails"></div>
            <a href="https://formok.com/f/64hux0wy?case_id=4ZAMXB" class="btn-cta" target="_blank">
                詳しく相談する →
            </a>
            <div class="note-box">
                <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 最終的な判断には実際のファイル解析が必要です。まずはお気軽にご相談ください。
            </div>
        </div>
        </div>
    </div>

    <script>
        let currentQuestion = 0; // 0 = intro screen
        const totalQuestions = 5;
        const answers = {};
        
        const form = document.getElementById('diagnosticForm');
        const nextBtn = document.getElementById('nextBtn');
        const startBtn = document.getElementById('startBtn');
        const introScreen = document.getElementById('introScreen');
        const progressBar = document.getElementById('progressBar');
        const progressBarContainer = document.getElementById('progressBarContainer');
        const resultContainer = document.getElementById('resultContainer');
        
        // 診断開始ボタン
        startBtn.addEventListener('click', function() {
            introScreen.classList.add('hidden');
            form.style.display = 'block';
            progressBarContainer.style.display = 'block';
            currentQuestion = 1;
            showQuestion(1);
        });
        
        // 質問を表示
        function showQuestion(questionNum) {
            const questionBlock = document.querySelector(`[data-question="${questionNum}"]`);
            if (questionBlock) {
                questionBlock.classList.remove('hidden');
            }
        }
        
        // ラジオボタンの選択を監視
        form.addEventListener('change', function(e) {
            if (e.target.type === 'radio') {
                nextBtn.disabled = false;
                answers[e.target.name] = e.target.value;
            }
        });
        
        // 次へボタンのクリック処理
        nextBtn.addEventListener('click', function() {
            const currentQuestionBlock = document.querySelector(`[data-question="${currentQuestion}"]`);
            const selectedOption = form.querySelector(`input[name="q${currentQuestion}"]:checked`);
            
            if (!selectedOption) return;
            
            // 現在の質問を非表示
            currentQuestionBlock.classList.add('hidden');
            
            // 次の質問へ
            currentQuestion++;
            
            // プログレスバーを更新
            const progress = (currentQuestion / totalQuestions) * 100;
            progressBar.style.width = progress + '%';
            
            if (currentQuestion <= totalQuestions) {
                // 次の質問を表示
                showQuestion(currentQuestion);
                nextBtn.disabled = true;
                
                // 最後の質問の場合はボタンテキストを変更
                if (currentQuestion === totalQuestions) {
                    nextBtn.textContent = '診断結果を見る';
                }
            } else {
                // すべての質問が終わったら結果を表示
                showResult();
            }
        });
        
        function showResult() {
            form.style.display = 'none';
            document.querySelector('.progress-bar').style.display = 'none';
            resultContainer.classList.remove('hidden');
            
            // 回答に基づいて結果を判定
            const resultType = determineResultType();
            displayResult(resultType);
        }
        
        function determineResultType() {
            // スコアリングシステム
            let complexityScore = 0;
            
            // Q1: ファイル拡張子
            if (answers.q1 === 'mq4') {
                return 'already-source'; // すでにソースコード
            } else if (answers.q1 === 'other') {
                return 'not-ex4'; // ex4ファイルではない
            }
            
            // Q2: 口座縛り
            if (answers.q2 === 'yes') {
                complexityScore += 0; // 標準的なケース
            } else if (answers.q2 === 'no') {
                complexityScore += 1; // 口座縛りなし
            }
            
            // Q3: エラー表示
            if (answers.q3 === 'account-error') {
                complexityScore += 0; // 標準的な口座エラー
            } else if (answers.q3 === 'other-error') {
                complexityScore += 2; // 別のエラー
            }
            
            // Q4: DLL使用
            if (answers.q4 === 'yes') {
                complexityScore += 3; // DLL使用で複雑度アップ
            } else if (answers.q4 === 'no') {
                complexityScore += 0;
            } else {
                complexityScore += 1; // 不明
            }
            
            // Q5: オンライン認証
            if (answers.q5 === 'yes') {
                complexityScore += 3; // サーバー認証で複雑度アップ
            } else if (answers.q5 === 'no') {
                complexityScore += 0;
            } else {
                complexityScore += 1; // 不明
            }
            
            // スコアに基づいて結果タイプを決定
            if (complexityScore === 0) {
                return 'standard'; // 標準的なケース
            } else if (complexityScore <= 2) {
                return 'moderate'; // やや複雑
            } else if (complexityScore <= 4) {
                return 'complex'; // 複雑
            } else {
                return 'advanced'; // 高度な保護
            }
        }
        
        function displayResult(resultType) {
            const resultIcon = document.getElementById('resultIcon');
            const difficultyBadge = document.getElementById('difficultyBadge');
            const resultTitle = document.getElementById('resultTitle');
            const resultMessage = document.getElementById('resultMessage');
            const resultDetails = document.getElementById('resultDetails');
            
            switch(resultType) {
                case 'already-source':
                    resultIcon.textContent = '&#x1f4c4;';
                    difficultyBadge.textContent = '対応不要';
                    difficultyBadge.className = 'difficulty-badge easy';
                    resultTitle.textContent = 'すでにソースコードです！';
                    resultMessage.innerHTML = '.mq4ファイルはソースコードなので、デコンパイルの必要はありません。<br>そのまま編集・カスタマイズが可能です。';
                    resultDetails.innerHTML = `
                        <h4>&#x2705; 次のステップ</h4>
                        <ul>
                            <li>MetaEditorで直接編集できます</li>
                            <li>口座縛りの解除も容易に可能です</li>
                            <li>ロジックの修正・改良が自由にできます</li>
                        </ul>
                    `;
                    break;
                    
                case 'not-ex4':
                    resultIcon.textContent = '&#x2753;';
                    difficultyBadge.textContent = '要確認';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = 'ファイル形式の確認が必要です';
                    resultMessage.innerHTML = 'ex4ファイル以外の場合、デコンパイルサービスの対象外となる可能性があります。<br>まずはファイルをご確認ください。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f4cb; 確認事項</h4>
                        <ul>
                            <li>ファイル拡張子が.ex4または.mq4か確認してください</li>
                            <li>MT4のエキスパートフォルダに配置できるファイルか確認してください</li>
                            <li>不明な場合はお問い合わせください</li>
                        </ul>
                    `;
                    break;
                    
                case 'standard':
                    resultIcon.textContent = '&#x2705;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 高';
                    difficultyBadge.className = 'difficulty-badge easy';
                    resultTitle.textContent = 'デコンパイル可能です！';
                    resultMessage.innerHTML = '標準的な口座縛りのケースです。<br>デコンパイルと口座縛り解除が比較的スムーズに行える可能性が高いです。';
                    resultDetails.innerHTML = `
                        <h4>&#x2728; 期待できること</h4>
                        <ul>
                            <li>口座番号の制限を解除できます</li>
                            <li>ソースコードの取得が可能です</li>
                            <li>ロジックの確認・修正ができます</li>
                        </ul>
                    `;
                    break;
                    
                case 'moderate':
                    resultIcon.textContent = '&#x1f4a1;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 中〜高';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = 'デコンパイル対応可能です';
                    resultMessage.innerHTML = 'やや複雑な保護が施されている可能性がありますが、<br>多くの場合デコンパイルと解析が可能です。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f50d; 想定される内容</h4>
                        <ul>
                            <li>基本的な難読化への対応が必要</li>
                            <li>複数の認証ポイントの解除が必要な可能性</li>
                            <li>詳細な解析により対応可能</li>
                        </ul>
                    `;
                    break;
                    
                case 'complex':
                    resultIcon.textContent = '&#x1f527;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 中';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = '高度な解析で対応可能です';
                    resultMessage.innerHTML = '複雑な保護が施されている可能性がありますが、<br>専門的な技術により対応できるケースが多くあります。';
                    resultDetails.innerHTML = `
                        <h4>&#x2699; 対応について</h4>
                        <ul>
                            <li>DLLや複雑な認証への対応が必要な可能性</li>
                            <li>詳細なファイル解析が必要です</li>
                            <li>実績のある技術で対応いたします</li>
                        </ul>
                    `;
                    break;
                    
                case 'advanced':
                    resultIcon.textContent = '&#x1f3af;';
                    difficultyBadge.textContent = '要詳細診断';
                    difficultyBadge.className = 'difficulty-badge advanced';
                    resultTitle.textContent = '詳細診断が必要です';
                    resultMessage.innerHTML = '高度な保護技術が使用されている可能性があります。<br>実際のファイルを解析して対応可否を判断させていただきます。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f4ca; 次のステップ</h4>
                        <ul>
                            <li>まずは無料でファイル診断を行います</li>
                            <li>DLL解析やサーバー認証の回避技術を検討</li>
                            <li>複雑なケースでも対応実績があります</li>
                            <li>難易度に応じた見積もりをご提示します</li>
                        </ul>
                    `;
                    break;
            }
        }
    </script>
</body>
</html>




<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><strong>ea デコンパイル ツール</strong><br>このキーワードで検索している人は、もう入口にはいない。</p>



<p class="wp-block-paragraph">EX4は手元にある。<br>デコンパイルツールも一通り試した。<br>コードらしきものも見た。</p>



<p class="wp-block-paragraph">それでも、<br>「先に進めない」<br>「解除や復元まで辿り着かない」<br>そんな状態にいるはずだ。</p>



<p class="wp-block-paragraph">私は <strong>EX4デコンパイルを専門に扱うエンジニア</strong>として、<br>EAデコンパイルツールを一通り試した後に行き詰まった、という相談を何度も受けてきた。</p>



<p class="wp-block-paragraph">結論から言うと、<br><strong>EAデコンパイルツールを試したあとに残る道は、実は多くない。</strong><br>そして、それは失敗でも敗北でもない。</p>



<p class="wp-block-paragraph">もし今、<br>「ここから何を選べばいいのか分からない」<br>そう感じているなら、判断材料として一度ここを見ておくだけでも構わない。<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com">デコンパイルはこちら</a></p>



<h2 class="wp-block-heading">EAデコンパイルツールを使い切った状態とは</h2>



<p class="wp-block-paragraph">まず、状況を整理しておく。</p>



<p class="wp-block-paragraph">「ツールを試した」と言っても、<br>人によって差がある。</p>



<p class="wp-block-paragraph">この記事で想定しているのは、次の状態だ。</p>



<ul class="wp-block-list">
<li>一般的なEAデコンパイルツールを使用</li>



<li>コードの出力は確認できた</li>



<li>しかし解除や実用に至らない</li>
</ul>



<p class="wp-block-paragraph">ここまで来ているなら、<br><strong>できることはほぼやり切っている。</strong></p>



<h2 class="wp-block-heading">EAデコンパイルツールの役割と限界</h2>



<p class="wp-block-paragraph">EAデコンパイルツールの役割は明確だ。</p>



<p class="wp-block-paragraph">EX4という実行ファイルを解析し、<br>人が理解できる形に近づける。</p>



<p class="wp-block-paragraph">それ以上でも、それ以下でもない。</p>



<p class="wp-block-paragraph">つまり、</p>



<ul class="wp-block-list">
<li>構造を読む</li>



<li>処理の流れを掴む</li>



<li>設計の雰囲気を知る</li>
</ul>



<p class="wp-block-paragraph">ここまでがツールの仕事だ。</p>



<p class="wp-block-paragraph"><strong>解除・復元・再構築は、ツールの仕事ではない。</strong></p>



<h2 class="wp-block-heading">なぜツールの先に進めなくなるのか</h2>



<p class="wp-block-paragraph">多くの人が同じところで止まる。</p>



<p class="wp-block-paragraph">理由はシンプルだ。</p>



<h3 class="wp-block-heading">設計が「解除前提」ではない</h3>



<p class="wp-block-paragraph">最近のEAは、</p>



<ul class="wp-block-list">
<li>口座縛り</li>



<li>ブローカー制御</li>



<li>環境依存チェック</li>
</ul>



<p class="wp-block-paragraph">これらが<br>売買ロジックと一体化して設計されている。</p>



<p class="wp-block-paragraph">そのため、</p>



<p class="wp-block-paragraph">「制御だけ外す」<br>という操作が成立しない。</p>



<h3 class="wp-block-heading">コードが見えても意味が分からない</h3>



<p class="wp-block-paragraph">変数名は失われ、<br>コメントはなく、<br>文脈も消えている。</p>



<p class="wp-block-paragraph">読めるが、<br><strong>判断できないコード</strong>になる。</p>



<h3 class="wp-block-heading">修正＝再構築になる</h3>



<p class="wp-block-paragraph">少し手を入れた瞬間、<br>EAは別物になる。</p>



<p class="wp-block-paragraph">これは解除ではなく、<br>再設計だ。</p>



<h2 class="wp-block-heading">Ghidraを使っても残る現実</h2>



<p class="wp-block-paragraph">さらに踏み込む人は、<br><strong><a href="https://github.com/NationalSecurityAgency/ghidra">Ghidra</a></strong> を使う。</p>



<p class="wp-block-paragraph">逆アセンブル。<br>制御フロー解析。<br>構造の可視化。</p>



<p class="wp-block-paragraph">かなり深いところまで見える。</p>



<p class="wp-block-paragraph">だが、それでも止まる。</p>



<p class="wp-block-paragraph">理由は変わらない。</p>



<ul class="wp-block-list">
<li>MT4特有の内部構造</li>



<li>EA固有の設計思想</li>



<li>再構築前提の作り</li>
</ul>



<p class="wp-block-paragraph">Ghidraは解析を助けるが、<br>解決を約束するものではない。</p>



<p class="wp-block-paragraph">Ghidraを試したあとに残る課題については、<br>こちらで詳しく整理している。</p>



<p class="wp-block-paragraph">・<a href="https://mt4decompile.com/ex4-decompile-ghidra/">GhidraでEX4デコンパイルを試した後に残る課題とは</a></p>



<h2 class="wp-block-heading">EAデコンパイルツールを試した後に残る選択肢</h2>



<p class="wp-block-paragraph">ここがこの記事の核心だ。</p>



<p class="wp-block-paragraph">ツールを使い切ったあと、<br>残る選択肢は大きく分けて3つしかない。</p>



<h3 class="wp-block-heading">選択肢① 学習として割り切る</h3>



<p class="wp-block-paragraph">構造を理解できた。<br>設計思想を感じ取れた。</p>



<p class="wp-block-paragraph">それで十分、という選択。</p>



<p class="wp-block-paragraph">時間をかけて<br>自分で一からEAを書き直すなら、意味はある。</p>



<h3 class="wp-block-heading">選択肢② 完全に諦める</h3>



<p class="wp-block-paragraph">実用目的ではない。<br>リスクを取りたくない。</p>



<p class="wp-block-paragraph">この判断も、正しい。</p>



<p class="wp-block-paragraph">無理に触らないのは、<br>技術的にも健全だ。</p>



<h3 class="wp-block-heading">選択肢③ 再構築前提で切り替える</h3>



<p class="wp-block-paragraph">口座縛りを解除したい。<br>自分の環境で動かしたい。<br>元の挙動を維持したい。</p>



<p class="wp-block-paragraph">この目的なら、<br><strong>解析ではなく再構築が必要になる。</strong></p>



<p class="wp-block-paragraph">ここが、<br>「最終手段」と呼ばれる理由だ。</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com">デコンパイルはこちら</a></p>



<h2 class="wp-block-heading">最終手段は「力技」ではない</h2>



<p class="wp-block-paragraph">誤解されやすいが、<br>最終手段＝無理やり、ではない。</p>



<p class="wp-block-paragraph">むしろ逆だ。</p>



<ul class="wp-block-list">
<li>構造を理解した上で</li>



<li>設計を読み替え</li>



<li>同じ挙動を再現する</li>
</ul>



<p class="wp-block-paragraph"><strong>一番丁寧で、再現性の高いやり方</strong>になる。</p>



<p class="wp-block-paragraph">ツールでどうにもならない理由を、<br>正面から受け入れる手段でもある。</p>



<h2 class="wp-block-heading">ツールに戻ることはほぼない</h2>



<p class="wp-block-paragraph">ここまで来た人が、<br>再びツール探しに戻ることはほとんどない。</p>



<p class="wp-block-paragraph">理由は明確だ。</p>



<ul class="wp-block-list">
<li>ツールの限界を理解した</li>



<li>EA設計の壁を見た</li>



<li>次に進むしかないと分かった</li>
</ul>



<p class="wp-block-paragraph">この状態になると、<br>選択は自然に決まる。</p>



<h2 class="wp-block-heading">まとめの前に整理しておくこと</h2>



<p class="wp-block-paragraph">EAデコンパイルツールは、</p>



<p class="wp-block-paragraph">入口としては優秀。<br>学習用途にも向いている。</p>



<p class="wp-block-paragraph">だが、</p>



<p class="wp-block-paragraph">実用・解除・再現<br>ここまでは届かないケースが多い。</p>



<p class="wp-block-paragraph">それを理解できた時点で、<br>もう十分に進んでいる。</p>



<h2 class="wp-block-heading">まとめ｜EAデコンパイルツールの先にあるもの</h2>



<p class="wp-block-paragraph"><strong>EAデコンパイルツールを試した後に残る最終手段は、再構築前提の切り替え。</strong></p>



<p class="wp-block-paragraph">それは、</p>



<p class="wp-block-paragraph">失敗ではない。<br>遠回りでもない。<br><strong>現実的な到達点</strong>だ。</p>



<p class="wp-block-paragraph">だからこそ、</p>



<p class="wp-block-paragraph">解析を学習で終えるか。<br>再構築へ進むか。</p>



<p class="wp-block-paragraph">この判断だけが残る。</p>



<p class="wp-block-paragraph">もし今、<br>「ここからどう進むべきか考えている」<br>そう感じているなら、<br>判断材料としてここを確認しておくだけでも構わない。<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com">デコンパイルはこちら</a></p>



<p class="wp-block-paragraph">静かに、<br>必要な人だけが次に進めばいい。</p>



<p class="wp-block-paragraph"></p>
<p>投稿 <a href="https://mt4decompile.com/ea-decompile-tool/">EAデコンパイルツールを試した後に残る最終手段</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>EAデコンパイルソフトで対応できないEAの特徴</title>
		<link>https://mt4decompile.com/ea-decompile-software/</link>
		
		<dc:creator><![CDATA[MT4解除研究所運営者]]></dc:creator>
		<pubDate>Wed, 24 Dec 2025 04:08:19 +0000</pubDate>
				<category><![CDATA[方法]]></category>
		<guid isPermaLink="false">https://mt4decompile.com/?p=695</guid>

					<description><![CDATA[<p>MT4デコンパイル診断フォーム 🔍 デコンパイル可能性を診断 5つの質問で診断します（所要時間：約1分） 診断を開始する Q1 ファイルの拡張子は何ですか? .ex4ファイル .mq4ファイル(ソースコード) その他のフ...</p>
<p>投稿 <a href="https://mt4decompile.com/ea-decompile-software/">EAデコンパイルソフトで対応できないEAの特徴</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>MT4デコンパイル診断フォーム</title>
    <style>
        .mt4-diagnostic-form {
            max-width: 700px;
            margin: 20px auto;
            padding: 20px;
            background: #2d2d2d;
            border-radius: 8px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.3);
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            border: 1px solid #3d3d3d;
        }
        
        .form-content {
            position: relative;
        }
        
        .mt4-diagnostic-form h3 {
            color: #ffffff;
            text-align: center;
            margin-bottom: 4px;
            font-size: 20px;
            font-weight: 700;
        }
        
        .mt4-diagnostic-form .subtitle {
            text-align: center;
            color: #999;
            margin-bottom: 14px;
            font-size: 12px;
        }
        
        .question-block {
            background: #3a3a3a;
            padding: 14px;
            margin-bottom: 10px;
            border-radius: 6px;
            border-left: 3px solid #ff6b6b;
        }
        
        .question-block.hidden {
            display: none;
        }
        
        .question-title {
            font-weight: 600;
            color: #e0e0e0;
            margin-bottom: 10px;
            font-size: 13px;
            display: flex;
            align-items: center;
        }
        
        .question-number {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #ff6b6b;
            color: white;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            font-size: 11px;
            margin-right: 8px;
            font-weight: 700;
            flex-shrink: 0;
        }
        
        .options {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }
        
        .option-label {
            display: flex;
            align-items: center;
            padding: 8px 12px;
            background: #2d2d2d;
            border: 1px solid #4a4a4a;
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.2s ease;
            font-size: 13px;
            color: #ccc;
        }
        
        .option-label:hover {
            background: #353535;
            border-color: #ff6b6b;
            color: #fff;
        }
        
        .option-label input[type="radio"] {
            margin-right: 8px;
            cursor: pointer;
            accent-color: #ff6b6b;
        }
        
        .btn-container {
            text-align: center;
            margin-top: 12px;
        }
        
        .btn {
            padding: 9px 26px;
            font-size: 13px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.3s ease;
            font-weight: 600;
        }
        
        .btn-next {
            background: #ff6b6b;
            color: white;
        }
        
        .btn-next:hover {
            background: #ff5252;
            box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4);
        }
        
        .btn-next:disabled {
            background: #555;
            cursor: not-allowed;
            color: #888;
        }
        
        .result-container {
            background: #3a3a3a;
            padding: 20px;
            border-radius: 6px;
            text-align: center;
        }
        
        .result-container.hidden {
            display: none;
        }
        
        .result-icon {
            font-size: 44px;
            margin-bottom: 10px;
        }
        
        .result-title {
            font-size: 18px;
            font-weight: bold;
            color: #ffffff;
            margin-bottom: 8px;
        }
        
        .result-message {
            color: #ccc;
            margin-bottom: 14px;
            line-height: 1.6;
            font-size: 13px;
        }
        
        .result-details {
            background: #2d2d2d;
            padding: 12px;
            border-radius: 4px;
            margin-bottom: 14px;
            text-align: left;
            border: 1px solid #4a4a4a;
        }
        
        .result-details h4 {
            color: #ff6b6b;
            margin-bottom: 8px;
            font-size: 13px;
            font-weight: 600;
        }
        
        .result-details ul {
            margin: 0;
            padding-left: 18px;
            color: #aaa;
            font-size: 12px;
        }
        
        .result-details li {
            margin-bottom: 4px;
        }
        
        .difficulty-badge {
            display: inline-block;
            padding: 4px 12px;
            border-radius: 12px;
            font-size: 11px;
            font-weight: 600;
            margin-bottom: 12px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        
        .difficulty-badge.easy {
            background: #4caf50;
            color: white;
        }
        
        .difficulty-badge.medium {
            background: #ff9800;
            color: white;
        }
        
        .difficulty-badge.advanced {
            background: #ff6b6b;
            color: white;
        }
        
        .btn-cta {
            background: #ff6b6b;
            color: white;
            padding: 10px 28px;
            font-size: 14px;
            text-decoration: none;
            display: inline-block;
            border-radius: 4px;
            transition: all 0.3s ease;
            font-weight: 600;
        }
        
        .btn-cta:hover {
            background: #ff5252;
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
        }
        
        .progress-bar {
            width: 100%;
            height: 3px;
            background: #4a4a4a;
            border-radius: 2px;
            margin-bottom: 14px;
            overflow: hidden;
        }
        
        .progress-fill {
            height: 100%;
            background: #ff6b6b;
            transition: width 0.3s ease;
        }
        
        .note-box {
            background: #2d2d2d;
            padding: 10px;
            border-left: 3px solid #ff6b6b;
            border-radius: 4px;
            margin-top: 12px;
            text-align: left;
            font-size: 11px;
            color: #aaa;
            border: 1px solid #4a4a4a;
        }
        
        .intro-screen {
            background: #3a3a3a;
            padding: 24px;
            border-radius: 6px;
            text-align: center;
        }
        
        .intro-screen.hidden {
            display: none;
        }
        
        .intro-content {
            max-width: 500px;
            margin: 0 auto;
        }
        
        .intro-icon {
            font-size: 56px;
            margin-bottom: 14px;
        }
        
        .intro-content h4 {
            color: #fff;
            font-size: 20px;
            margin-bottom: 12px;
            font-weight: 600;
        }
        
        .intro-text {
            color: #ccc;
            font-size: 13px;
            line-height: 1.6;
            margin-bottom: 24px;
        }
        
        .btn-start {
            background: #ff6b6b;
            color: white;
            padding: 12px 36px;
            font-size: 15px;
            border-radius: 4px;
            font-weight: 600;
            border: none;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .btn-start:hover {
            background: #ff5252;
            box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
        }
    </style>
</head>
<body>
    <div class="mt4-diagnostic-form">
        <div class="form-content">
            
            <div class="progress-bar" id="progressBarContainer" style="display: none;">
                <div class="progress-fill" id="progressBar" style="width: 0%"></div>
            </div>
            
            <!-- イントロ画面 -->
            <div class="intro-screen" id="introScreen">
                <div class="intro-content">
                    <div class="intro-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50d.png" alt="🔍" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                    <h4>デコンパイル可能性を診断</h4>
                    <p class="intro-text">
                        5つの質問で診断します（所要時間：約1分）
                    </p>
                    <button type="button" class="btn btn-start" id="startBtn">診断を開始する</button>
                </div>
            </div>
        
        <form id="diagnosticForm" style="display: none;">
            <!-- 質問1 -->
            <div class="question-block" data-question="1">
                <div class="question-title">
                    <span class="question-number">Q1</span>
                    ファイルの拡張子は何ですか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q1" value="ex4" required>
                        .ex4ファイル
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q1" value="mq4">
                        .mq4ファイル(ソースコード)
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q1" value="other">
                        その他のファイル
                    </label>
                </div>
            </div>
            
            <!-- 質問2 -->
            <div class="question-block hidden" data-question="2">
                <div class="question-title">
                    <span class="question-number">Q2</span>
                    ファイルは特定の口座でしか動作しませんか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q2" value="yes" required>
                        はい、特定の口座でのみ動作します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q2" value="no">
                        いいえ、どの口座でも動作します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q2" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <!-- 質問3 -->
            <div class="question-block hidden" data-question="3">
                <div class="question-title">
                    <span class="question-number">Q3</span>
                    ファイルを開こうとしたときにエラーが表示されますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q3" value="account-error" required>
                        口座番号に関するエラーが表示される
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q3" value="other-error">
                        別のエラーが表示される
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q3" value="no-error">
                        エラーは表示されない
                    </label>
                </div>
            </div>
            
            <!-- 質問4 -->
            <div class="question-block hidden" data-question="4">
                <div class="question-title">
                    <span class="question-number">Q4</span>
                    EAが外部DLLファイルを使用していますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q4" value="yes" required>
                        はい、DLLファイルが必要です
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q4" value="no">
                        いいえ、使用していません
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q4" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <!-- 質問5 -->
            <div class="question-block hidden" data-question="5">
                <div class="question-title">
                    <span class="question-number">Q5</span>
                    起動時に外部サーバーでライセンス認証を行いますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q5" value="yes" required>
                        はい、外部サーバーで認証が必要です
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q5" value="no">
                        いいえ、ローカルで認証が完結します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q5" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <div class="btn-container">
                <button type="button" class="btn btn-next" id="nextBtn" disabled>次へ</button>
            </div>
        </form>
        
        <!-- 結果表示 -->
        <div class="result-container hidden" id="resultContainer">
            <div class="result-icon" id="resultIcon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
            <div class="difficulty-badge" id="difficultyBadge"></div>
            <div class="result-title" id="resultTitle"></div>
            <div class="result-message" id="resultMessage"></div>
            <div class="result-details" id="resultDetails"></div>
            <a href="https://formok.com/f/64hux0wy?case_id=4ZAMXB" class="btn-cta" target="_blank">
                詳しく相談する →
            </a>
            <div class="note-box">
                <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 最終的な判断には実際のファイル解析が必要です。まずはお気軽にご相談ください。
            </div>
        </div>
        </div>
    </div>

    <script>
        let currentQuestion = 0; // 0 = intro screen
        const totalQuestions = 5;
        const answers = {};
        
        const form = document.getElementById('diagnosticForm');
        const nextBtn = document.getElementById('nextBtn');
        const startBtn = document.getElementById('startBtn');
        const introScreen = document.getElementById('introScreen');
        const progressBar = document.getElementById('progressBar');
        const progressBarContainer = document.getElementById('progressBarContainer');
        const resultContainer = document.getElementById('resultContainer');
        
        // 診断開始ボタン
        startBtn.addEventListener('click', function() {
            introScreen.classList.add('hidden');
            form.style.display = 'block';
            progressBarContainer.style.display = 'block';
            currentQuestion = 1;
            showQuestion(1);
        });
        
        // 質問を表示
        function showQuestion(questionNum) {
            const questionBlock = document.querySelector(`[data-question="${questionNum}"]`);
            if (questionBlock) {
                questionBlock.classList.remove('hidden');
            }
        }
        
        // ラジオボタンの選択を監視
        form.addEventListener('change', function(e) {
            if (e.target.type === 'radio') {
                nextBtn.disabled = false;
                answers[e.target.name] = e.target.value;
            }
        });
        
        // 次へボタンのクリック処理
        nextBtn.addEventListener('click', function() {
            const currentQuestionBlock = document.querySelector(`[data-question="${currentQuestion}"]`);
            const selectedOption = form.querySelector(`input[name="q${currentQuestion}"]:checked`);
            
            if (!selectedOption) return;
            
            // 現在の質問を非表示
            currentQuestionBlock.classList.add('hidden');
            
            // 次の質問へ
            currentQuestion++;
            
            // プログレスバーを更新
            const progress = (currentQuestion / totalQuestions) * 100;
            progressBar.style.width = progress + '%';
            
            if (currentQuestion <= totalQuestions) {
                // 次の質問を表示
                showQuestion(currentQuestion);
                nextBtn.disabled = true;
                
                // 最後の質問の場合はボタンテキストを変更
                if (currentQuestion === totalQuestions) {
                    nextBtn.textContent = '診断結果を見る';
                }
            } else {
                // すべての質問が終わったら結果を表示
                showResult();
            }
        });
        
        function showResult() {
            form.style.display = 'none';
            document.querySelector('.progress-bar').style.display = 'none';
            resultContainer.classList.remove('hidden');
            
            // 回答に基づいて結果を判定
            const resultType = determineResultType();
            displayResult(resultType);
        }
        
        function determineResultType() {
            // スコアリングシステム
            let complexityScore = 0;
            
            // Q1: ファイル拡張子
            if (answers.q1 === 'mq4') {
                return 'already-source'; // すでにソースコード
            } else if (answers.q1 === 'other') {
                return 'not-ex4'; // ex4ファイルではない
            }
            
            // Q2: 口座縛り
            if (answers.q2 === 'yes') {
                complexityScore += 0; // 標準的なケース
            } else if (answers.q2 === 'no') {
                complexityScore += 1; // 口座縛りなし
            }
            
            // Q3: エラー表示
            if (answers.q3 === 'account-error') {
                complexityScore += 0; // 標準的な口座エラー
            } else if (answers.q3 === 'other-error') {
                complexityScore += 2; // 別のエラー
            }
            
            // Q4: DLL使用
            if (answers.q4 === 'yes') {
                complexityScore += 3; // DLL使用で複雑度アップ
            } else if (answers.q4 === 'no') {
                complexityScore += 0;
            } else {
                complexityScore += 1; // 不明
            }
            
            // Q5: オンライン認証
            if (answers.q5 === 'yes') {
                complexityScore += 3; // サーバー認証で複雑度アップ
            } else if (answers.q5 === 'no') {
                complexityScore += 0;
            } else {
                complexityScore += 1; // 不明
            }
            
            // スコアに基づいて結果タイプを決定
            if (complexityScore === 0) {
                return 'standard'; // 標準的なケース
            } else if (complexityScore <= 2) {
                return 'moderate'; // やや複雑
            } else if (complexityScore <= 4) {
                return 'complex'; // 複雑
            } else {
                return 'advanced'; // 高度な保護
            }
        }
        
        function displayResult(resultType) {
            const resultIcon = document.getElementById('resultIcon');
            const difficultyBadge = document.getElementById('difficultyBadge');
            const resultTitle = document.getElementById('resultTitle');
            const resultMessage = document.getElementById('resultMessage');
            const resultDetails = document.getElementById('resultDetails');
            
            switch(resultType) {
                case 'already-source':
                    resultIcon.textContent = '&#x1f4c4;';
                    difficultyBadge.textContent = '対応不要';
                    difficultyBadge.className = 'difficulty-badge easy';
                    resultTitle.textContent = 'すでにソースコードです！';
                    resultMessage.innerHTML = '.mq4ファイルはソースコードなので、デコンパイルの必要はありません。<br>そのまま編集・カスタマイズが可能です。';
                    resultDetails.innerHTML = `
                        <h4>&#x2705; 次のステップ</h4>
                        <ul>
                            <li>MetaEditorで直接編集できます</li>
                            <li>口座縛りの解除も容易に可能です</li>
                            <li>ロジックの修正・改良が自由にできます</li>
                        </ul>
                    `;
                    break;
                    
                case 'not-ex4':
                    resultIcon.textContent = '&#x2753;';
                    difficultyBadge.textContent = '要確認';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = 'ファイル形式の確認が必要です';
                    resultMessage.innerHTML = 'ex4ファイル以外の場合、デコンパイルサービスの対象外となる可能性があります。<br>まずはファイルをご確認ください。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f4cb; 確認事項</h4>
                        <ul>
                            <li>ファイル拡張子が.ex4または.mq4か確認してください</li>
                            <li>MT4のエキスパートフォルダに配置できるファイルか確認してください</li>
                            <li>不明な場合はお問い合わせください</li>
                        </ul>
                    `;
                    break;
                    
                case 'standard':
                    resultIcon.textContent = '&#x2705;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 高';
                    difficultyBadge.className = 'difficulty-badge easy';
                    resultTitle.textContent = 'デコンパイル可能です！';
                    resultMessage.innerHTML = '標準的な口座縛りのケースです。<br>デコンパイルと口座縛り解除が比較的スムーズに行える可能性が高いです。';
                    resultDetails.innerHTML = `
                        <h4>&#x2728; 期待できること</h4>
                        <ul>
                            <li>口座番号の制限を解除できます</li>
                            <li>ソースコードの取得が可能です</li>
                            <li>ロジックの確認・修正ができます</li>
                        </ul>
                    `;
                    break;
                    
                case 'moderate':
                    resultIcon.textContent = '&#x1f4a1;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 中〜高';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = 'デコンパイル対応可能です';
                    resultMessage.innerHTML = 'やや複雑な保護が施されている可能性がありますが、<br>多くの場合デコンパイルと解析が可能です。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f50d; 想定される内容</h4>
                        <ul>
                            <li>基本的な難読化への対応が必要</li>
                            <li>複数の認証ポイントの解除が必要な可能性</li>
                            <li>詳細な解析により対応可能</li>
                        </ul>
                    `;
                    break;
                    
                case 'complex':
                    resultIcon.textContent = '&#x1f527;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 中';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = '高度な解析で対応可能です';
                    resultMessage.innerHTML = '複雑な保護が施されている可能性がありますが、<br>専門的な技術により対応できるケースが多くあります。';
                    resultDetails.innerHTML = `
                        <h4>&#x2699; 対応について</h4>
                        <ul>
                            <li>DLLや複雑な認証への対応が必要な可能性</li>
                            <li>詳細なファイル解析が必要です</li>
                            <li>実績のある技術で対応いたします</li>
                        </ul>
                    `;
                    break;
                    
                case 'advanced':
                    resultIcon.textContent = '&#x1f3af;';
                    difficultyBadge.textContent = '要詳細診断';
                    difficultyBadge.className = 'difficulty-badge advanced';
                    resultTitle.textContent = '詳細診断が必要です';
                    resultMessage.innerHTML = '高度な保護技術が使用されている可能性があります。<br>実際のファイルを解析して対応可否を判断させていただきます。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f4ca; 次のステップ</h4>
                        <ul>
                            <li>まずは無料でファイル診断を行います</li>
                            <li>DLL解析やサーバー認証の回避技術を検討</li>
                            <li>複雑なケースでも対応実績があります</li>
                            <li>難易度に応じた見積もりをご提示します</li>
                        </ul>
                    `;
                    break;
            }
        }
    </script>
</body>
</html>




<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><strong>ea デコンパイル ソフト</strong><br>このキーワードで検索している人は、かなり具体的な段階にいる。</p>



<p class="wp-block-paragraph">EAは手元にある。<br>デコンパイルソフトも見つけた。<br>実際に動かしてみた。</p>



<p class="wp-block-paragraph">それでも、<br>「思ったように解析できない」<br>「解除や復元までたどり着かない」<br>そんな感覚を持っているはずだ。</p>



<p class="wp-block-paragraph">私は <strong>EX4デコンパイルを専門に扱うエンジニア</strong>として、<br>EAデコンパイルソフトを試した結果、途中で止まってしまったという相談を何度も受けてきた。</p>



<p class="wp-block-paragraph">結論から言うと、<br><strong>EAデコンパイルソフトでは、構造的に対応できないEAが確実に存在する。</strong><br>それはソフトの性能不足ではなく、EA側の設計によるものだ。</p>



<p class="wp-block-paragraph">もし今、<br>「なぜ自分のEAだけうまくいかないのか」<br>そう感じているなら、判断材料として一度ここを見ておくだけでも構わない。<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com">デコンパイルはこちら</a></p>



<h2 class="wp-block-heading">EAデコンパイルソフトは何をするためのものか</h2>



<p class="wp-block-paragraph">まず前提として、<br>EAデコンパイルソフトの役割を整理しておく。</p>



<p class="wp-block-paragraph">EAデコンパイルソフトは、<br>EX4という実行ファイルを解析し、<br>人が読める形のコード構造を表示するツールだ。</p>



<p class="wp-block-paragraph">重要なのは、<br><strong>復元ツールではない</strong>という点だ。</p>



<p class="wp-block-paragraph">できるのは、</p>



<ul class="wp-block-list">
<li>処理の流れを追う</li>



<li>条件分岐を可視化する</li>



<li>構造を把握する</li>
</ul>



<p class="wp-block-paragraph">ここまで。</p>



<p class="wp-block-paragraph">「元のEAを完全に再現する」<br>という用途は、最初から想定されていない。</p>



<h2 class="wp-block-heading">EAデコンパイルソフトで対応できないEAがある理由</h2>



<p class="wp-block-paragraph">EAデコンパイルソフトを使っても、<br>どうしても先に進めないEAがある。</p>



<p class="wp-block-paragraph">それは偶然ではない。</p>



<p class="wp-block-paragraph"><strong>EAの設計段階で、ソフト対応を前提としていない構造</strong><br>になっているからだ。</p>



<h2 class="wp-block-heading">EAデコンパイルソフトで対応できないEAの典型的な特徴</h2>



<p class="wp-block-paragraph">ここからが本題になる。</p>



<h3 class="wp-block-heading">特徴① 制御ロジックが売買ロジックに埋め込まれている</h3>



<p class="wp-block-paragraph">多くのEAでは、</p>



<p class="wp-block-paragraph">売買ロジック<br>制御ロジック</p>



<p class="wp-block-paragraph">が分離されていない。</p>



<p class="wp-block-paragraph">口座番号チェック。<br>ブローカー制限。<br>サーバー名判定。</p>



<p class="wp-block-paragraph">これらが<br>エントリー条件やロット計算に直接組み込まれていると、<br>「この部分を消せばいい」という話にならない。</p>



<p class="wp-block-paragraph">EAデコンパイルソフトでは、<br>この絡み合った構造をほどくことができない。</p>



<h3 class="wp-block-heading">特徴② 新しいMT4ビルドでコンパイルされている</h3>



<p class="wp-block-paragraph">EAは、<br>コンパイル時のMT4ビルドに強く依存する。</p>



<p class="wp-block-paragraph">比較的新しいビルドで作られたEX4は、</p>



<ul class="wp-block-list">
<li>解析途中で止まる</li>



<li>意味のないコードになる</li>



<li>出力が極端に欠落する</li>
</ul>



<p class="wp-block-paragraph">こうした現象が起きやすい。</p>



<p class="wp-block-paragraph">これはソフトの不具合ではない。</p>



<p class="wp-block-paragraph"><strong>ビルド非対応という構造的制限</strong>だ。</p>



<h3 class="wp-block-heading">特徴③ 変数名・文脈が完全に失われている</h3>



<p class="wp-block-paragraph">EAデコンパイルソフトが出力するコードは、</p>



<p class="wp-block-paragraph">var1<br>tmp_03<br>a7</p>



<p class="wp-block-paragraph">といった変数だらけになる。</p>



<p class="wp-block-paragraph">コメントはない。<br>設計意図も分からない。</p>



<p class="wp-block-paragraph">読めるが、<br><strong>何をしているコードなのか判断できない</strong>。</p>



<p class="wp-block-paragraph">この状態では、<br>解除すべき箇所を安全に特定できない。</p>



<h3 class="wp-block-heading">特徴④ 外部要素に強く依存している</h3>



<p class="wp-block-paragraph">DLL呼び出し。<br>外部ファイル。<br>サーバー通信。</p>



<p class="wp-block-paragraph">こうした外部依存があるEAは、<br>EAデコンパイルソフトでは再現できない。</p>



<p class="wp-block-paragraph">構造の一部が欠けたままになるため、<br>「解析できたように見えて、動かないEA」になる。</p>



<h2 class="wp-block-heading">「解析できた」と「対応できた」は違う</h2>



<p class="wp-block-paragraph">多くの人がここで混同する。</p>



<p class="wp-block-paragraph">コードが表示された。<br>だから、対応できた。</p>



<p class="wp-block-paragraph">実際は違う。</p>



<p class="wp-block-paragraph">重要なのは、</p>



<ul class="wp-block-list">
<li>コンパイルできるか</li>



<li>元と同じ挙動か</li>



<li>実用に耐えるか</li>
</ul>



<p class="wp-block-paragraph">EAデコンパイルソフトは、<br><strong>解析補助には使えても、対応を保証するものではない。</strong></p>



<h2 class="wp-block-heading">Ghidraを使っても残る課題</h2>



<p class="wp-block-paragraph">さらに踏み込む人は、<br><strong><a href="https://github.com/NationalSecurityAgency/ghidra">Ghidra</a></strong> を使う。</p>



<p class="wp-block-paragraph">逆アセンブル。<br>制御フロー解析。<br>かなり深いところまで見える。</p>



<p class="wp-block-paragraph">だが、それでも対応できないEAはある。</p>



<p class="wp-block-paragraph">理由は同じだ。</p>



<ul class="wp-block-list">
<li>MT4特有の構造</li>



<li>EA固有の設計</li>



<li>再構築前提のロジック</li>
</ul>



<p class="wp-block-paragraph">Ghidraは解析を助けるが、<br>対応や解除を保証するツールではない。</p>



<p class="wp-block-paragraph">Ghidraを試した後に残る課題については、<br>こちらで詳しく整理している。</p>



<p class="wp-block-paragraph">・<a href="https://mt4decompile.com/ex4-decompile-ghidra/">GhidraでEX4デコンパイルを試した後に残る課題とは</a></p>



<h2 class="wp-block-heading">EAデコンパイルソフトで止まった＝失敗ではない</h2>



<p class="wp-block-paragraph">EAデコンパイルソフトで止まったとき、<br>「自分のスキルが足りない」と感じる人は多い。</p>



<p class="wp-block-paragraph">だが実際は、<br><strong>EA側の設計で限界が決まっている</strong>ケースがほとんどだ。</p>



<p class="wp-block-paragraph">ソフトで対応できないのは、<br>珍しいことではない。</p>



<h2 class="wp-block-heading">切り替えるべき判断点</h2>



<p class="wp-block-paragraph">ここが重要だ。</p>



<p class="wp-block-paragraph">EAデコンパイルソフトで止まったあと、<br>次にどうするか。</p>



<h3 class="wp-block-heading">学習・研究目的なら続ける価値がある</h3>



<p class="wp-block-paragraph">構造を理解したい。<br>設計を学びたい。</p>



<p class="wp-block-paragraph">この場合、<br>解析だけでも十分に意味がある。</p>



<h3 class="wp-block-heading">実用目的なら切り替え時</h3>



<p class="wp-block-paragraph">口座縛りを解除したい。<br>自分の口座で動かしたい。<br>元の挙動を維持したい。</p>



<p class="wp-block-paragraph">この目的なら、<br><strong>対応できないと分かった時点が切り替えの判断点</strong>になる。</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com">デコンパイルはこちら</a></p>



<h2 class="wp-block-heading">EAデコンパイルソフトに期待しすぎない</h2>



<p class="wp-block-paragraph">よくある誤解がある。</p>



<p class="wp-block-paragraph">「もっと高性能なソフトなら何とかなる」<br>「別のツールを使えば対応できる」</p>



<p class="wp-block-paragraph">だが、<br><strong>ツールの差よりも、EA設計の差の方が大きい。</strong></p>



<p class="wp-block-paragraph">EAデコンパイルソフトは、</p>



<ul class="wp-block-list">
<li>入口として有効</li>



<li>限界も明確</li>
</ul>



<p class="wp-block-paragraph">この位置づけが一番現実的だ。</p>



<h2 class="wp-block-heading">まとめの前に整理しておくこと</h2>



<p class="wp-block-paragraph">EAデコンパイルソフトで対応できないEAには、</p>



<ul class="wp-block-list">
<li>制御の埋め込み</li>



<li>新しいビルド</li>



<li>文脈の喪失</li>



<li>外部依存</li>
</ul>



<p class="wp-block-paragraph">こうした特徴が重なっていることが多い。</p>



<h2 class="wp-block-heading">まとめ｜EAデコンパイルソフトの限界を知る</h2>



<p class="wp-block-paragraph"><strong>EAデコンパイルソフトで対応できないEAは、確実に存在する。</strong></p>



<p class="wp-block-paragraph">それは、</p>



<p class="wp-block-paragraph">ソフトの選択ミスではない。<br>使い方の問題でもない。<br><strong>EA設計の問題</strong>だ。</p>



<p class="wp-block-paragraph">だからこそ、</p>



<p class="wp-block-paragraph">解析を続けるか。<br>実用前提で切り替えるか。</p>



<p class="wp-block-paragraph">この判断が、<br>次の一手になる。</p>



<p class="wp-block-paragraph">もし今、<br>「なぜ対応できないのかを知りたかった」<br>そう感じているなら、<br>判断材料としてここを確認しておくだけでも構わない。<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com">デコンパイルはこちら</a></p>



<p class="wp-block-paragraph">静かに、<br>必要な人だけが次に進めばいい。</p>
<p>投稿 <a href="https://mt4decompile.com/ea-decompile-software/">EAデコンパイルソフトで対応できないEAの特徴</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>ex4 to mq4 decompiler 5.0 1 exeで復元できないEAの特徴</title>
		<link>https://mt4decompile.com/ex4-to-mq4-decompiler-501/</link>
		
		<dc:creator><![CDATA[MT4解除研究所運営者]]></dc:creator>
		<pubDate>Wed, 24 Dec 2025 03:57:21 +0000</pubDate>
				<category><![CDATA[方法]]></category>
		<guid isPermaLink="false">https://mt4decompile.com/?p=693</guid>

					<description><![CDATA[<p>MT4デコンパイル診断フォーム 🔍 デコンパイル可能性を診断 5つの質問で診断します（所要時間：約1分） 診断を開始する Q1 ファイルの拡張子は何ですか? .ex4ファイル .mq4ファイル(ソースコード) その他のフ...</p>
<p>投稿 <a href="https://mt4decompile.com/ex4-to-mq4-decompiler-501/">ex4 to mq4 decompiler 5.0 1 exeで復元できないEAの特徴</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>MT4デコンパイル診断フォーム</title>
    <style>
        .mt4-diagnostic-form {
            max-width: 700px;
            margin: 20px auto;
            padding: 20px;
            background: #2d2d2d;
            border-radius: 8px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.3);
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            border: 1px solid #3d3d3d;
        }
        
        .form-content {
            position: relative;
        }
        
        .mt4-diagnostic-form h3 {
            color: #ffffff;
            text-align: center;
            margin-bottom: 4px;
            font-size: 20px;
            font-weight: 700;
        }
        
        .mt4-diagnostic-form .subtitle {
            text-align: center;
            color: #999;
            margin-bottom: 14px;
            font-size: 12px;
        }
        
        .question-block {
            background: #3a3a3a;
            padding: 14px;
            margin-bottom: 10px;
            border-radius: 6px;
            border-left: 3px solid #ff6b6b;
        }
        
        .question-block.hidden {
            display: none;
        }
        
        .question-title {
            font-weight: 600;
            color: #e0e0e0;
            margin-bottom: 10px;
            font-size: 13px;
            display: flex;
            align-items: center;
        }
        
        .question-number {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #ff6b6b;
            color: white;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            font-size: 11px;
            margin-right: 8px;
            font-weight: 700;
            flex-shrink: 0;
        }
        
        .options {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }
        
        .option-label {
            display: flex;
            align-items: center;
            padding: 8px 12px;
            background: #2d2d2d;
            border: 1px solid #4a4a4a;
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.2s ease;
            font-size: 13px;
            color: #ccc;
        }
        
        .option-label:hover {
            background: #353535;
            border-color: #ff6b6b;
            color: #fff;
        }
        
        .option-label input[type="radio"] {
            margin-right: 8px;
            cursor: pointer;
            accent-color: #ff6b6b;
        }
        
        .btn-container {
            text-align: center;
            margin-top: 12px;
        }
        
        .btn {
            padding: 9px 26px;
            font-size: 13px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.3s ease;
            font-weight: 600;
        }
        
        .btn-next {
            background: #ff6b6b;
            color: white;
        }
        
        .btn-next:hover {
            background: #ff5252;
            box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4);
        }
        
        .btn-next:disabled {
            background: #555;
            cursor: not-allowed;
            color: #888;
        }
        
        .result-container {
            background: #3a3a3a;
            padding: 20px;
            border-radius: 6px;
            text-align: center;
        }
        
        .result-container.hidden {
            display: none;
        }
        
        .result-icon {
            font-size: 44px;
            margin-bottom: 10px;
        }
        
        .result-title {
            font-size: 18px;
            font-weight: bold;
            color: #ffffff;
            margin-bottom: 8px;
        }
        
        .result-message {
            color: #ccc;
            margin-bottom: 14px;
            line-height: 1.6;
            font-size: 13px;
        }
        
        .result-details {
            background: #2d2d2d;
            padding: 12px;
            border-radius: 4px;
            margin-bottom: 14px;
            text-align: left;
            border: 1px solid #4a4a4a;
        }
        
        .result-details h4 {
            color: #ff6b6b;
            margin-bottom: 8px;
            font-size: 13px;
            font-weight: 600;
        }
        
        .result-details ul {
            margin: 0;
            padding-left: 18px;
            color: #aaa;
            font-size: 12px;
        }
        
        .result-details li {
            margin-bottom: 4px;
        }
        
        .difficulty-badge {
            display: inline-block;
            padding: 4px 12px;
            border-radius: 12px;
            font-size: 11px;
            font-weight: 600;
            margin-bottom: 12px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        
        .difficulty-badge.easy {
            background: #4caf50;
            color: white;
        }
        
        .difficulty-badge.medium {
            background: #ff9800;
            color: white;
        }
        
        .difficulty-badge.advanced {
            background: #ff6b6b;
            color: white;
        }
        
        .btn-cta {
            background: #ff6b6b;
            color: white;
            padding: 10px 28px;
            font-size: 14px;
            text-decoration: none;
            display: inline-block;
            border-radius: 4px;
            transition: all 0.3s ease;
            font-weight: 600;
        }
        
        .btn-cta:hover {
            background: #ff5252;
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
        }
        
        .progress-bar {
            width: 100%;
            height: 3px;
            background: #4a4a4a;
            border-radius: 2px;
            margin-bottom: 14px;
            overflow: hidden;
        }
        
        .progress-fill {
            height: 100%;
            background: #ff6b6b;
            transition: width 0.3s ease;
        }
        
        .note-box {
            background: #2d2d2d;
            padding: 10px;
            border-left: 3px solid #ff6b6b;
            border-radius: 4px;
            margin-top: 12px;
            text-align: left;
            font-size: 11px;
            color: #aaa;
            border: 1px solid #4a4a4a;
        }
        
        .intro-screen {
            background: #3a3a3a;
            padding: 24px;
            border-radius: 6px;
            text-align: center;
        }
        
        .intro-screen.hidden {
            display: none;
        }
        
        .intro-content {
            max-width: 500px;
            margin: 0 auto;
        }
        
        .intro-icon {
            font-size: 56px;
            margin-bottom: 14px;
        }
        
        .intro-content h4 {
            color: #fff;
            font-size: 20px;
            margin-bottom: 12px;
            font-weight: 600;
        }
        
        .intro-text {
            color: #ccc;
            font-size: 13px;
            line-height: 1.6;
            margin-bottom: 24px;
        }
        
        .btn-start {
            background: #ff6b6b;
            color: white;
            padding: 12px 36px;
            font-size: 15px;
            border-radius: 4px;
            font-weight: 600;
            border: none;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .btn-start:hover {
            background: #ff5252;
            box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
        }
    </style>
</head>
<body>
    <div class="mt4-diagnostic-form">
        <div class="form-content">
            
            <div class="progress-bar" id="progressBarContainer" style="display: none;">
                <div class="progress-fill" id="progressBar" style="width: 0%"></div>
            </div>
            
            <!-- イントロ画面 -->
            <div class="intro-screen" id="introScreen">
                <div class="intro-content">
                    <div class="intro-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50d.png" alt="🔍" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                    <h4>デコンパイル可能性を診断</h4>
                    <p class="intro-text">
                        5つの質問で診断します（所要時間：約1分）
                    </p>
                    <button type="button" class="btn btn-start" id="startBtn">診断を開始する</button>
                </div>
            </div>
        
        <form id="diagnosticForm" style="display: none;">
            <!-- 質問1 -->
            <div class="question-block" data-question="1">
                <div class="question-title">
                    <span class="question-number">Q1</span>
                    ファイルの拡張子は何ですか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q1" value="ex4" required>
                        .ex4ファイル
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q1" value="mq4">
                        .mq4ファイル(ソースコード)
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q1" value="other">
                        その他のファイル
                    </label>
                </div>
            </div>
            
            <!-- 質問2 -->
            <div class="question-block hidden" data-question="2">
                <div class="question-title">
                    <span class="question-number">Q2</span>
                    ファイルは特定の口座でしか動作しませんか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q2" value="yes" required>
                        はい、特定の口座でのみ動作します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q2" value="no">
                        いいえ、どの口座でも動作します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q2" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <!-- 質問3 -->
            <div class="question-block hidden" data-question="3">
                <div class="question-title">
                    <span class="question-number">Q3</span>
                    ファイルを開こうとしたときにエラーが表示されますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q3" value="account-error" required>
                        口座番号に関するエラーが表示される
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q3" value="other-error">
                        別のエラーが表示される
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q3" value="no-error">
                        エラーは表示されない
                    </label>
                </div>
            </div>
            
            <!-- 質問4 -->
            <div class="question-block hidden" data-question="4">
                <div class="question-title">
                    <span class="question-number">Q4</span>
                    EAが外部DLLファイルを使用していますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q4" value="yes" required>
                        はい、DLLファイルが必要です
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q4" value="no">
                        いいえ、使用していません
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q4" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <!-- 質問5 -->
            <div class="question-block hidden" data-question="5">
                <div class="question-title">
                    <span class="question-number">Q5</span>
                    起動時に外部サーバーでライセンス認証を行いますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q5" value="yes" required>
                        はい、外部サーバーで認証が必要です
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q5" value="no">
                        いいえ、ローカルで認証が完結します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q5" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <div class="btn-container">
                <button type="button" class="btn btn-next" id="nextBtn" disabled>次へ</button>
            </div>
        </form>
        
        <!-- 結果表示 -->
        <div class="result-container hidden" id="resultContainer">
            <div class="result-icon" id="resultIcon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
            <div class="difficulty-badge" id="difficultyBadge"></div>
            <div class="result-title" id="resultTitle"></div>
            <div class="result-message" id="resultMessage"></div>
            <div class="result-details" id="resultDetails"></div>
            <a href="https://formok.com/f/64hux0wy?case_id=4ZAMXB" class="btn-cta" target="_blank">
                詳しく相談する →
            </a>
            <div class="note-box">
                <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 最終的な判断には実際のファイル解析が必要です。まずはお気軽にご相談ください。
            </div>
        </div>
        </div>
    </div>

    <script>
        let currentQuestion = 0; // 0 = intro screen
        const totalQuestions = 5;
        const answers = {};
        
        const form = document.getElementById('diagnosticForm');
        const nextBtn = document.getElementById('nextBtn');
        const startBtn = document.getElementById('startBtn');
        const introScreen = document.getElementById('introScreen');
        const progressBar = document.getElementById('progressBar');
        const progressBarContainer = document.getElementById('progressBarContainer');
        const resultContainer = document.getElementById('resultContainer');
        
        // 診断開始ボタン
        startBtn.addEventListener('click', function() {
            introScreen.classList.add('hidden');
            form.style.display = 'block';
            progressBarContainer.style.display = 'block';
            currentQuestion = 1;
            showQuestion(1);
        });
        
        // 質問を表示
        function showQuestion(questionNum) {
            const questionBlock = document.querySelector(`[data-question="${questionNum}"]`);
            if (questionBlock) {
                questionBlock.classList.remove('hidden');
            }
        }
        
        // ラジオボタンの選択を監視
        form.addEventListener('change', function(e) {
            if (e.target.type === 'radio') {
                nextBtn.disabled = false;
                answers[e.target.name] = e.target.value;
            }
        });
        
        // 次へボタンのクリック処理
        nextBtn.addEventListener('click', function() {
            const currentQuestionBlock = document.querySelector(`[data-question="${currentQuestion}"]`);
            const selectedOption = form.querySelector(`input[name="q${currentQuestion}"]:checked`);
            
            if (!selectedOption) return;
            
            // 現在の質問を非表示
            currentQuestionBlock.classList.add('hidden');
            
            // 次の質問へ
            currentQuestion++;
            
            // プログレスバーを更新
            const progress = (currentQuestion / totalQuestions) * 100;
            progressBar.style.width = progress + '%';
            
            if (currentQuestion <= totalQuestions) {
                // 次の質問を表示
                showQuestion(currentQuestion);
                nextBtn.disabled = true;
                
                // 最後の質問の場合はボタンテキストを変更
                if (currentQuestion === totalQuestions) {
                    nextBtn.textContent = '診断結果を見る';
                }
            } else {
                // すべての質問が終わったら結果を表示
                showResult();
            }
        });
        
        function showResult() {
            form.style.display = 'none';
            document.querySelector('.progress-bar').style.display = 'none';
            resultContainer.classList.remove('hidden');
            
            // 回答に基づいて結果を判定
            const resultType = determineResultType();
            displayResult(resultType);
        }
        
        function determineResultType() {
            // スコアリングシステム
            let complexityScore = 0;
            
            // Q1: ファイル拡張子
            if (answers.q1 === 'mq4') {
                return 'already-source'; // すでにソースコード
            } else if (answers.q1 === 'other') {
                return 'not-ex4'; // ex4ファイルではない
            }
            
            // Q2: 口座縛り
            if (answers.q2 === 'yes') {
                complexityScore += 0; // 標準的なケース
            } else if (answers.q2 === 'no') {
                complexityScore += 1; // 口座縛りなし
            }
            
            // Q3: エラー表示
            if (answers.q3 === 'account-error') {
                complexityScore += 0; // 標準的な口座エラー
            } else if (answers.q3 === 'other-error') {
                complexityScore += 2; // 別のエラー
            }
            
            // Q4: DLL使用
            if (answers.q4 === 'yes') {
                complexityScore += 3; // DLL使用で複雑度アップ
            } else if (answers.q4 === 'no') {
                complexityScore += 0;
            } else {
                complexityScore += 1; // 不明
            }
            
            // Q5: オンライン認証
            if (answers.q5 === 'yes') {
                complexityScore += 3; // サーバー認証で複雑度アップ
            } else if (answers.q5 === 'no') {
                complexityScore += 0;
            } else {
                complexityScore += 1; // 不明
            }
            
            // スコアに基づいて結果タイプを決定
            if (complexityScore === 0) {
                return 'standard'; // 標準的なケース
            } else if (complexityScore <= 2) {
                return 'moderate'; // やや複雑
            } else if (complexityScore <= 4) {
                return 'complex'; // 複雑
            } else {
                return 'advanced'; // 高度な保護
            }
        }
        
        function displayResult(resultType) {
            const resultIcon = document.getElementById('resultIcon');
            const difficultyBadge = document.getElementById('difficultyBadge');
            const resultTitle = document.getElementById('resultTitle');
            const resultMessage = document.getElementById('resultMessage');
            const resultDetails = document.getElementById('resultDetails');
            
            switch(resultType) {
                case 'already-source':
                    resultIcon.textContent = '&#x1f4c4;';
                    difficultyBadge.textContent = '対応不要';
                    difficultyBadge.className = 'difficulty-badge easy';
                    resultTitle.textContent = 'すでにソースコードです！';
                    resultMessage.innerHTML = '.mq4ファイルはソースコードなので、デコンパイルの必要はありません。<br>そのまま編集・カスタマイズが可能です。';
                    resultDetails.innerHTML = `
                        <h4>&#x2705; 次のステップ</h4>
                        <ul>
                            <li>MetaEditorで直接編集できます</li>
                            <li>口座縛りの解除も容易に可能です</li>
                            <li>ロジックの修正・改良が自由にできます</li>
                        </ul>
                    `;
                    break;
                    
                case 'not-ex4':
                    resultIcon.textContent = '&#x2753;';
                    difficultyBadge.textContent = '要確認';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = 'ファイル形式の確認が必要です';
                    resultMessage.innerHTML = 'ex4ファイル以外の場合、デコンパイルサービスの対象外となる可能性があります。<br>まずはファイルをご確認ください。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f4cb; 確認事項</h4>
                        <ul>
                            <li>ファイル拡張子が.ex4または.mq4か確認してください</li>
                            <li>MT4のエキスパートフォルダに配置できるファイルか確認してください</li>
                            <li>不明な場合はお問い合わせください</li>
                        </ul>
                    `;
                    break;
                    
                case 'standard':
                    resultIcon.textContent = '&#x2705;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 高';
                    difficultyBadge.className = 'difficulty-badge easy';
                    resultTitle.textContent = 'デコンパイル可能です！';
                    resultMessage.innerHTML = '標準的な口座縛りのケースです。<br>デコンパイルと口座縛り解除が比較的スムーズに行える可能性が高いです。';
                    resultDetails.innerHTML = `
                        <h4>&#x2728; 期待できること</h4>
                        <ul>
                            <li>口座番号の制限を解除できます</li>
                            <li>ソースコードの取得が可能です</li>
                            <li>ロジックの確認・修正ができます</li>
                        </ul>
                    `;
                    break;
                    
                case 'moderate':
                    resultIcon.textContent = '&#x1f4a1;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 中〜高';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = 'デコンパイル対応可能です';
                    resultMessage.innerHTML = 'やや複雑な保護が施されている可能性がありますが、<br>多くの場合デコンパイルと解析が可能です。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f50d; 想定される内容</h4>
                        <ul>
                            <li>基本的な難読化への対応が必要</li>
                            <li>複数の認証ポイントの解除が必要な可能性</li>
                            <li>詳細な解析により対応可能</li>
                        </ul>
                    `;
                    break;
                    
                case 'complex':
                    resultIcon.textContent = '&#x1f527;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 中';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = '高度な解析で対応可能です';
                    resultMessage.innerHTML = '複雑な保護が施されている可能性がありますが、<br>専門的な技術により対応できるケースが多くあります。';
                    resultDetails.innerHTML = `
                        <h4>&#x2699; 対応について</h4>
                        <ul>
                            <li>DLLや複雑な認証への対応が必要な可能性</li>
                            <li>詳細なファイル解析が必要です</li>
                            <li>実績のある技術で対応いたします</li>
                        </ul>
                    `;
                    break;
                    
                case 'advanced':
                    resultIcon.textContent = '&#x1f3af;';
                    difficultyBadge.textContent = '要詳細診断';
                    difficultyBadge.className = 'difficulty-badge advanced';
                    resultTitle.textContent = '詳細診断が必要です';
                    resultMessage.innerHTML = '高度な保護技術が使用されている可能性があります。<br>実際のファイルを解析して対応可否を判断させていただきます。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f4ca; 次のステップ</h4>
                        <ul>
                            <li>まずは無料でファイル診断を行います</li>
                            <li>DLL解析やサーバー認証の回避技術を検討</li>
                            <li>複雑なケースでも対応実績があります</li>
                            <li>難易度に応じた見積もりをご提示します</li>
                        </ul>
                    `;
                    break;
            }
        }
    </script>
</body>
</html>




<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><strong>ex4 to mq4 decompiler 5.0 1 exe</strong><br>このキーワードで検索している人は、かなり具体的なところまで来ている。</p>



<p class="wp-block-paragraph">すでにツールは知っている。<br>実際にexeも動かした。<br>コードらしきものも、もしかすると表示された。</p>



<p class="wp-block-paragraph">それでも、<br>「復元できない」<br>「使える形にならない」<br>そこで止まっている。</p>



<p class="wp-block-paragraph">私は <strong>EX4デコンパイルを専門に扱うエンジニア</strong>として、<br>ex4-to-mq4-decompiler-5.0.1.exeを試した後に詰まった、という相談を何度も受けてきた。</p>



<p class="wp-block-paragraph">結論から言うと、<br><strong>このツールで復元できないEAには、かなりはっきりした特徴がある。</strong><br>そして、それはツールの使い方の問題ではない。</p>



<p class="wp-block-paragraph">もし今、<br>「なぜ自分のEAだけ復元できないのか」<br>そう感じているなら、判断材料として一度ここを見ておくだけでも構わない。<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com">デコンパイルはこちら</a></p>



<h2 class="wp-block-heading">ex4 to mq4 decompiler 5.0 1 exeとは何ができるツールか</h2>



<p class="wp-block-paragraph">まず前提として、このツールの立ち位置を整理しておく。</p>



<p class="wp-block-paragraph"><a href="https://hybrid-analysis.com/sample/0b4dd2da67ffdbde92f49b306e5da293d22f5b537284256a838cf1ba5b3521b3/5bc23f147ca3e10a2d6b16b5">ex4 to mq4 decompiler 5.0 1 exe</a>は、<br>EX4ファイルを解析し、<br>mq4に近い構造のコードを出力するタイプのデコンパイラだ。</p>



<p class="wp-block-paragraph">比較的有名で、<br>検索すると名前を見かけることも多い。</p>



<p class="wp-block-paragraph">一部のEAでは、</p>



<ul class="wp-block-list">
<li>if文が展開される</li>



<li>関数構造が表示される</li>



<li>処理の流れが追える</li>
</ul>



<p class="wp-block-paragraph">ここまではできる。</p>



<p class="wp-block-paragraph">だが、<br><strong>「復元できる」と「解析できる」は同じではない。</strong></p>



<h2 class="wp-block-heading">復元できないEAが存在する理由</h2>



<p class="wp-block-paragraph">ex4-to-mq4-decompiler-5.0.1.exeを使っても、<br>どうしても復元できないEAがある。</p>



<p class="wp-block-paragraph">それは偶然ではない。</p>



<p class="wp-block-paragraph">EAの設計段階で、<br>すでに「復元しづらい構造」になっているからだ。</p>



<h2 class="wp-block-heading">復元できないEAの典型的な特徴</h2>



<p class="wp-block-paragraph">ここからが本題になる。</p>



<h3 class="wp-block-heading">特徴① 新しいMT4ビルドでコンパイルされている</h3>



<p class="wp-block-paragraph">このツールは、<br>対応できるMT4ビルドに限界がある。</p>



<p class="wp-block-paragraph">比較的新しいビルドで作られたEX4は、</p>



<ul class="wp-block-list">
<li>解析が途中で止まる</li>



<li>何も出力されない</li>



<li>意味のないコードになる</li>
</ul>



<p class="wp-block-paragraph">こうした結果になりやすい。</p>



<p class="wp-block-paragraph">これは、<br>exeの不具合ではなく、<br><strong>ビルド非対応</strong>によるものだ。</p>



<h3 class="wp-block-heading">特徴② 制御ロジックが深く埋め込まれている</h3>



<p class="wp-block-paragraph">口座縛り。<br>ブローカー判定。<br>サーバー名チェック。</p>



<p class="wp-block-paragraph">これらの制御が、</p>



<p class="wp-block-paragraph">売買条件の中<br>エントリー条件の分岐<br>ロット計算ロジック</p>



<p class="wp-block-paragraph">こうした部分に混ざっているEAは、<br>復元が非常に難しい。</p>



<p class="wp-block-paragraph">コードは出る。<br>だが、<br>どこをどう直せばいいのか分からない。</p>



<h3 class="wp-block-heading">特徴③ 変数名・文脈が完全に失われている</h3>



<p class="wp-block-paragraph">出力されたコードを見ると、</p>



<p class="wp-block-paragraph">a1<br>b2<br>tmp_07</p>



<p class="wp-block-paragraph">このような変数が並ぶ。</p>



<p class="wp-block-paragraph">コメントもない。<br>処理の意図も読み取れない。</p>



<p class="wp-block-paragraph"><strong>読めるが、理解できない。</strong></p>



<p class="wp-block-paragraph">この状態では、<br>復元というより「推測作業」になる。</p>



<h3 class="wp-block-heading">特徴④ 外部要素に依存している</h3>



<p class="wp-block-paragraph">DLL呼び出し。<br>外部ファイル。<br>サーバー通信。</p>



<p class="wp-block-paragraph">こうした要素を含むEAは、<br>ex4-to-mq4-decompiler-5.0.1.exeでは再現できない。</p>



<p class="wp-block-paragraph">構造の一部が欠けた状態になるため、<br>動くEAにはならない。</p>



<h2 class="wp-block-heading">「コードが出た＝復元できた」ではない</h2>



<p class="wp-block-paragraph">ここで、多くの人が勘違いする。</p>



<p class="wp-block-paragraph">コードが表示された。<br>だから、復元できた。</p>



<p class="wp-block-paragraph">実際は違う。</p>



<p class="wp-block-paragraph">重要なのは、</p>



<ul class="wp-block-list">
<li>コンパイルできるか</li>



<li>元と同じ挙動か</li>



<li>実戦で使えるか</li>
</ul>



<p class="wp-block-paragraph">この3点だ。</p>



<p class="wp-block-paragraph">ex4-to-mq4-decompiler-5.0.1.exeは、<br><strong>解析補助としては有効だが、復元を保証するツールではない。</strong></p>



<h2 class="wp-block-heading">Ghidraを併用しても残る壁</h2>



<p class="wp-block-paragraph">さらに一歩踏み込む人は、<br><strong><a href="https://github.com/NationalSecurityAgency/ghidra">Ghidra</a></strong> を使う。</p>



<p class="wp-block-paragraph">逆アセンブル。<br>フロー解析。<br>かなり深いところまで見える。</p>



<p class="wp-block-paragraph">それでも、<br>復元できないEAは復元できない。</p>



<p class="wp-block-paragraph">理由は変わらない。</p>



<ul class="wp-block-list">
<li>MT4特有の内部構造</li>



<li>EA固有の設計思想</li>



<li>再構築前提の作り</li>
</ul>



<p class="wp-block-paragraph">Ghidraは解析を助けるが、<br>復元を約束するものではない。</p>



<p class="wp-block-paragraph">Ghidraを使ったあとに残る課題については、<br>こちらの記事で詳しく整理している。</p>



<p class="wp-block-paragraph">・<a href="https://mt4decompile.com/ex4-decompile-ghidra/">GhidraでEX4デコンパイルを試した後に残る課題とは</a></p>



<h2 class="wp-block-heading">このツールで復元できない＝失敗ではない</h2>



<p class="wp-block-paragraph">ex4-to-mq4-decompiler-5.0.1.exeで<br>復元できなかったとき、</p>



<p class="wp-block-paragraph">「自分のやり方が悪い」<br>そう思う人は多い。</p>



<p class="wp-block-paragraph">だが実際は、<br><strong>EA側の設計で最初から難易度が決まっている。</strong></p>



<p class="wp-block-paragraph">このツールで止まるのは、<br>能力不足ではない。</p>



<h2 class="wp-block-heading">切り替えるべき判断点</h2>



<p class="wp-block-paragraph">ここが重要だ。</p>



<p class="wp-block-paragraph">復元できないと分かったあと、<br>次にどうするか。</p>



<h3 class="wp-block-heading">学習・解析目的なら続ける価値がある</h3>



<p class="wp-block-paragraph">構造を理解したい。<br>EA設計を学びたい。</p>



<p class="wp-block-paragraph">この場合、<br>出力されたコードを読むだけでも意味はある。</p>



<h3 class="wp-block-heading">実用目的なら切り替え時</h3>



<p class="wp-block-paragraph">口座縛りを解除したい。<br>自分の口座で動かしたい。<br>元の挙動を維持したい。</p>



<p class="wp-block-paragraph">この目的なら、<br><strong>復元できないと分かった時点が切り替えの判断点</strong>になる。</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com">デコンパイルはこちら</a></p>



<h2 class="wp-block-heading">ex4 to mq4 decompiler 5.0 1 exeに期待しすぎない</h2>



<p class="wp-block-paragraph">よくある誤解がある。</p>



<p class="wp-block-paragraph">「このツールなら何とかなる」<br>「もっと使い込めば復元できる」</p>



<p class="wp-block-paragraph">だが、<br><strong>ツールの性能以上に、EAの設計が影響する。</strong></p>



<p class="wp-block-paragraph">このツールは、</p>



<ul class="wp-block-list">
<li>入口としては優秀</li>



<li>限界もはっきりしている</li>
</ul>



<p class="wp-block-paragraph">そういう位置づけだ。</p>



<h2 class="wp-block-heading">まとめの前に整理しておくこと</h2>



<p class="wp-block-paragraph">ex4-to-mq4-decompiler-5.0.1.exeで<br>復元できないEAには、</p>



<ul class="wp-block-list">
<li>新しいビルド</li>



<li>制御の埋め込み</li>



<li>文脈喪失</li>



<li>外部依存</li>
</ul>



<p class="wp-block-paragraph">こうした特徴が重なっていることが多い。</p>



<h2 class="wp-block-heading">まとめ｜復元できないEAには理由がある</h2>



<p class="wp-block-paragraph"><strong>ex4-to-mq4-decompiler-5.0.1.exeで復元できないEAは、珍しくない。</strong></p>



<p class="wp-block-paragraph">それは、</p>



<p class="wp-block-paragraph">ツール選びの失敗ではない。<br>使い方の問題でもない。<br><strong>EA設計の問題</strong>だ。</p>



<p class="wp-block-paragraph">だからこそ、</p>



<p class="wp-block-paragraph">解析を続けるか。<br>実用前提で切り替えるか。</p>



<p class="wp-block-paragraph">その判断が、<br>次の一手になる。</p>



<p class="wp-block-paragraph">もし今、<br>「復元できない理由を知りたかった」<br>そう感じているなら、<br>判断材料としてここを確認しておくだけでも構わない。<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com">デコンパイルはこちら</a></p>



<p class="wp-block-paragraph">静かに、<br>必要な人だけが次に進めばいい。</p>
<p>投稿 <a href="https://mt4decompile.com/ex4-to-mq4-decompiler-501/">ex4 to mq4 decompiler 5.0 1 exeで復元できないEAの特徴</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>ex4 to mq4 decompilerの使い方と、解除依頼に切り替える判断点</title>
		<link>https://mt4decompile.com/ex4-to-mq4-decompiler-usage/</link>
		
		<dc:creator><![CDATA[MT4解除研究所運営者]]></dc:creator>
		<pubDate>Wed, 24 Dec 2025 03:49:17 +0000</pubDate>
				<category><![CDATA[方法]]></category>
		<guid isPermaLink="false">https://mt4decompile.com/?p=689</guid>

					<description><![CDATA[<p>MT4デコンパイル診断フォーム 🔍 デコンパイル可能性を診断 5つの質問で診断します（所要時間：約1分） 診断を開始する Q1 ファイルの拡張子は何ですか? .ex4ファイル .mq4ファイル(ソースコード) その他のフ...</p>
<p>投稿 <a href="https://mt4decompile.com/ex4-to-mq4-decompiler-usage/">ex4 to mq4 decompilerの使い方と、解除依頼に切り替える判断点</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>MT4デコンパイル診断フォーム</title>
    <style>
        .mt4-diagnostic-form {
            max-width: 700px;
            margin: 20px auto;
            padding: 20px;
            background: #2d2d2d;
            border-radius: 8px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.3);
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            border: 1px solid #3d3d3d;
        }
        
        .form-content {
            position: relative;
        }
        
        .mt4-diagnostic-form h3 {
            color: #ffffff;
            text-align: center;
            margin-bottom: 4px;
            font-size: 20px;
            font-weight: 700;
        }
        
        .mt4-diagnostic-form .subtitle {
            text-align: center;
            color: #999;
            margin-bottom: 14px;
            font-size: 12px;
        }
        
        .question-block {
            background: #3a3a3a;
            padding: 14px;
            margin-bottom: 10px;
            border-radius: 6px;
            border-left: 3px solid #ff6b6b;
        }
        
        .question-block.hidden {
            display: none;
        }
        
        .question-title {
            font-weight: 600;
            color: #e0e0e0;
            margin-bottom: 10px;
            font-size: 13px;
            display: flex;
            align-items: center;
        }
        
        .question-number {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #ff6b6b;
            color: white;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            font-size: 11px;
            margin-right: 8px;
            font-weight: 700;
            flex-shrink: 0;
        }
        
        .options {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }
        
        .option-label {
            display: flex;
            align-items: center;
            padding: 8px 12px;
            background: #2d2d2d;
            border: 1px solid #4a4a4a;
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.2s ease;
            font-size: 13px;
            color: #ccc;
        }
        
        .option-label:hover {
            background: #353535;
            border-color: #ff6b6b;
            color: #fff;
        }
        
        .option-label input[type="radio"] {
            margin-right: 8px;
            cursor: pointer;
            accent-color: #ff6b6b;
        }
        
        .btn-container {
            text-align: center;
            margin-top: 12px;
        }
        
        .btn {
            padding: 9px 26px;
            font-size: 13px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.3s ease;
            font-weight: 600;
        }
        
        .btn-next {
            background: #ff6b6b;
            color: white;
        }
        
        .btn-next:hover {
            background: #ff5252;
            box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4);
        }
        
        .btn-next:disabled {
            background: #555;
            cursor: not-allowed;
            color: #888;
        }
        
        .result-container {
            background: #3a3a3a;
            padding: 20px;
            border-radius: 6px;
            text-align: center;
        }
        
        .result-container.hidden {
            display: none;
        }
        
        .result-icon {
            font-size: 44px;
            margin-bottom: 10px;
        }
        
        .result-title {
            font-size: 18px;
            font-weight: bold;
            color: #ffffff;
            margin-bottom: 8px;
        }
        
        .result-message {
            color: #ccc;
            margin-bottom: 14px;
            line-height: 1.6;
            font-size: 13px;
        }
        
        .result-details {
            background: #2d2d2d;
            padding: 12px;
            border-radius: 4px;
            margin-bottom: 14px;
            text-align: left;
            border: 1px solid #4a4a4a;
        }
        
        .result-details h4 {
            color: #ff6b6b;
            margin-bottom: 8px;
            font-size: 13px;
            font-weight: 600;
        }
        
        .result-details ul {
            margin: 0;
            padding-left: 18px;
            color: #aaa;
            font-size: 12px;
        }
        
        .result-details li {
            margin-bottom: 4px;
        }
        
        .difficulty-badge {
            display: inline-block;
            padding: 4px 12px;
            border-radius: 12px;
            font-size: 11px;
            font-weight: 600;
            margin-bottom: 12px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        
        .difficulty-badge.easy {
            background: #4caf50;
            color: white;
        }
        
        .difficulty-badge.medium {
            background: #ff9800;
            color: white;
        }
        
        .difficulty-badge.advanced {
            background: #ff6b6b;
            color: white;
        }
        
        .btn-cta {
            background: #ff6b6b;
            color: white;
            padding: 10px 28px;
            font-size: 14px;
            text-decoration: none;
            display: inline-block;
            border-radius: 4px;
            transition: all 0.3s ease;
            font-weight: 600;
        }
        
        .btn-cta:hover {
            background: #ff5252;
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
        }
        
        .progress-bar {
            width: 100%;
            height: 3px;
            background: #4a4a4a;
            border-radius: 2px;
            margin-bottom: 14px;
            overflow: hidden;
        }
        
        .progress-fill {
            height: 100%;
            background: #ff6b6b;
            transition: width 0.3s ease;
        }
        
        .note-box {
            background: #2d2d2d;
            padding: 10px;
            border-left: 3px solid #ff6b6b;
            border-radius: 4px;
            margin-top: 12px;
            text-align: left;
            font-size: 11px;
            color: #aaa;
            border: 1px solid #4a4a4a;
        }
        
        .intro-screen {
            background: #3a3a3a;
            padding: 24px;
            border-radius: 6px;
            text-align: center;
        }
        
        .intro-screen.hidden {
            display: none;
        }
        
        .intro-content {
            max-width: 500px;
            margin: 0 auto;
        }
        
        .intro-icon {
            font-size: 56px;
            margin-bottom: 14px;
        }
        
        .intro-content h4 {
            color: #fff;
            font-size: 20px;
            margin-bottom: 12px;
            font-weight: 600;
        }
        
        .intro-text {
            color: #ccc;
            font-size: 13px;
            line-height: 1.6;
            margin-bottom: 24px;
        }
        
        .btn-start {
            background: #ff6b6b;
            color: white;
            padding: 12px 36px;
            font-size: 15px;
            border-radius: 4px;
            font-weight: 600;
            border: none;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .btn-start:hover {
            background: #ff5252;
            box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
        }
    </style>
</head>
<body>
    <div class="mt4-diagnostic-form">
        <div class="form-content">
            
            <div class="progress-bar" id="progressBarContainer" style="display: none;">
                <div class="progress-fill" id="progressBar" style="width: 0%"></div>
            </div>
            
            <!-- イントロ画面 -->
            <div class="intro-screen" id="introScreen">
                <div class="intro-content">
                    <div class="intro-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50d.png" alt="🔍" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                    <h4>デコンパイル可能性を診断</h4>
                    <p class="intro-text">
                        5つの質問で診断します（所要時間：約1分）
                    </p>
                    <button type="button" class="btn btn-start" id="startBtn">診断を開始する</button>
                </div>
            </div>
        
        <form id="diagnosticForm" style="display: none;">
            <!-- 質問1 -->
            <div class="question-block" data-question="1">
                <div class="question-title">
                    <span class="question-number">Q1</span>
                    ファイルの拡張子は何ですか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q1" value="ex4" required>
                        .ex4ファイル
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q1" value="mq4">
                        .mq4ファイル(ソースコード)
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q1" value="other">
                        その他のファイル
                    </label>
                </div>
            </div>
            
            <!-- 質問2 -->
            <div class="question-block hidden" data-question="2">
                <div class="question-title">
                    <span class="question-number">Q2</span>
                    ファイルは特定の口座でしか動作しませんか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q2" value="yes" required>
                        はい、特定の口座でのみ動作します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q2" value="no">
                        いいえ、どの口座でも動作します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q2" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <!-- 質問3 -->
            <div class="question-block hidden" data-question="3">
                <div class="question-title">
                    <span class="question-number">Q3</span>
                    ファイルを開こうとしたときにエラーが表示されますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q3" value="account-error" required>
                        口座番号に関するエラーが表示される
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q3" value="other-error">
                        別のエラーが表示される
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q3" value="no-error">
                        エラーは表示されない
                    </label>
                </div>
            </div>
            
            <!-- 質問4 -->
            <div class="question-block hidden" data-question="4">
                <div class="question-title">
                    <span class="question-number">Q4</span>
                    EAが外部DLLファイルを使用していますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q4" value="yes" required>
                        はい、DLLファイルが必要です
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q4" value="no">
                        いいえ、使用していません
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q4" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <!-- 質問5 -->
            <div class="question-block hidden" data-question="5">
                <div class="question-title">
                    <span class="question-number">Q5</span>
                    起動時に外部サーバーでライセンス認証を行いますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q5" value="yes" required>
                        はい、外部サーバーで認証が必要です
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q5" value="no">
                        いいえ、ローカルで認証が完結します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q5" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <div class="btn-container">
                <button type="button" class="btn btn-next" id="nextBtn" disabled>次へ</button>
            </div>
        </form>
        
        <!-- 結果表示 -->
        <div class="result-container hidden" id="resultContainer">
            <div class="result-icon" id="resultIcon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
            <div class="difficulty-badge" id="difficultyBadge"></div>
            <div class="result-title" id="resultTitle"></div>
            <div class="result-message" id="resultMessage"></div>
            <div class="result-details" id="resultDetails"></div>
            <a href="https://formok.com/f/64hux0wy?case_id=4ZAMXB" class="btn-cta" target="_blank">
                詳しく相談する →
            </a>
            <div class="note-box">
                <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 最終的な判断には実際のファイル解析が必要です。まずはお気軽にご相談ください。
            </div>
        </div>
        </div>
    </div>

    <script>
        let currentQuestion = 0; // 0 = intro screen
        const totalQuestions = 5;
        const answers = {};
        
        const form = document.getElementById('diagnosticForm');
        const nextBtn = document.getElementById('nextBtn');
        const startBtn = document.getElementById('startBtn');
        const introScreen = document.getElementById('introScreen');
        const progressBar = document.getElementById('progressBar');
        const progressBarContainer = document.getElementById('progressBarContainer');
        const resultContainer = document.getElementById('resultContainer');
        
        // 診断開始ボタン
        startBtn.addEventListener('click', function() {
            introScreen.classList.add('hidden');
            form.style.display = 'block';
            progressBarContainer.style.display = 'block';
            currentQuestion = 1;
            showQuestion(1);
        });
        
        // 質問を表示
        function showQuestion(questionNum) {
            const questionBlock = document.querySelector(`[data-question="${questionNum}"]`);
            if (questionBlock) {
                questionBlock.classList.remove('hidden');
            }
        }
        
        // ラジオボタンの選択を監視
        form.addEventListener('change', function(e) {
            if (e.target.type === 'radio') {
                nextBtn.disabled = false;
                answers[e.target.name] = e.target.value;
            }
        });
        
        // 次へボタンのクリック処理
        nextBtn.addEventListener('click', function() {
            const currentQuestionBlock = document.querySelector(`[data-question="${currentQuestion}"]`);
            const selectedOption = form.querySelector(`input[name="q${currentQuestion}"]:checked`);
            
            if (!selectedOption) return;
            
            // 現在の質問を非表示
            currentQuestionBlock.classList.add('hidden');
            
            // 次の質問へ
            currentQuestion++;
            
            // プログレスバーを更新
            const progress = (currentQuestion / totalQuestions) * 100;
            progressBar.style.width = progress + '%';
            
            if (currentQuestion <= totalQuestions) {
                // 次の質問を表示
                showQuestion(currentQuestion);
                nextBtn.disabled = true;
                
                // 最後の質問の場合はボタンテキストを変更
                if (currentQuestion === totalQuestions) {
                    nextBtn.textContent = '診断結果を見る';
                }
            } else {
                // すべての質問が終わったら結果を表示
                showResult();
            }
        });
        
        function showResult() {
            form.style.display = 'none';
            document.querySelector('.progress-bar').style.display = 'none';
            resultContainer.classList.remove('hidden');
            
            // 回答に基づいて結果を判定
            const resultType = determineResultType();
            displayResult(resultType);
        }
        
        function determineResultType() {
            // スコアリングシステム
            let complexityScore = 0;
            
            // Q1: ファイル拡張子
            if (answers.q1 === 'mq4') {
                return 'already-source'; // すでにソースコード
            } else if (answers.q1 === 'other') {
                return 'not-ex4'; // ex4ファイルではない
            }
            
            // Q2: 口座縛り
            if (answers.q2 === 'yes') {
                complexityScore += 0; // 標準的なケース
            } else if (answers.q2 === 'no') {
                complexityScore += 1; // 口座縛りなし
            }
            
            // Q3: エラー表示
            if (answers.q3 === 'account-error') {
                complexityScore += 0; // 標準的な口座エラー
            } else if (answers.q3 === 'other-error') {
                complexityScore += 2; // 別のエラー
            }
            
            // Q4: DLL使用
            if (answers.q4 === 'yes') {
                complexityScore += 3; // DLL使用で複雑度アップ
            } else if (answers.q4 === 'no') {
                complexityScore += 0;
            } else {
                complexityScore += 1; // 不明
            }
            
            // Q5: オンライン認証
            if (answers.q5 === 'yes') {
                complexityScore += 3; // サーバー認証で複雑度アップ
            } else if (answers.q5 === 'no') {
                complexityScore += 0;
            } else {
                complexityScore += 1; // 不明
            }
            
            // スコアに基づいて結果タイプを決定
            if (complexityScore === 0) {
                return 'standard'; // 標準的なケース
            } else if (complexityScore <= 2) {
                return 'moderate'; // やや複雑
            } else if (complexityScore <= 4) {
                return 'complex'; // 複雑
            } else {
                return 'advanced'; // 高度な保護
            }
        }
        
        function displayResult(resultType) {
            const resultIcon = document.getElementById('resultIcon');
            const difficultyBadge = document.getElementById('difficultyBadge');
            const resultTitle = document.getElementById('resultTitle');
            const resultMessage = document.getElementById('resultMessage');
            const resultDetails = document.getElementById('resultDetails');
            
            switch(resultType) {
                case 'already-source':
                    resultIcon.textContent = '&#x1f4c4;';
                    difficultyBadge.textContent = '対応不要';
                    difficultyBadge.className = 'difficulty-badge easy';
                    resultTitle.textContent = 'すでにソースコードです！';
                    resultMessage.innerHTML = '.mq4ファイルはソースコードなので、デコンパイルの必要はありません。<br>そのまま編集・カスタマイズが可能です。';
                    resultDetails.innerHTML = `
                        <h4>&#x2705; 次のステップ</h4>
                        <ul>
                            <li>MetaEditorで直接編集できます</li>
                            <li>口座縛りの解除も容易に可能です</li>
                            <li>ロジックの修正・改良が自由にできます</li>
                        </ul>
                    `;
                    break;
                    
                case 'not-ex4':
                    resultIcon.textContent = '&#x2753;';
                    difficultyBadge.textContent = '要確認';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = 'ファイル形式の確認が必要です';
                    resultMessage.innerHTML = 'ex4ファイル以外の場合、デコンパイルサービスの対象外となる可能性があります。<br>まずはファイルをご確認ください。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f4cb; 確認事項</h4>
                        <ul>
                            <li>ファイル拡張子が.ex4または.mq4か確認してください</li>
                            <li>MT4のエキスパートフォルダに配置できるファイルか確認してください</li>
                            <li>不明な場合はお問い合わせください</li>
                        </ul>
                    `;
                    break;
                    
                case 'standard':
                    resultIcon.textContent = '&#x2705;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 高';
                    difficultyBadge.className = 'difficulty-badge easy';
                    resultTitle.textContent = 'デコンパイル可能です！';
                    resultMessage.innerHTML = '標準的な口座縛りのケースです。<br>デコンパイルと口座縛り解除が比較的スムーズに行える可能性が高いです。';
                    resultDetails.innerHTML = `
                        <h4>&#x2728; 期待できること</h4>
                        <ul>
                            <li>口座番号の制限を解除できます</li>
                            <li>ソースコードの取得が可能です</li>
                            <li>ロジックの確認・修正ができます</li>
                        </ul>
                    `;
                    break;
                    
                case 'moderate':
                    resultIcon.textContent = '&#x1f4a1;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 中〜高';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = 'デコンパイル対応可能です';
                    resultMessage.innerHTML = 'やや複雑な保護が施されている可能性がありますが、<br>多くの場合デコンパイルと解析が可能です。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f50d; 想定される内容</h4>
                        <ul>
                            <li>基本的な難読化への対応が必要</li>
                            <li>複数の認証ポイントの解除が必要な可能性</li>
                            <li>詳細な解析により対応可能</li>
                        </ul>
                    `;
                    break;
                    
                case 'complex':
                    resultIcon.textContent = '&#x1f527;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 中';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = '高度な解析で対応可能です';
                    resultMessage.innerHTML = '複雑な保護が施されている可能性がありますが、<br>専門的な技術により対応できるケースが多くあります。';
                    resultDetails.innerHTML = `
                        <h4>&#x2699; 対応について</h4>
                        <ul>
                            <li>DLLや複雑な認証への対応が必要な可能性</li>
                            <li>詳細なファイル解析が必要です</li>
                            <li>実績のある技術で対応いたします</li>
                        </ul>
                    `;
                    break;
                    
                case 'advanced':
                    resultIcon.textContent = '&#x1f3af;';
                    difficultyBadge.textContent = '要詳細診断';
                    difficultyBadge.className = 'difficulty-badge advanced';
                    resultTitle.textContent = '詳細診断が必要です';
                    resultMessage.innerHTML = '高度な保護技術が使用されている可能性があります。<br>実際のファイルを解析して対応可否を判断させていただきます。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f4ca; 次のステップ</h4>
                        <ul>
                            <li>まずは無料でファイル診断を行います</li>
                            <li>DLL解析やサーバー認証の回避技術を検討</li>
                            <li>複雑なケースでも対応実績があります</li>
                            <li>難易度に応じた見積もりをご提示します</li>
                        </ul>
                    `;
                    break;
            }
        }
    </script>
</body>
</html>




<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><strong>x4 to mq4 decompiler 使い方</strong><br>このキーワードで調べている人は、かなり具体的な状況にいる。</p>



<p class="wp-block-paragraph">EX4ファイルは手元にある。<br>とりあえず、mq4に戻したい。<br>可能なら自分でやりたい。</p>



<p class="wp-block-paragraph">だから、<br>ex4 to mq4 decompiler を探し、<br>使い方を調べ、<br>実際に試そうとしている。</p>



<p class="wp-block-paragraph">私は <strong>EX4デコンパイルを専門に扱うエンジニア</strong>として、<br>この段階で止まる人、そしてこの段階で無理をする人を何度も見てきた。</p>



<p class="wp-block-paragraph">結論から言うと、<br><strong>ex4 to mq4 decompilerは「使いどころ」を理解すれば有効だが、<br>同時に明確な限界もある。</strong></p>



<p class="wp-block-paragraph">もし今、<br>「この先をどう判断すべきか迷っている」<br>そう感じているなら、判断材料として一度ここを見ておくだけでも構わない。<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com">デコンパイルはこちら</a></p>



<h2 class="wp-block-heading">ex4 to mq4 decompilerとは何ができるツールか</h2>



<p class="wp-block-paragraph">まず、役割を正しく整理しておきたい。</p>



<p class="wp-block-paragraph">ex4 to mq4 decompilerは、<br>EX4という <strong>MT4用の実行ファイル</strong>を解析し、<br>mq4風のコードを出力するツールだ。</p>



<p class="wp-block-paragraph">重要なのはここだ。</p>



<p class="wp-block-paragraph"><strong>mq4に戻すツールではなく、<br>mq4に近い構造を表示するツール</strong>だということ。</p>



<p class="wp-block-paragraph">この認識を誤ると、<br>期待と結果が大きくズレる。</p>



<h2 class="wp-block-heading">ex4 to mq4 decompilerの基本的な使い方</h2>



<p class="wp-block-paragraph">使い方自体は、実はそれほど難しくない。</p>



<p class="wp-block-paragraph">一般的な流れはこうだ。</p>



<p class="wp-block-paragraph">EX4ファイルを指定する。<br>解析を実行する。<br>出力されたコードを確認する。</p>



<p class="wp-block-paragraph">操作としてはシンプルだ。</p>



<p class="wp-block-paragraph">問題は、<br><strong>出力された後、どう扱うか</strong>にある。</p>



<h2 class="wp-block-heading">出力されたmq4風コードの正体</h2>



<p class="wp-block-paragraph">decompilerを使うと、<br>それなりにコードらしきものが表示される。</p>



<p class="wp-block-paragraph">if文。<br>関数定義。<br>ループ構造。</p>



<p class="wp-block-paragraph">一見すると、<br>「これで直せそうだ」と思える。</p>



<p class="wp-block-paragraph">だが、<br>ここで一度立ち止まったほうがいい。</p>



<h3 class="wp-block-heading">変数名と文脈は失われている</h3>



<p class="wp-block-paragraph">出力されるコードは、</p>



<p class="wp-block-paragraph">var1<br>var2<br>tmp_05</p>



<p class="wp-block-paragraph">こうした名前だらけになる。</p>



<p class="wp-block-paragraph">コメントもない。<br>設計意図も見えない。</p>



<p class="wp-block-paragraph"><strong>読めるが、理解できない</strong><br>この状態になる人が多い。</p>



<h3 class="wp-block-heading">そのままではコンパイルできないことが多い</h3>



<p class="wp-block-paragraph">さらに、</p>



<ul class="wp-block-list">
<li>コンパイルエラーが出る</li>



<li>修正箇所が分からない</li>



<li>動作が再現されない</li>
</ul>



<p class="wp-block-paragraph">こうした問題が起きる。</p>



<p class="wp-block-paragraph">つまり、<br><strong>出力された時点では、完成品ではない。</strong></p>



<h2 class="wp-block-heading">ex4 to mq4 decompilerでできること・できないこと</h2>



<p class="wp-block-paragraph">ここで一度、線を引いておく。</p>



<p class="wp-block-paragraph">できることは、</p>



<p class="wp-block-paragraph">処理の流れを把握する。<br>構造を俯瞰する。<br>ロジックの雰囲気を掴む。</p>



<p class="wp-block-paragraph">できないことは、</p>



<p class="wp-block-paragraph">完全な復元。<br>口座縛りの自動解除。<br>元EAと同じ挙動の保証。</p>



<p class="wp-block-paragraph">この区別を理解しているかどうかで、<br>判断のスピードが変わる。</p>



<h2 class="wp-block-heading">解析できても解除できない理由</h2>



<p class="wp-block-paragraph">多くの人がここで詰まる。</p>



<p class="wp-block-paragraph">「コードは見えているのに、解除できない」</p>



<p class="wp-block-paragraph">理由は単純ではないが、<br>共通点はある。</p>



<h3 class="wp-block-heading">制御ロジックが売買ロジックに埋め込まれている</h3>



<p class="wp-block-paragraph">口座番号チェック。<br>ブローカー判定。<br>サーバー名制御。</p>



<p class="wp-block-paragraph">これらが<br>売買条件と一体化していると、<br>「この部分を消せばいい」という話にならない。</p>



<h3 class="wp-block-heading">解除＝削除ではない</h3>



<p class="wp-block-paragraph">制御を消すと、<br>EAが動かなくなる。</p>



<p class="wp-block-paragraph">これは、</p>



<p class="wp-block-paragraph">制御が<br>EA全体の前提条件として設計されている<br>というケースだ。</p>



<p class="wp-block-paragraph">解析はできる。<br>だが、解除はできない。</p>



<h2 class="wp-block-heading">Ghidraを併用しても残る課題</h2>



<p class="wp-block-paragraph">さらに踏み込む人は、<br><strong><a href="https://github.com/NationalSecurityAgency/ghidra">Ghidra</a></strong> を併用する。</p>



<p class="wp-block-paragraph">逆アセンブルできる。<br>フローが見える。<br>解析精度は上がる。</p>



<p class="wp-block-paragraph">それでも、<br>解除できないケースは多い。</p>



<p class="wp-block-paragraph">理由は同じだ。</p>



<ul class="wp-block-list">
<li>MT4特有の構造</li>



<li>EA固有の設計</li>



<li>再構築前提の作り</li>
</ul>



<p class="wp-block-paragraph">Ghidraは強力だが、<br>解除を保証するツールではない。</p>



<p class="wp-block-paragraph">Ghidraを使った後に残る課題については、<br>こちらで詳しく整理している。</p>



<p class="wp-block-paragraph">・<a href="https://mt4decompile.com/ex4-decompile-ghidra/">GhidraでEX4デコンパイルを試した後に残る課題とは</a></p>



<h2 class="wp-block-heading">解除依頼に切り替える判断点</h2>



<p class="wp-block-paragraph">ここが、この記事の一番大事な部分だ。</p>



<p class="wp-block-paragraph">「どこまで自分でやるか」<br>「どこから依頼に切り替えるか」</p>



<p class="wp-block-paragraph">判断軸は、意外とシンプルだ。</p>



<h3 class="wp-block-heading">学習・研究目的なら自力で続ける価値がある</h3>



<p class="wp-block-paragraph">構造を理解したい。<br>自分でEAを書き直したい。</p>



<p class="wp-block-paragraph">この場合、<br>ex4 to mq4 decompilerは十分に役立つ。</p>



<p class="wp-block-paragraph">時間をかける価値もある。</p>



<h3 class="wp-block-heading">実用目的なら切り替えのタイミング</h3>



<p class="wp-block-paragraph">口座縛りを解除したい。<br>自分の環境でEAを動かしたい。<br>元の挙動を維持したい。</p>



<p class="wp-block-paragraph">この目的なら、<br><strong>解析できたが解除できない時点が切り替えの判断点</strong>になる。</p>



<p class="wp-block-paragraph">ここから先は、<br>ツールではなく設計と再構築の領域だ。</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com">デコンパイルはこちら</a></p>



<h2 class="wp-block-heading">ex4 to mq4 decompilerに期待しすぎないこと</h2>



<p class="wp-block-paragraph">よくある誤解がある。</p>



<p class="wp-block-paragraph">「もっと使いこなせば何とかなる」<br>「別のdecompilerなら解除できる」</p>



<p class="wp-block-paragraph">だが実際は、<br><strong>ツールの差よりも、EA設計の差の方が大きい。</strong></p>



<p class="wp-block-paragraph">ex4 to mq4 decompilerは、</p>



<ul class="wp-block-list">
<li>入口として優秀</li>



<li>限界も明確</li>
</ul>



<p class="wp-block-paragraph">この位置づけが一番正しい。</p>



<h2 class="wp-block-heading">まとめの前に整理しておくこと</h2>



<p class="wp-block-paragraph">ex4 to mq4 decompilerは、</p>



<p class="wp-block-paragraph">使い方を誤らなければ、<br>非常に有用なツールだ。</p>



<p class="wp-block-paragraph">だが、</p>



<p class="wp-block-paragraph">解除できるかどうかは別問題。</p>



<p class="wp-block-paragraph">ここを混同すると、<br>無駄に時間を消耗する。</p>



<h2 class="wp-block-heading">まとめ｜ex4 to mq4 decompilerの正しい使い方と判断</h2>



<p class="wp-block-paragraph"><strong>ex4 to mq4 decompilerは、解析には使える。<br>だが、解除を保証するツールではない。</strong></p>



<p class="wp-block-paragraph">だからこそ、</p>



<p class="wp-block-paragraph">解析を続けるか。<br>解除前提で切り替えるか。</p>



<p class="wp-block-paragraph">この判断が重要になる。</p>



<p class="wp-block-paragraph">もし今、<br>「解析はできたが、次で止まっている」<br>そう感じているなら、<br>判断材料としてここを確認しておくだけでも構わない。<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com">デコンパイルはこちら</a></p>



<p class="wp-block-paragraph">静かに、<br>必要な人だけが次に進めばいい。</p>
<p>投稿 <a href="https://mt4decompile.com/ex4-to-mq4-decompiler-usage/">ex4 to mq4 decompilerの使い方と、解除依頼に切り替える判断点</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>EX4デコンパイラで解析できても解除できない理由</title>
		<link>https://mt4decompile.com/ex4-decompiler/</link>
		
		<dc:creator><![CDATA[MT4解除研究所運営者]]></dc:creator>
		<pubDate>Wed, 24 Dec 2025 03:45:10 +0000</pubDate>
				<category><![CDATA[方法]]></category>
		<guid isPermaLink="false">https://mt4decompile.com/?p=687</guid>

					<description><![CDATA[<p>MT4デコンパイル診断フォーム 🔍 デコンパイル可能性を診断 5つの質問で診断します（所要時間：約1分） 診断を開始する Q1 ファイルの拡張子は何ですか? .ex4ファイル .mq4ファイル(ソースコード) その他のフ...</p>
<p>投稿 <a href="https://mt4decompile.com/ex4-decompiler/">EX4デコンパイラで解析できても解除できない理由</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>MT4デコンパイル診断フォーム</title>
    <style>
        .mt4-diagnostic-form {
            max-width: 700px;
            margin: 20px auto;
            padding: 20px;
            background: #2d2d2d;
            border-radius: 8px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.3);
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            border: 1px solid #3d3d3d;
        }
        
        .form-content {
            position: relative;
        }
        
        .mt4-diagnostic-form h3 {
            color: #ffffff;
            text-align: center;
            margin-bottom: 4px;
            font-size: 20px;
            font-weight: 700;
        }
        
        .mt4-diagnostic-form .subtitle {
            text-align: center;
            color: #999;
            margin-bottom: 14px;
            font-size: 12px;
        }
        
        .question-block {
            background: #3a3a3a;
            padding: 14px;
            margin-bottom: 10px;
            border-radius: 6px;
            border-left: 3px solid #ff6b6b;
        }
        
        .question-block.hidden {
            display: none;
        }
        
        .question-title {
            font-weight: 600;
            color: #e0e0e0;
            margin-bottom: 10px;
            font-size: 13px;
            display: flex;
            align-items: center;
        }
        
        .question-number {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #ff6b6b;
            color: white;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            font-size: 11px;
            margin-right: 8px;
            font-weight: 700;
            flex-shrink: 0;
        }
        
        .options {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }
        
        .option-label {
            display: flex;
            align-items: center;
            padding: 8px 12px;
            background: #2d2d2d;
            border: 1px solid #4a4a4a;
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.2s ease;
            font-size: 13px;
            color: #ccc;
        }
        
        .option-label:hover {
            background: #353535;
            border-color: #ff6b6b;
            color: #fff;
        }
        
        .option-label input[type="radio"] {
            margin-right: 8px;
            cursor: pointer;
            accent-color: #ff6b6b;
        }
        
        .btn-container {
            text-align: center;
            margin-top: 12px;
        }
        
        .btn {
            padding: 9px 26px;
            font-size: 13px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.3s ease;
            font-weight: 600;
        }
        
        .btn-next {
            background: #ff6b6b;
            color: white;
        }
        
        .btn-next:hover {
            background: #ff5252;
            box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4);
        }
        
        .btn-next:disabled {
            background: #555;
            cursor: not-allowed;
            color: #888;
        }
        
        .result-container {
            background: #3a3a3a;
            padding: 20px;
            border-radius: 6px;
            text-align: center;
        }
        
        .result-container.hidden {
            display: none;
        }
        
        .result-icon {
            font-size: 44px;
            margin-bottom: 10px;
        }
        
        .result-title {
            font-size: 18px;
            font-weight: bold;
            color: #ffffff;
            margin-bottom: 8px;
        }
        
        .result-message {
            color: #ccc;
            margin-bottom: 14px;
            line-height: 1.6;
            font-size: 13px;
        }
        
        .result-details {
            background: #2d2d2d;
            padding: 12px;
            border-radius: 4px;
            margin-bottom: 14px;
            text-align: left;
            border: 1px solid #4a4a4a;
        }
        
        .result-details h4 {
            color: #ff6b6b;
            margin-bottom: 8px;
            font-size: 13px;
            font-weight: 600;
        }
        
        .result-details ul {
            margin: 0;
            padding-left: 18px;
            color: #aaa;
            font-size: 12px;
        }
        
        .result-details li {
            margin-bottom: 4px;
        }
        
        .difficulty-badge {
            display: inline-block;
            padding: 4px 12px;
            border-radius: 12px;
            font-size: 11px;
            font-weight: 600;
            margin-bottom: 12px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        
        .difficulty-badge.easy {
            background: #4caf50;
            color: white;
        }
        
        .difficulty-badge.medium {
            background: #ff9800;
            color: white;
        }
        
        .difficulty-badge.advanced {
            background: #ff6b6b;
            color: white;
        }
        
        .btn-cta {
            background: #ff6b6b;
            color: white;
            padding: 10px 28px;
            font-size: 14px;
            text-decoration: none;
            display: inline-block;
            border-radius: 4px;
            transition: all 0.3s ease;
            font-weight: 600;
        }
        
        .btn-cta:hover {
            background: #ff5252;
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
        }
        
        .progress-bar {
            width: 100%;
            height: 3px;
            background: #4a4a4a;
            border-radius: 2px;
            margin-bottom: 14px;
            overflow: hidden;
        }
        
        .progress-fill {
            height: 100%;
            background: #ff6b6b;
            transition: width 0.3s ease;
        }
        
        .note-box {
            background: #2d2d2d;
            padding: 10px;
            border-left: 3px solid #ff6b6b;
            border-radius: 4px;
            margin-top: 12px;
            text-align: left;
            font-size: 11px;
            color: #aaa;
            border: 1px solid #4a4a4a;
        }
        
        .intro-screen {
            background: #3a3a3a;
            padding: 24px;
            border-radius: 6px;
            text-align: center;
        }
        
        .intro-screen.hidden {
            display: none;
        }
        
        .intro-content {
            max-width: 500px;
            margin: 0 auto;
        }
        
        .intro-icon {
            font-size: 56px;
            margin-bottom: 14px;
        }
        
        .intro-content h4 {
            color: #fff;
            font-size: 20px;
            margin-bottom: 12px;
            font-weight: 600;
        }
        
        .intro-text {
            color: #ccc;
            font-size: 13px;
            line-height: 1.6;
            margin-bottom: 24px;
        }
        
        .btn-start {
            background: #ff6b6b;
            color: white;
            padding: 12px 36px;
            font-size: 15px;
            border-radius: 4px;
            font-weight: 600;
            border: none;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .btn-start:hover {
            background: #ff5252;
            box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
        }
    </style>
</head>
<body>
    <div class="mt4-diagnostic-form">
        <div class="form-content">
            
            <div class="progress-bar" id="progressBarContainer" style="display: none;">
                <div class="progress-fill" id="progressBar" style="width: 0%"></div>
            </div>
            
            <!-- イントロ画面 -->
            <div class="intro-screen" id="introScreen">
                <div class="intro-content">
                    <div class="intro-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50d.png" alt="🔍" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                    <h4>デコンパイル可能性を診断</h4>
                    <p class="intro-text">
                        5つの質問で診断します（所要時間：約1分）
                    </p>
                    <button type="button" class="btn btn-start" id="startBtn">診断を開始する</button>
                </div>
            </div>
        
        <form id="diagnosticForm" style="display: none;">
            <!-- 質問1 -->
            <div class="question-block" data-question="1">
                <div class="question-title">
                    <span class="question-number">Q1</span>
                    ファイルの拡張子は何ですか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q1" value="ex4" required>
                        .ex4ファイル
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q1" value="mq4">
                        .mq4ファイル(ソースコード)
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q1" value="other">
                        その他のファイル
                    </label>
                </div>
            </div>
            
            <!-- 質問2 -->
            <div class="question-block hidden" data-question="2">
                <div class="question-title">
                    <span class="question-number">Q2</span>
                    ファイルは特定の口座でしか動作しませんか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q2" value="yes" required>
                        はい、特定の口座でのみ動作します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q2" value="no">
                        いいえ、どの口座でも動作します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q2" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <!-- 質問3 -->
            <div class="question-block hidden" data-question="3">
                <div class="question-title">
                    <span class="question-number">Q3</span>
                    ファイルを開こうとしたときにエラーが表示されますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q3" value="account-error" required>
                        口座番号に関するエラーが表示される
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q3" value="other-error">
                        別のエラーが表示される
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q3" value="no-error">
                        エラーは表示されない
                    </label>
                </div>
            </div>
            
            <!-- 質問4 -->
            <div class="question-block hidden" data-question="4">
                <div class="question-title">
                    <span class="question-number">Q4</span>
                    EAが外部DLLファイルを使用していますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q4" value="yes" required>
                        はい、DLLファイルが必要です
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q4" value="no">
                        いいえ、使用していません
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q4" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <!-- 質問5 -->
            <div class="question-block hidden" data-question="5">
                <div class="question-title">
                    <span class="question-number">Q5</span>
                    起動時に外部サーバーでライセンス認証を行いますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q5" value="yes" required>
                        はい、外部サーバーで認証が必要です
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q5" value="no">
                        いいえ、ローカルで認証が完結します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q5" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <div class="btn-container">
                <button type="button" class="btn btn-next" id="nextBtn" disabled>次へ</button>
            </div>
        </form>
        
        <!-- 結果表示 -->
        <div class="result-container hidden" id="resultContainer">
            <div class="result-icon" id="resultIcon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
            <div class="difficulty-badge" id="difficultyBadge"></div>
            <div class="result-title" id="resultTitle"></div>
            <div class="result-message" id="resultMessage"></div>
            <div class="result-details" id="resultDetails"></div>
            <a href="https://formok.com/f/64hux0wy?case_id=4ZAMXB" class="btn-cta" target="_blank">
                詳しく相談する →
            </a>
            <div class="note-box">
                <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 最終的な判断には実際のファイル解析が必要です。まずはお気軽にご相談ください。
            </div>
        </div>
        </div>
    </div>

    <script>
        let currentQuestion = 0; // 0 = intro screen
        const totalQuestions = 5;
        const answers = {};
        
        const form = document.getElementById('diagnosticForm');
        const nextBtn = document.getElementById('nextBtn');
        const startBtn = document.getElementById('startBtn');
        const introScreen = document.getElementById('introScreen');
        const progressBar = document.getElementById('progressBar');
        const progressBarContainer = document.getElementById('progressBarContainer');
        const resultContainer = document.getElementById('resultContainer');
        
        // 診断開始ボタン
        startBtn.addEventListener('click', function() {
            introScreen.classList.add('hidden');
            form.style.display = 'block';
            progressBarContainer.style.display = 'block';
            currentQuestion = 1;
            showQuestion(1);
        });
        
        // 質問を表示
        function showQuestion(questionNum) {
            const questionBlock = document.querySelector(`[data-question="${questionNum}"]`);
            if (questionBlock) {
                questionBlock.classList.remove('hidden');
            }
        }
        
        // ラジオボタンの選択を監視
        form.addEventListener('change', function(e) {
            if (e.target.type === 'radio') {
                nextBtn.disabled = false;
                answers[e.target.name] = e.target.value;
            }
        });
        
        // 次へボタンのクリック処理
        nextBtn.addEventListener('click', function() {
            const currentQuestionBlock = document.querySelector(`[data-question="${currentQuestion}"]`);
            const selectedOption = form.querySelector(`input[name="q${currentQuestion}"]:checked`);
            
            if (!selectedOption) return;
            
            // 現在の質問を非表示
            currentQuestionBlock.classList.add('hidden');
            
            // 次の質問へ
            currentQuestion++;
            
            // プログレスバーを更新
            const progress = (currentQuestion / totalQuestions) * 100;
            progressBar.style.width = progress + '%';
            
            if (currentQuestion <= totalQuestions) {
                // 次の質問を表示
                showQuestion(currentQuestion);
                nextBtn.disabled = true;
                
                // 最後の質問の場合はボタンテキストを変更
                if (currentQuestion === totalQuestions) {
                    nextBtn.textContent = '診断結果を見る';
                }
            } else {
                // すべての質問が終わったら結果を表示
                showResult();
            }
        });
        
        function showResult() {
            form.style.display = 'none';
            document.querySelector('.progress-bar').style.display = 'none';
            resultContainer.classList.remove('hidden');
            
            // 回答に基づいて結果を判定
            const resultType = determineResultType();
            displayResult(resultType);
        }
        
        function determineResultType() {
            // スコアリングシステム
            let complexityScore = 0;
            
            // Q1: ファイル拡張子
            if (answers.q1 === 'mq4') {
                return 'already-source'; // すでにソースコード
            } else if (answers.q1 === 'other') {
                return 'not-ex4'; // ex4ファイルではない
            }
            
            // Q2: 口座縛り
            if (answers.q2 === 'yes') {
                complexityScore += 0; // 標準的なケース
            } else if (answers.q2 === 'no') {
                complexityScore += 1; // 口座縛りなし
            }
            
            // Q3: エラー表示
            if (answers.q3 === 'account-error') {
                complexityScore += 0; // 標準的な口座エラー
            } else if (answers.q3 === 'other-error') {
                complexityScore += 2; // 別のエラー
            }
            
            // Q4: DLL使用
            if (answers.q4 === 'yes') {
                complexityScore += 3; // DLL使用で複雑度アップ
            } else if (answers.q4 === 'no') {
                complexityScore += 0;
            } else {
                complexityScore += 1; // 不明
            }
            
            // Q5: オンライン認証
            if (answers.q5 === 'yes') {
                complexityScore += 3; // サーバー認証で複雑度アップ
            } else if (answers.q5 === 'no') {
                complexityScore += 0;
            } else {
                complexityScore += 1; // 不明
            }
            
            // スコアに基づいて結果タイプを決定
            if (complexityScore === 0) {
                return 'standard'; // 標準的なケース
            } else if (complexityScore <= 2) {
                return 'moderate'; // やや複雑
            } else if (complexityScore <= 4) {
                return 'complex'; // 複雑
            } else {
                return 'advanced'; // 高度な保護
            }
        }
        
        function displayResult(resultType) {
            const resultIcon = document.getElementById('resultIcon');
            const difficultyBadge = document.getElementById('difficultyBadge');
            const resultTitle = document.getElementById('resultTitle');
            const resultMessage = document.getElementById('resultMessage');
            const resultDetails = document.getElementById('resultDetails');
            
            switch(resultType) {
                case 'already-source':
                    resultIcon.textContent = '&#x1f4c4;';
                    difficultyBadge.textContent = '対応不要';
                    difficultyBadge.className = 'difficulty-badge easy';
                    resultTitle.textContent = 'すでにソースコードです！';
                    resultMessage.innerHTML = '.mq4ファイルはソースコードなので、デコンパイルの必要はありません。<br>そのまま編集・カスタマイズが可能です。';
                    resultDetails.innerHTML = `
                        <h4>&#x2705; 次のステップ</h4>
                        <ul>
                            <li>MetaEditorで直接編集できます</li>
                            <li>口座縛りの解除も容易に可能です</li>
                            <li>ロジックの修正・改良が自由にできます</li>
                        </ul>
                    `;
                    break;
                    
                case 'not-ex4':
                    resultIcon.textContent = '&#x2753;';
                    difficultyBadge.textContent = '要確認';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = 'ファイル形式の確認が必要です';
                    resultMessage.innerHTML = 'ex4ファイル以外の場合、デコンパイルサービスの対象外となる可能性があります。<br>まずはファイルをご確認ください。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f4cb; 確認事項</h4>
                        <ul>
                            <li>ファイル拡張子が.ex4または.mq4か確認してください</li>
                            <li>MT4のエキスパートフォルダに配置できるファイルか確認してください</li>
                            <li>不明な場合はお問い合わせください</li>
                        </ul>
                    `;
                    break;
                    
                case 'standard':
                    resultIcon.textContent = '&#x2705;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 高';
                    difficultyBadge.className = 'difficulty-badge easy';
                    resultTitle.textContent = 'デコンパイル可能です！';
                    resultMessage.innerHTML = '標準的な口座縛りのケースです。<br>デコンパイルと口座縛り解除が比較的スムーズに行える可能性が高いです。';
                    resultDetails.innerHTML = `
                        <h4>&#x2728; 期待できること</h4>
                        <ul>
                            <li>口座番号の制限を解除できます</li>
                            <li>ソースコードの取得が可能です</li>
                            <li>ロジックの確認・修正ができます</li>
                        </ul>
                    `;
                    break;
                    
                case 'moderate':
                    resultIcon.textContent = '&#x1f4a1;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 中〜高';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = 'デコンパイル対応可能です';
                    resultMessage.innerHTML = 'やや複雑な保護が施されている可能性がありますが、<br>多くの場合デコンパイルと解析が可能です。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f50d; 想定される内容</h4>
                        <ul>
                            <li>基本的な難読化への対応が必要</li>
                            <li>複数の認証ポイントの解除が必要な可能性</li>
                            <li>詳細な解析により対応可能</li>
                        </ul>
                    `;
                    break;
                    
                case 'complex':
                    resultIcon.textContent = '&#x1f527;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 中';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = '高度な解析で対応可能です';
                    resultMessage.innerHTML = '複雑な保護が施されている可能性がありますが、<br>専門的な技術により対応できるケースが多くあります。';
                    resultDetails.innerHTML = `
                        <h4>&#x2699; 対応について</h4>
                        <ul>
                            <li>DLLや複雑な認証への対応が必要な可能性</li>
                            <li>詳細なファイル解析が必要です</li>
                            <li>実績のある技術で対応いたします</li>
                        </ul>
                    `;
                    break;
                    
                case 'advanced':
                    resultIcon.textContent = '&#x1f3af;';
                    difficultyBadge.textContent = '要詳細診断';
                    difficultyBadge.className = 'difficulty-badge advanced';
                    resultTitle.textContent = '詳細診断が必要です';
                    resultMessage.innerHTML = '高度な保護技術が使用されている可能性があります。<br>実際のファイルを解析して対応可否を判断させていただきます。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f4ca; 次のステップ</h4>
                        <ul>
                            <li>まずは無料でファイル診断を行います</li>
                            <li>DLL解析やサーバー認証の回避技術を検討</li>
                            <li>複雑なケースでも対応実績があります</li>
                            <li>難易度に応じた見積もりをご提示します</li>
                        </ul>
                    `;
                    break;
            }
        }
    </script>
</body>
</html>




<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><strong>ex4 デコンパイラ</strong><br>このキーワードで調べている人は、すでに一段深いところまで来ている。</p>



<p class="wp-block-paragraph">EX4を手に入れた。<br>デコンパイラを使った。<br>コードらしきものも表示された。</p>



<p class="wp-block-paragraph">「解析はできた」<br>でも、<br>「解除はできない」</p>



<p class="wp-block-paragraph">ここで止まる人は、かなり多い。</p>



<p class="wp-block-paragraph">私は <strong>EX4デコンパイルを専門に扱うエンジニア</strong>として、<br>この「解析できたのに解除できない」という相談を繰り返し受けてきた。</p>



<p class="wp-block-paragraph">結論から言うと、<br><strong>EX4デコンパイラで解析できることと、EAの制限を解除できることは、まったく別の話</strong>だ。</p>



<p class="wp-block-paragraph">もし今、<br>「ここまで来たのに、なぜ先に進めないのか」<br>そう感じているなら、判断材料として一度ここを見ておくだけでも構わない。<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com">デコンパイルはこちら</a></p>



<h2 class="wp-block-heading">EX4デコンパイラで「解析できた」とはどういう状態か</h2>



<p class="wp-block-paragraph">まず、言葉の整理をしておきたい。</p>



<p class="wp-block-paragraph">EX4デコンパイラで<br>「解析できた」というのは、多くの場合こういう状態だ。</p>



<ul class="wp-block-list">
<li>コードが表示された</li>



<li>処理の流れが見えた</li>



<li>if文や関数構造が確認できた</li>
</ul>



<p class="wp-block-paragraph">これは確かに、解析ではある。</p>



<p class="wp-block-paragraph">だが、<br><strong>それは読めるようになったという意味であって、使えるようになったわけではない。</strong></p>



<p class="wp-block-paragraph">この認識のズレが、<br>最初のつまずきになる。</p>



<h2 class="wp-block-heading">解析と解除は別工程</h2>



<p class="wp-block-paragraph">EX4デコンパイラは、<br>実行ファイルを解析し、<br>構造を人が理解できる形に近づけるツールだ。</p>



<p class="wp-block-paragraph">一方で、<br>解除とは何か。</p>



<ul class="wp-block-list">
<li>口座縛りを無効化する</li>



<li>制御条件を書き換える</li>



<li>元と同じ挙動で動かす</li>
</ul>



<p class="wp-block-paragraph">これは、<br><strong>解析のその先の作業</strong>になる。</p>



<p class="wp-block-paragraph">解析できたから解除できる、<br>という直線的な関係はない。</p>



<h2 class="wp-block-heading">EX4デコンパイラで解除できない典型的な理由</h2>



<p class="wp-block-paragraph">ここからが本題だ。</p>



<p class="wp-block-paragraph">「コードは見えているのに解除できない」<br>その理由には、はっきりしたパターンがある。</p>



<h3 class="wp-block-heading">理由① 制御ロジックが分離されていない</h3>



<p class="wp-block-paragraph">多くのEAでは、</p>



<p class="wp-block-paragraph">売買ロジック<br>制御ロジック</p>



<p class="wp-block-paragraph">これがきれいに分かれていない。</p>



<p class="wp-block-paragraph">口座番号チェック。<br>ブローカー判定。<br>サーバー名照合。</p>



<p class="wp-block-paragraph">こうした制御が、<br>売買条件の中に直接組み込まれている。</p>



<p class="wp-block-paragraph">そのため、</p>



<p class="wp-block-paragraph">「このif文を消せばいい」<br>という単純な話にならない。</p>



<p class="wp-block-paragraph">解析はできる。<br>だが、解除ポイントが特定できない。</p>



<h3 class="wp-block-heading">理由② 変数名と文脈が失われている</h3>



<p class="wp-block-paragraph">EX4は、<br>コンパイル時に多くの情報を失っている。</p>



<p class="wp-block-paragraph">意味のある変数名。<br>コメント。<br>設計時の意図。</p>



<p class="wp-block-paragraph">デコンパイラが出力するのは、</p>



<p class="wp-block-paragraph">var1<br>var2<br>tmp_03</p>



<p class="wp-block-paragraph">こうした無機質なコードだ。</p>



<p class="wp-block-paragraph">読める。<br>だが、<strong>何を意図した処理なのか分からない。</strong></p>



<p class="wp-block-paragraph">この状態では、<br>解除してよい部分と、<br>触ってはいけない部分の区別が難しい。</p>



<h3 class="wp-block-heading">理由③ 解除しても挙動が再現できない</h3>



<p class="wp-block-paragraph">仮に、<br>制御条件らしき部分を見つけて削除したとしても、<br>次の問題が起きる。</p>



<ul class="wp-block-list">
<li>EAが動かない</li>



<li>エントリーしない</li>



<li>挙動が変わる</li>
</ul>



<p class="wp-block-paragraph">これは、<br>制御と売買が密接に絡んでいる証拠だ。</p>



<p class="wp-block-paragraph">解除はできたように見えても、<br><strong>元のEAとは別物</strong>になってしまう。</p>



<h2 class="wp-block-heading">デコンパイラを使い込んだ人ほどぶつかる壁</h2>



<p class="wp-block-paragraph">ここが、少し皮肉なところだ。</p>



<p class="wp-block-paragraph">EX4デコンパイラを使い込み、<br>解析に慣れた人ほど、<br>次の壁にぶつかる。</p>



<p class="wp-block-paragraph">「全部は読める」<br>「でも、どう直せばいいか分からない」</p>



<p class="wp-block-paragraph">これはスキル不足ではない。</p>



<p class="wp-block-paragraph"><strong>EX4という形式の限界</strong>だ。</p>



<h2 class="wp-block-heading">Ghidraを使っても残る課題</h2>



<p class="wp-block-paragraph">さらに一歩踏み込む人は、<br><strong><a href="https://github.com/NationalSecurityAgency/ghidra">Ghidra</a></strong> を使う。</p>



<p class="wp-block-paragraph">逆アセンブル。<br>構造解析。<br>フローの可視化。</p>



<p class="wp-block-paragraph">かなり深いところまで見える。</p>



<p class="wp-block-paragraph">だが、それでも解除できないケースは多い。</p>



<p class="wp-block-paragraph">理由は同じだ。</p>



<ul class="wp-block-list">
<li>MT4特有の関数構造</li>



<li>EA固有の制御設計</li>



<li>再構築前提の設計</li>
</ul>



<p class="wp-block-paragraph">Ghidraは解析を助けるが、<br>解除を保証するツールではない。</p>



<p class="wp-block-paragraph">Ghidraを使ったあとに残る課題については、<br>こちらの記事で詳しく整理している。</p>



<p class="wp-block-paragraph">・<a href="https://mt4decompile.com/ex4-decompile-ghidra/">GhidraでEX4デコンパイルを試した後に残る課題とは</a></p>



<h2 class="wp-block-heading">EX4デコンパイラに期待しすぎると起きるズレ</h2>



<p class="wp-block-paragraph">よくある誤解がある。</p>



<p class="wp-block-paragraph">「解析できた＝解除できる」<br>「ツールを変えれば何とかなる」</p>



<p class="wp-block-paragraph">だが実際は、<br><strong>ツールの問題ではなく、設計の問題</strong>であることがほとんどだ。</p>



<p class="wp-block-paragraph">デコンパイラは、</p>



<ul class="wp-block-list">
<li>理解を助ける</li>



<li>構造を可視化する</li>
</ul>



<p class="wp-block-paragraph">ここまで。</p>



<p class="wp-block-paragraph">解除は、<br>その先の設計判断になる。</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com">デコンパイルはこちら</a></p>



<h2 class="wp-block-heading">解除できるEAとできないEAの分かれ目</h2>



<p class="wp-block-paragraph">相談が多いので、<br>ここははっきり書いておく。</p>



<p class="wp-block-paragraph">解除しやすいEAは、</p>



<ul class="wp-block-list">
<li>制御と売買が分離されている</li>



<li>構造が単純</li>



<li>古い設計</li>
</ul>



<p class="wp-block-paragraph">逆に、解除が難しいEAは、</p>



<ul class="wp-block-list">
<li>制御が深く埋め込まれている</li>



<li>複数条件が絡む</li>



<li>再構築前提の設計</li>
</ul>



<p class="wp-block-paragraph">後者の場合、<br><strong>解析できても解除できない</strong>のは普通だ。</p>



<h2 class="wp-block-heading">まとめの前に整理しておくこと</h2>



<p class="wp-block-paragraph">EX4デコンパイラで、</p>



<p class="wp-block-paragraph">解析できた。<br>コードが見えた。</p>



<p class="wp-block-paragraph">それ自体は、<br>間違いなく前進だ。</p>



<p class="wp-block-paragraph">だが、<br>解除とは別工程であり、<br>同じ努力では届かない。</p>



<h2 class="wp-block-heading">まとめ｜EX4デコンパイラで解除できないのは珍しくない</h2>



<p class="wp-block-paragraph"><strong>EX4デコンパイラで解析できても、解除できない理由は明確に存在する。</strong></p>



<p class="wp-block-paragraph">それは、</p>



<p class="wp-block-paragraph">スキル不足ではない。<br>ツール選びの問題でもない。<br><strong>EX4という形式と設計の問題</strong>だ。</p>



<p class="wp-block-paragraph">だからこそ、</p>



<p class="wp-block-paragraph">解析を続けるか。<br>再構築を前提に切り替えるか。</p>



<p class="wp-block-paragraph">この判断が、<br>次の一手になる。</p>



<p class="wp-block-paragraph">もし今、<br>「解析はできたが、解除で止まっている」<br>そう感じているなら、<br>判断材料としてここを確認しておくだけでも構わない。<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com">デコンパイルはこちら</a></p>



<p class="wp-block-paragraph">静かに、<br>必要な人だけが次に進めばいい。</p>
<p>投稿 <a href="https://mt4decompile.com/ex4-decompiler/">EX4デコンパイラで解析できても解除できない理由</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>EX4デコンパイルツールを試す前に知っておくべき制限</title>
		<link>https://mt4decompile.com/ex4-decompile-download/</link>
		
		<dc:creator><![CDATA[MT4解除研究所運営者]]></dc:creator>
		<pubDate>Wed, 24 Dec 2025 03:39:53 +0000</pubDate>
				<category><![CDATA[方法]]></category>
		<guid isPermaLink="false">https://mt4decompile.com/?p=685</guid>

					<description><![CDATA[<p>MT4デコンパイル診断フォーム 🔍 デコンパイル可能性を診断 5つの質問で診断します（所要時間：約1分） 診断を開始する Q1 ファイルの拡張子は何ですか? .ex4ファイル .mq4ファイル(ソースコード) その他のフ...</p>
<p>投稿 <a href="https://mt4decompile.com/ex4-decompile-download/">EX4デコンパイルツールを試す前に知っておくべき制限</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>MT4デコンパイル診断フォーム</title>
    <style>
        .mt4-diagnostic-form {
            max-width: 700px;
            margin: 20px auto;
            padding: 20px;
            background: #2d2d2d;
            border-radius: 8px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.3);
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            border: 1px solid #3d3d3d;
        }
        
        .form-content {
            position: relative;
        }
        
        .mt4-diagnostic-form h3 {
            color: #ffffff;
            text-align: center;
            margin-bottom: 4px;
            font-size: 20px;
            font-weight: 700;
        }
        
        .mt4-diagnostic-form .subtitle {
            text-align: center;
            color: #999;
            margin-bottom: 14px;
            font-size: 12px;
        }
        
        .question-block {
            background: #3a3a3a;
            padding: 14px;
            margin-bottom: 10px;
            border-radius: 6px;
            border-left: 3px solid #ff6b6b;
        }
        
        .question-block.hidden {
            display: none;
        }
        
        .question-title {
            font-weight: 600;
            color: #e0e0e0;
            margin-bottom: 10px;
            font-size: 13px;
            display: flex;
            align-items: center;
        }
        
        .question-number {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #ff6b6b;
            color: white;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            font-size: 11px;
            margin-right: 8px;
            font-weight: 700;
            flex-shrink: 0;
        }
        
        .options {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }
        
        .option-label {
            display: flex;
            align-items: center;
            padding: 8px 12px;
            background: #2d2d2d;
            border: 1px solid #4a4a4a;
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.2s ease;
            font-size: 13px;
            color: #ccc;
        }
        
        .option-label:hover {
            background: #353535;
            border-color: #ff6b6b;
            color: #fff;
        }
        
        .option-label input[type="radio"] {
            margin-right: 8px;
            cursor: pointer;
            accent-color: #ff6b6b;
        }
        
        .btn-container {
            text-align: center;
            margin-top: 12px;
        }
        
        .btn {
            padding: 9px 26px;
            font-size: 13px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.3s ease;
            font-weight: 600;
        }
        
        .btn-next {
            background: #ff6b6b;
            color: white;
        }
        
        .btn-next:hover {
            background: #ff5252;
            box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4);
        }
        
        .btn-next:disabled {
            background: #555;
            cursor: not-allowed;
            color: #888;
        }
        
        .result-container {
            background: #3a3a3a;
            padding: 20px;
            border-radius: 6px;
            text-align: center;
        }
        
        .result-container.hidden {
            display: none;
        }
        
        .result-icon {
            font-size: 44px;
            margin-bottom: 10px;
        }
        
        .result-title {
            font-size: 18px;
            font-weight: bold;
            color: #ffffff;
            margin-bottom: 8px;
        }
        
        .result-message {
            color: #ccc;
            margin-bottom: 14px;
            line-height: 1.6;
            font-size: 13px;
        }
        
        .result-details {
            background: #2d2d2d;
            padding: 12px;
            border-radius: 4px;
            margin-bottom: 14px;
            text-align: left;
            border: 1px solid #4a4a4a;
        }
        
        .result-details h4 {
            color: #ff6b6b;
            margin-bottom: 8px;
            font-size: 13px;
            font-weight: 600;
        }
        
        .result-details ul {
            margin: 0;
            padding-left: 18px;
            color: #aaa;
            font-size: 12px;
        }
        
        .result-details li {
            margin-bottom: 4px;
        }
        
        .difficulty-badge {
            display: inline-block;
            padding: 4px 12px;
            border-radius: 12px;
            font-size: 11px;
            font-weight: 600;
            margin-bottom: 12px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        
        .difficulty-badge.easy {
            background: #4caf50;
            color: white;
        }
        
        .difficulty-badge.medium {
            background: #ff9800;
            color: white;
        }
        
        .difficulty-badge.advanced {
            background: #ff6b6b;
            color: white;
        }
        
        .btn-cta {
            background: #ff6b6b;
            color: white;
            padding: 10px 28px;
            font-size: 14px;
            text-decoration: none;
            display: inline-block;
            border-radius: 4px;
            transition: all 0.3s ease;
            font-weight: 600;
        }
        
        .btn-cta:hover {
            background: #ff5252;
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
        }
        
        .progress-bar {
            width: 100%;
            height: 3px;
            background: #4a4a4a;
            border-radius: 2px;
            margin-bottom: 14px;
            overflow: hidden;
        }
        
        .progress-fill {
            height: 100%;
            background: #ff6b6b;
            transition: width 0.3s ease;
        }
        
        .note-box {
            background: #2d2d2d;
            padding: 10px;
            border-left: 3px solid #ff6b6b;
            border-radius: 4px;
            margin-top: 12px;
            text-align: left;
            font-size: 11px;
            color: #aaa;
            border: 1px solid #4a4a4a;
        }
        
        .intro-screen {
            background: #3a3a3a;
            padding: 24px;
            border-radius: 6px;
            text-align: center;
        }
        
        .intro-screen.hidden {
            display: none;
        }
        
        .intro-content {
            max-width: 500px;
            margin: 0 auto;
        }
        
        .intro-icon {
            font-size: 56px;
            margin-bottom: 14px;
        }
        
        .intro-content h4 {
            color: #fff;
            font-size: 20px;
            margin-bottom: 12px;
            font-weight: 600;
        }
        
        .intro-text {
            color: #ccc;
            font-size: 13px;
            line-height: 1.6;
            margin-bottom: 24px;
        }
        
        .btn-start {
            background: #ff6b6b;
            color: white;
            padding: 12px 36px;
            font-size: 15px;
            border-radius: 4px;
            font-weight: 600;
            border: none;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .btn-start:hover {
            background: #ff5252;
            box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
        }
    </style>
</head>
<body>
    <div class="mt4-diagnostic-form">
        <div class="form-content">
            
            <div class="progress-bar" id="progressBarContainer" style="display: none;">
                <div class="progress-fill" id="progressBar" style="width: 0%"></div>
            </div>
            
            <!-- イントロ画面 -->
            <div class="intro-screen" id="introScreen">
                <div class="intro-content">
                    <div class="intro-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50d.png" alt="🔍" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                    <h4>デコンパイル可能性を診断</h4>
                    <p class="intro-text">
                        5つの質問で診断します（所要時間：約1分）
                    </p>
                    <button type="button" class="btn btn-start" id="startBtn">診断を開始する</button>
                </div>
            </div>
        
        <form id="diagnosticForm" style="display: none;">
            <!-- 質問1 -->
            <div class="question-block" data-question="1">
                <div class="question-title">
                    <span class="question-number">Q1</span>
                    ファイルの拡張子は何ですか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q1" value="ex4" required>
                        .ex4ファイル
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q1" value="mq4">
                        .mq4ファイル(ソースコード)
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q1" value="other">
                        その他のファイル
                    </label>
                </div>
            </div>
            
            <!-- 質問2 -->
            <div class="question-block hidden" data-question="2">
                <div class="question-title">
                    <span class="question-number">Q2</span>
                    ファイルは特定の口座でしか動作しませんか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q2" value="yes" required>
                        はい、特定の口座でのみ動作します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q2" value="no">
                        いいえ、どの口座でも動作します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q2" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <!-- 質問3 -->
            <div class="question-block hidden" data-question="3">
                <div class="question-title">
                    <span class="question-number">Q3</span>
                    ファイルを開こうとしたときにエラーが表示されますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q3" value="account-error" required>
                        口座番号に関するエラーが表示される
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q3" value="other-error">
                        別のエラーが表示される
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q3" value="no-error">
                        エラーは表示されない
                    </label>
                </div>
            </div>
            
            <!-- 質問4 -->
            <div class="question-block hidden" data-question="4">
                <div class="question-title">
                    <span class="question-number">Q4</span>
                    EAが外部DLLファイルを使用していますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q4" value="yes" required>
                        はい、DLLファイルが必要です
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q4" value="no">
                        いいえ、使用していません
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q4" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <!-- 質問5 -->
            <div class="question-block hidden" data-question="5">
                <div class="question-title">
                    <span class="question-number">Q5</span>
                    起動時に外部サーバーでライセンス認証を行いますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q5" value="yes" required>
                        はい、外部サーバーで認証が必要です
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q5" value="no">
                        いいえ、ローカルで認証が完結します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q5" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <div class="btn-container">
                <button type="button" class="btn btn-next" id="nextBtn" disabled>次へ</button>
            </div>
        </form>
        
        <!-- 結果表示 -->
        <div class="result-container hidden" id="resultContainer">
            <div class="result-icon" id="resultIcon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
            <div class="difficulty-badge" id="difficultyBadge"></div>
            <div class="result-title" id="resultTitle"></div>
            <div class="result-message" id="resultMessage"></div>
            <div class="result-details" id="resultDetails"></div>
            <a href="https://formok.com/f/64hux0wy?case_id=4ZAMXB" class="btn-cta" target="_blank">
                詳しく相談する →
            </a>
            <div class="note-box">
                <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 最終的な判断には実際のファイル解析が必要です。まずはお気軽にご相談ください。
            </div>
        </div>
        </div>
    </div>

    <script>
        let currentQuestion = 0; // 0 = intro screen
        const totalQuestions = 5;
        const answers = {};
        
        const form = document.getElementById('diagnosticForm');
        const nextBtn = document.getElementById('nextBtn');
        const startBtn = document.getElementById('startBtn');
        const introScreen = document.getElementById('introScreen');
        const progressBar = document.getElementById('progressBar');
        const progressBarContainer = document.getElementById('progressBarContainer');
        const resultContainer = document.getElementById('resultContainer');
        
        // 診断開始ボタン
        startBtn.addEventListener('click', function() {
            introScreen.classList.add('hidden');
            form.style.display = 'block';
            progressBarContainer.style.display = 'block';
            currentQuestion = 1;
            showQuestion(1);
        });
        
        // 質問を表示
        function showQuestion(questionNum) {
            const questionBlock = document.querySelector(`[data-question="${questionNum}"]`);
            if (questionBlock) {
                questionBlock.classList.remove('hidden');
            }
        }
        
        // ラジオボタンの選択を監視
        form.addEventListener('change', function(e) {
            if (e.target.type === 'radio') {
                nextBtn.disabled = false;
                answers[e.target.name] = e.target.value;
            }
        });
        
        // 次へボタンのクリック処理
        nextBtn.addEventListener('click', function() {
            const currentQuestionBlock = document.querySelector(`[data-question="${currentQuestion}"]`);
            const selectedOption = form.querySelector(`input[name="q${currentQuestion}"]:checked`);
            
            if (!selectedOption) return;
            
            // 現在の質問を非表示
            currentQuestionBlock.classList.add('hidden');
            
            // 次の質問へ
            currentQuestion++;
            
            // プログレスバーを更新
            const progress = (currentQuestion / totalQuestions) * 100;
            progressBar.style.width = progress + '%';
            
            if (currentQuestion <= totalQuestions) {
                // 次の質問を表示
                showQuestion(currentQuestion);
                nextBtn.disabled = true;
                
                // 最後の質問の場合はボタンテキストを変更
                if (currentQuestion === totalQuestions) {
                    nextBtn.textContent = '診断結果を見る';
                }
            } else {
                // すべての質問が終わったら結果を表示
                showResult();
            }
        });
        
        function showResult() {
            form.style.display = 'none';
            document.querySelector('.progress-bar').style.display = 'none';
            resultContainer.classList.remove('hidden');
            
            // 回答に基づいて結果を判定
            const resultType = determineResultType();
            displayResult(resultType);
        }
        
        function determineResultType() {
            // スコアリングシステム
            let complexityScore = 0;
            
            // Q1: ファイル拡張子
            if (answers.q1 === 'mq4') {
                return 'already-source'; // すでにソースコード
            } else if (answers.q1 === 'other') {
                return 'not-ex4'; // ex4ファイルではない
            }
            
            // Q2: 口座縛り
            if (answers.q2 === 'yes') {
                complexityScore += 0; // 標準的なケース
            } else if (answers.q2 === 'no') {
                complexityScore += 1; // 口座縛りなし
            }
            
            // Q3: エラー表示
            if (answers.q3 === 'account-error') {
                complexityScore += 0; // 標準的な口座エラー
            } else if (answers.q3 === 'other-error') {
                complexityScore += 2; // 別のエラー
            }
            
            // Q4: DLL使用
            if (answers.q4 === 'yes') {
                complexityScore += 3; // DLL使用で複雑度アップ
            } else if (answers.q4 === 'no') {
                complexityScore += 0;
            } else {
                complexityScore += 1; // 不明
            }
            
            // Q5: オンライン認証
            if (answers.q5 === 'yes') {
                complexityScore += 3; // サーバー認証で複雑度アップ
            } else if (answers.q5 === 'no') {
                complexityScore += 0;
            } else {
                complexityScore += 1; // 不明
            }
            
            // スコアに基づいて結果タイプを決定
            if (complexityScore === 0) {
                return 'standard'; // 標準的なケース
            } else if (complexityScore <= 2) {
                return 'moderate'; // やや複雑
            } else if (complexityScore <= 4) {
                return 'complex'; // 複雑
            } else {
                return 'advanced'; // 高度な保護
            }
        }
        
        function displayResult(resultType) {
            const resultIcon = document.getElementById('resultIcon');
            const difficultyBadge = document.getElementById('difficultyBadge');
            const resultTitle = document.getElementById('resultTitle');
            const resultMessage = document.getElementById('resultMessage');
            const resultDetails = document.getElementById('resultDetails');
            
            switch(resultType) {
                case 'already-source':
                    resultIcon.textContent = '&#x1f4c4;';
                    difficultyBadge.textContent = '対応不要';
                    difficultyBadge.className = 'difficulty-badge easy';
                    resultTitle.textContent = 'すでにソースコードです！';
                    resultMessage.innerHTML = '.mq4ファイルはソースコードなので、デコンパイルの必要はありません。<br>そのまま編集・カスタマイズが可能です。';
                    resultDetails.innerHTML = `
                        <h4>&#x2705; 次のステップ</h4>
                        <ul>
                            <li>MetaEditorで直接編集できます</li>
                            <li>口座縛りの解除も容易に可能です</li>
                            <li>ロジックの修正・改良が自由にできます</li>
                        </ul>
                    `;
                    break;
                    
                case 'not-ex4':
                    resultIcon.textContent = '&#x2753;';
                    difficultyBadge.textContent = '要確認';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = 'ファイル形式の確認が必要です';
                    resultMessage.innerHTML = 'ex4ファイル以外の場合、デコンパイルサービスの対象外となる可能性があります。<br>まずはファイルをご確認ください。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f4cb; 確認事項</h4>
                        <ul>
                            <li>ファイル拡張子が.ex4または.mq4か確認してください</li>
                            <li>MT4のエキスパートフォルダに配置できるファイルか確認してください</li>
                            <li>不明な場合はお問い合わせください</li>
                        </ul>
                    `;
                    break;
                    
                case 'standard':
                    resultIcon.textContent = '&#x2705;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 高';
                    difficultyBadge.className = 'difficulty-badge easy';
                    resultTitle.textContent = 'デコンパイル可能です！';
                    resultMessage.innerHTML = '標準的な口座縛りのケースです。<br>デコンパイルと口座縛り解除が比較的スムーズに行える可能性が高いです。';
                    resultDetails.innerHTML = `
                        <h4>&#x2728; 期待できること</h4>
                        <ul>
                            <li>口座番号の制限を解除できます</li>
                            <li>ソースコードの取得が可能です</li>
                            <li>ロジックの確認・修正ができます</li>
                        </ul>
                    `;
                    break;
                    
                case 'moderate':
                    resultIcon.textContent = '&#x1f4a1;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 中〜高';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = 'デコンパイル対応可能です';
                    resultMessage.innerHTML = 'やや複雑な保護が施されている可能性がありますが、<br>多くの場合デコンパイルと解析が可能です。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f50d; 想定される内容</h4>
                        <ul>
                            <li>基本的な難読化への対応が必要</li>
                            <li>複数の認証ポイントの解除が必要な可能性</li>
                            <li>詳細な解析により対応可能</li>
                        </ul>
                    `;
                    break;
                    
                case 'complex':
                    resultIcon.textContent = '&#x1f527;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 中';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = '高度な解析で対応可能です';
                    resultMessage.innerHTML = '複雑な保護が施されている可能性がありますが、<br>専門的な技術により対応できるケースが多くあります。';
                    resultDetails.innerHTML = `
                        <h4>&#x2699; 対応について</h4>
                        <ul>
                            <li>DLLや複雑な認証への対応が必要な可能性</li>
                            <li>詳細なファイル解析が必要です</li>
                            <li>実績のある技術で対応いたします</li>
                        </ul>
                    `;
                    break;
                    
                case 'advanced':
                    resultIcon.textContent = '&#x1f3af;';
                    difficultyBadge.textContent = '要詳細診断';
                    difficultyBadge.className = 'difficulty-badge advanced';
                    resultTitle.textContent = '詳細診断が必要です';
                    resultMessage.innerHTML = '高度な保護技術が使用されている可能性があります。<br>実際のファイルを解析して対応可否を判断させていただきます。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f4ca; 次のステップ</h4>
                        <ul>
                            <li>まずは無料でファイル診断を行います</li>
                            <li>DLL解析やサーバー認証の回避技術を検討</li>
                            <li>複雑なケースでも対応実績があります</li>
                            <li>難易度に応じた見積もりをご提示します</li>
                        </ul>
                    `;
                    break;
            }
        }
    </script>
</body>
</html>




<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><strong>ex4 デコンパイル ダウンロード</strong><br>このキーワードで調べている人は、すでに一歩踏み込んでいる。</p>



<p class="wp-block-paragraph">「とりあえずツールを落とせば何とかなる」<br>昔は、正直それで済んだ時代もあった。</p>



<p class="wp-block-paragraph">今は少し違う。</p>



<p class="wp-block-paragraph">EX4デコンパイルツールをダウンロードし、<br>実行し、<br>解析を始めたところで、<br>思ったより早く止まる。</p>



<p class="wp-block-paragraph">私は <strong>EX4デコンパイルを専門に扱うエンジニア</strong>として、<br>この「ダウンロードまでは行ったが、その先で詰まった」相談を何度も受けてきた。</p>



<p class="wp-block-paragraph">結論から言うと、<br><strong>EX4デコンパイルツールを試す前に、知っておくべき制限がいくつかある。</strong><br>これを知らないままダウンロードすると、遠回りになりやすい。</p>



<p class="wp-block-paragraph">もし今、<br>「まずはツールを試そうとしている」<br>その段階なら、判断材料として一度ここを見ておくだけでも構わない。<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com">デコンパイルはこちら</a></p>



<h2 class="wp-block-heading">EX4デコンパイルツールがまず探される理由</h2>



<p class="wp-block-paragraph">ex4 デコンパイル ダウンロード<br>この検索には、はっきりした心理がある。</p>



<ul class="wp-block-list">
<li>無料で試したい</li>



<li>自分でできるところまでやりたい</li>



<li>依頼は最後の手段にしたい</li>
</ul>



<p class="wp-block-paragraph">これは自然だ。</p>



<p class="wp-block-paragraph">特に、<br>EX4を手に入れた直後は<br>「コードに戻せば解決するはず」という期待がある。</p>



<p class="wp-block-paragraph">だから、</p>



<p class="wp-block-paragraph">検索する<br>ダウンロードする<br>実行する</p>



<p class="wp-block-paragraph">ここまでは、ほぼ全員が同じ道を通る。</p>



<h2 class="wp-block-heading">ダウンロード前に理解しておくべき前提</h2>



<p class="wp-block-paragraph">まず、冷静に整理しておきたい。</p>



<p class="wp-block-paragraph">EX4は、<br><strong>MT4用にコンパイルされた実行ファイル</strong>だ。</p>



<p class="wp-block-paragraph">つまり、</p>



<ul class="wp-block-list">
<li>人が読む前提ではない</li>



<li>再編集を想定していない</li>



<li>設計意図は削除されている</li>
</ul>



<p class="wp-block-paragraph">この状態から、<br>「元のMQ4を完全に取り戻す」ことは前提として難しい。</p>



<p class="wp-block-paragraph">EX4デコンパイルツールは、<br><strong>復元ツールではなく、解析補助ツール</strong>だと考えた方が近い。</p>



<h2 class="wp-block-heading">EX4デコンパイルツールの主な制限</h2>



<p class="wp-block-paragraph">ここからが本題になる。</p>



<p class="wp-block-paragraph">ツールをダウンロードする前に、<br>最低限知っておくべき制限がある。</p>



<h3 class="wp-block-heading">制限① 完全な復元はできない</h3>



<p class="wp-block-paragraph">これは一番大きな誤解だ。</p>



<p class="wp-block-paragraph">EX4からMQ4に戻すといっても、</p>



<p class="wp-block-paragraph">変数名<br>コメント<br>作者の意図</p>



<p class="wp-block-paragraph">これらは戻らない。</p>



<p class="wp-block-paragraph">ツールが吐き出すのは、<br><strong>実行構造を再構成したコード</strong>に近い。</p>



<p class="wp-block-paragraph">「それっぽいコード」は出る。<br>だが、そのまま使えることは少ない。</p>



<h3 class="wp-block-heading">制限② MT4ビルドとの相性がある</h3>



<p class="wp-block-paragraph">EX4は、<br>コンパイルされたMT4のビルドに強く依存する。</p>



<p class="wp-block-paragraph">古いツールでは、</p>



<ul class="wp-block-list">
<li>解析が途中で止まる</li>



<li>何も出力されない</li>



<li>意味のないコードになる</li>
</ul>



<p class="wp-block-paragraph">こうした現象が起きやすい。</p>



<p class="wp-block-paragraph">これは操作ミスではない。</p>



<h3 class="wp-block-heading">制限③ 制御ロジックが分離できない</h3>



<p class="wp-block-paragraph">口座縛り。<br>ブローカー制限。<br>サーバー判定。</p>



<p class="wp-block-paragraph">これらが<br>売買ロジックと一体化しているEAは、<br>ツールでは切り分けられない。</p>



<p class="wp-block-paragraph">結果として、<br>「どこを直せばいいのか分からない」状態になる。</p>



<h2 class="wp-block-heading">解析ツールを使っても残る課題</h2>



<p class="wp-block-paragraph">EX4デコンパイルツールで止まった後、<br>さらに踏み込む人は <strong><a href="https://github.com/NationalSecurityAgency/ghidra">Ghidra</a></strong> を使うことが多い。</p>



<p class="wp-block-paragraph">逆アセンブルできる。<br>構造が追える。<br>かなり“解析している感”が出る。</p>



<p class="wp-block-paragraph">だが、Ghidraを使っても、<br>必ず残る課題がある。</p>



<ul class="wp-block-list">
<li>MT4特有の関数構造をどう読み替えるか</li>



<li>売買ロジックと制御の境界をどう判断するか</li>



<li>最終的に動く形へどう再構築するか</li>
</ul>



<p class="wp-block-paragraph">ここで止まる人が非常に多い。</p>



<p class="wp-block-paragraph">Ghidraを試した後に何が壁になるのかについては、<br>こちらの記事で詳しく整理している。</p>



<p class="wp-block-paragraph">・<a href="https://mt4decompile.com/ex4-decompile-ghidra/">GhidraでEX4デコンパイルを試した後に残る課題とは</a></p>



<h2 class="wp-block-heading">EX4デコンパイルツールに期待しすぎると起きるズレ</h2>



<p class="wp-block-paragraph">よくあるズレがある。</p>



<p class="wp-block-paragraph">「ツールを変えれば解決する」<br>「もっと良いダウンロード先があるはず」</p>



<p class="wp-block-paragraph">だが実際は、<br><strong>ツールの問題ではなく、EX4の構造そのものが原因</strong>であることが多い。</p>



<p class="wp-block-paragraph">ツールは、</p>



<ul class="wp-block-list">
<li>入口としては有効</li>



<li>限界点も明確</li>
</ul>



<p class="wp-block-paragraph">という位置づけだ。</p>



<p class="wp-block-paragraph">その限界を越えるには、<br>考え方を切り替える必要がある。</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com">デコンパイルはこちら</a></p>



<h2 class="wp-block-heading">ダウンロード前に一度考えておきたいこと</h2>



<p class="wp-block-paragraph">EX4デコンパイルツールをダウンロードする前に、<br>一度だけ自分に問いかけてほしい。</p>



<p class="wp-block-paragraph">・目的は学習か<br>・それとも実用か</p>



<h3 class="wp-block-heading">学習目的なら</h3>



<p class="wp-block-paragraph">構造を理解したい。<br>ロジックを読みたい。<br>自分で書き直す前提。</p>



<p class="wp-block-paragraph">この場合、<br>ツール＋解析で止まっても問題ない。</p>



<h3 class="wp-block-heading">実用目的なら</h3>



<p class="wp-block-paragraph">口座縛りを解除したい。<br>自分の口座で動かしたい。<br>EAをそのまま使いたい。</p>



<p class="wp-block-paragraph">この目的なら、<br><strong>ツールで止まるのは想定内</strong>だ。</p>



<p class="wp-block-paragraph">ここを理解していないと、<br>ダウンロード → 試行 → 停滞<br>を何度も繰り返すことになる。</p>



<h2 class="wp-block-heading">まとめの前に整理しておく制限</h2>



<p class="wp-block-paragraph">EX4デコンパイルツールには、</p>



<p class="wp-block-paragraph">できること<br>できないこと</p>



<p class="wp-block-paragraph">がはっきり分かれている。</p>



<ul class="wp-block-list">
<li>完全復元は不可</li>



<li>ビルド依存がある</li>



<li>制御分離は難しい</li>
</ul>



<p class="wp-block-paragraph">この制限を知らずにダウンロードすると、<br>「思ったのと違う」と感じやすい。</p>



<h2 class="wp-block-heading">まとめ｜EX4デコンパイルツールを試す前に</h2>



<p class="wp-block-paragraph"><strong>EX4デコンパイルツールは万能ではない。</strong></p>



<p class="wp-block-paragraph">だが、<br>入口としては十分に価値がある。</p>



<p class="wp-block-paragraph">重要なのは、</p>



<p class="wp-block-paragraph">どこまで無料・ツールで試すか。<br>どこで考え方を切り替えるか。</p>



<p class="wp-block-paragraph">この判断だけだ。</p>



<p class="wp-block-paragraph">もし今、<br>「ダウンロードする前に一度整理したい」<br>そう感じているなら、<br>判断材料としてここを見ておくだけでも構わない。<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com">デコンパイルはこちら</a></p>



<p class="wp-block-paragraph">静かに、<br>必要な人だけが次に進めばいい。</p>
<p>投稿 <a href="https://mt4decompile.com/ex4-decompile-download/">EX4デコンパイルツールを試す前に知っておくべき制限</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>EX4デコンパイルは無料でどこまで可能か｜依頼に切り替える境界</title>
		<link>https://mt4decompile.com/ex4-decompile-free-limit/</link>
		
		<dc:creator><![CDATA[MT4解除研究所運営者]]></dc:creator>
		<pubDate>Wed, 24 Dec 2025 03:35:01 +0000</pubDate>
				<category><![CDATA[方法]]></category>
		<guid isPermaLink="false">https://mt4decompile.com/?p=681</guid>

					<description><![CDATA[<p>MT4デコンパイル診断フォーム 🔍 デコンパイル可能性を診断 5つの質問で診断します（所要時間：約1分） 診断を開始する Q1 ファイルの拡張子は何ですか? .ex4ファイル .mq4ファイル(ソースコード) その他のフ...</p>
<p>投稿 <a href="https://mt4decompile.com/ex4-decompile-free-limit/">EX4デコンパイルは無料でどこまで可能か｜依頼に切り替える境界</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>MT4デコンパイル診断フォーム</title>
    <style>
        .mt4-diagnostic-form {
            max-width: 700px;
            margin: 20px auto;
            padding: 20px;
            background: #2d2d2d;
            border-radius: 8px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.3);
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            border: 1px solid #3d3d3d;
        }
        
        .form-content {
            position: relative;
        }
        
        .mt4-diagnostic-form h3 {
            color: #ffffff;
            text-align: center;
            margin-bottom: 4px;
            font-size: 20px;
            font-weight: 700;
        }
        
        .mt4-diagnostic-form .subtitle {
            text-align: center;
            color: #999;
            margin-bottom: 14px;
            font-size: 12px;
        }
        
        .question-block {
            background: #3a3a3a;
            padding: 14px;
            margin-bottom: 10px;
            border-radius: 6px;
            border-left: 3px solid #ff6b6b;
        }
        
        .question-block.hidden {
            display: none;
        }
        
        .question-title {
            font-weight: 600;
            color: #e0e0e0;
            margin-bottom: 10px;
            font-size: 13px;
            display: flex;
            align-items: center;
        }
        
        .question-number {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #ff6b6b;
            color: white;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            font-size: 11px;
            margin-right: 8px;
            font-weight: 700;
            flex-shrink: 0;
        }
        
        .options {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }
        
        .option-label {
            display: flex;
            align-items: center;
            padding: 8px 12px;
            background: #2d2d2d;
            border: 1px solid #4a4a4a;
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.2s ease;
            font-size: 13px;
            color: #ccc;
        }
        
        .option-label:hover {
            background: #353535;
            border-color: #ff6b6b;
            color: #fff;
        }
        
        .option-label input[type="radio"] {
            margin-right: 8px;
            cursor: pointer;
            accent-color: #ff6b6b;
        }
        
        .btn-container {
            text-align: center;
            margin-top: 12px;
        }
        
        .btn {
            padding: 9px 26px;
            font-size: 13px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.3s ease;
            font-weight: 600;
        }
        
        .btn-next {
            background: #ff6b6b;
            color: white;
        }
        
        .btn-next:hover {
            background: #ff5252;
            box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4);
        }
        
        .btn-next:disabled {
            background: #555;
            cursor: not-allowed;
            color: #888;
        }
        
        .result-container {
            background: #3a3a3a;
            padding: 20px;
            border-radius: 6px;
            text-align: center;
        }
        
        .result-container.hidden {
            display: none;
        }
        
        .result-icon {
            font-size: 44px;
            margin-bottom: 10px;
        }
        
        .result-title {
            font-size: 18px;
            font-weight: bold;
            color: #ffffff;
            margin-bottom: 8px;
        }
        
        .result-message {
            color: #ccc;
            margin-bottom: 14px;
            line-height: 1.6;
            font-size: 13px;
        }
        
        .result-details {
            background: #2d2d2d;
            padding: 12px;
            border-radius: 4px;
            margin-bottom: 14px;
            text-align: left;
            border: 1px solid #4a4a4a;
        }
        
        .result-details h4 {
            color: #ff6b6b;
            margin-bottom: 8px;
            font-size: 13px;
            font-weight: 600;
        }
        
        .result-details ul {
            margin: 0;
            padding-left: 18px;
            color: #aaa;
            font-size: 12px;
        }
        
        .result-details li {
            margin-bottom: 4px;
        }
        
        .difficulty-badge {
            display: inline-block;
            padding: 4px 12px;
            border-radius: 12px;
            font-size: 11px;
            font-weight: 600;
            margin-bottom: 12px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        
        .difficulty-badge.easy {
            background: #4caf50;
            color: white;
        }
        
        .difficulty-badge.medium {
            background: #ff9800;
            color: white;
        }
        
        .difficulty-badge.advanced {
            background: #ff6b6b;
            color: white;
        }
        
        .btn-cta {
            background: #ff6b6b;
            color: white;
            padding: 10px 28px;
            font-size: 14px;
            text-decoration: none;
            display: inline-block;
            border-radius: 4px;
            transition: all 0.3s ease;
            font-weight: 600;
        }
        
        .btn-cta:hover {
            background: #ff5252;
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
        }
        
        .progress-bar {
            width: 100%;
            height: 3px;
            background: #4a4a4a;
            border-radius: 2px;
            margin-bottom: 14px;
            overflow: hidden;
        }
        
        .progress-fill {
            height: 100%;
            background: #ff6b6b;
            transition: width 0.3s ease;
        }
        
        .note-box {
            background: #2d2d2d;
            padding: 10px;
            border-left: 3px solid #ff6b6b;
            border-radius: 4px;
            margin-top: 12px;
            text-align: left;
            font-size: 11px;
            color: #aaa;
            border: 1px solid #4a4a4a;
        }
        
        .intro-screen {
            background: #3a3a3a;
            padding: 24px;
            border-radius: 6px;
            text-align: center;
        }
        
        .intro-screen.hidden {
            display: none;
        }
        
        .intro-content {
            max-width: 500px;
            margin: 0 auto;
        }
        
        .intro-icon {
            font-size: 56px;
            margin-bottom: 14px;
        }
        
        .intro-content h4 {
            color: #fff;
            font-size: 20px;
            margin-bottom: 12px;
            font-weight: 600;
        }
        
        .intro-text {
            color: #ccc;
            font-size: 13px;
            line-height: 1.6;
            margin-bottom: 24px;
        }
        
        .btn-start {
            background: #ff6b6b;
            color: white;
            padding: 12px 36px;
            font-size: 15px;
            border-radius: 4px;
            font-weight: 600;
            border: none;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .btn-start:hover {
            background: #ff5252;
            box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
        }
    </style>
</head>
<body>
    <div class="mt4-diagnostic-form">
        <div class="form-content">
            
            <div class="progress-bar" id="progressBarContainer" style="display: none;">
                <div class="progress-fill" id="progressBar" style="width: 0%"></div>
            </div>
            
            <!-- イントロ画面 -->
            <div class="intro-screen" id="introScreen">
                <div class="intro-content">
                    <div class="intro-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50d.png" alt="🔍" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                    <h4>デコンパイル可能性を診断</h4>
                    <p class="intro-text">
                        5つの質問で診断します（所要時間：約1分）
                    </p>
                    <button type="button" class="btn btn-start" id="startBtn">診断を開始する</button>
                </div>
            </div>
        
        <form id="diagnosticForm" style="display: none;">
            <!-- 質問1 -->
            <div class="question-block" data-question="1">
                <div class="question-title">
                    <span class="question-number">Q1</span>
                    ファイルの拡張子は何ですか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q1" value="ex4" required>
                        .ex4ファイル
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q1" value="mq4">
                        .mq4ファイル(ソースコード)
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q1" value="other">
                        その他のファイル
                    </label>
                </div>
            </div>
            
            <!-- 質問2 -->
            <div class="question-block hidden" data-question="2">
                <div class="question-title">
                    <span class="question-number">Q2</span>
                    ファイルは特定の口座でしか動作しませんか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q2" value="yes" required>
                        はい、特定の口座でのみ動作します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q2" value="no">
                        いいえ、どの口座でも動作します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q2" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <!-- 質問3 -->
            <div class="question-block hidden" data-question="3">
                <div class="question-title">
                    <span class="question-number">Q3</span>
                    ファイルを開こうとしたときにエラーが表示されますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q3" value="account-error" required>
                        口座番号に関するエラーが表示される
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q3" value="other-error">
                        別のエラーが表示される
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q3" value="no-error">
                        エラーは表示されない
                    </label>
                </div>
            </div>
            
            <!-- 質問4 -->
            <div class="question-block hidden" data-question="4">
                <div class="question-title">
                    <span class="question-number">Q4</span>
                    EAが外部DLLファイルを使用していますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q4" value="yes" required>
                        はい、DLLファイルが必要です
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q4" value="no">
                        いいえ、使用していません
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q4" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <!-- 質問5 -->
            <div class="question-block hidden" data-question="5">
                <div class="question-title">
                    <span class="question-number">Q5</span>
                    起動時に外部サーバーでライセンス認証を行いますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q5" value="yes" required>
                        はい、外部サーバーで認証が必要です
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q5" value="no">
                        いいえ、ローカルで認証が完結します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q5" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <div class="btn-container">
                <button type="button" class="btn btn-next" id="nextBtn" disabled>次へ</button>
            </div>
        </form>
        
        <!-- 結果表示 -->
        <div class="result-container hidden" id="resultContainer">
            <div class="result-icon" id="resultIcon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
            <div class="difficulty-badge" id="difficultyBadge"></div>
            <div class="result-title" id="resultTitle"></div>
            <div class="result-message" id="resultMessage"></div>
            <div class="result-details" id="resultDetails"></div>
            <a href="https://formok.com/f/64hux0wy?case_id=4ZAMXB" class="btn-cta" target="_blank">
                詳しく相談する →
            </a>
            <div class="note-box">
                <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 最終的な判断には実際のファイル解析が必要です。まずはお気軽にご相談ください。
            </div>
        </div>
        </div>
    </div>

    <script>
        let currentQuestion = 0; // 0 = intro screen
        const totalQuestions = 5;
        const answers = {};
        
        const form = document.getElementById('diagnosticForm');
        const nextBtn = document.getElementById('nextBtn');
        const startBtn = document.getElementById('startBtn');
        const introScreen = document.getElementById('introScreen');
        const progressBar = document.getElementById('progressBar');
        const progressBarContainer = document.getElementById('progressBarContainer');
        const resultContainer = document.getElementById('resultContainer');
        
        // 診断開始ボタン
        startBtn.addEventListener('click', function() {
            introScreen.classList.add('hidden');
            form.style.display = 'block';
            progressBarContainer.style.display = 'block';
            currentQuestion = 1;
            showQuestion(1);
        });
        
        // 質問を表示
        function showQuestion(questionNum) {
            const questionBlock = document.querySelector(`[data-question="${questionNum}"]`);
            if (questionBlock) {
                questionBlock.classList.remove('hidden');
            }
        }
        
        // ラジオボタンの選択を監視
        form.addEventListener('change', function(e) {
            if (e.target.type === 'radio') {
                nextBtn.disabled = false;
                answers[e.target.name] = e.target.value;
            }
        });
        
        // 次へボタンのクリック処理
        nextBtn.addEventListener('click', function() {
            const currentQuestionBlock = document.querySelector(`[data-question="${currentQuestion}"]`);
            const selectedOption = form.querySelector(`input[name="q${currentQuestion}"]:checked`);
            
            if (!selectedOption) return;
            
            // 現在の質問を非表示
            currentQuestionBlock.classList.add('hidden');
            
            // 次の質問へ
            currentQuestion++;
            
            // プログレスバーを更新
            const progress = (currentQuestion / totalQuestions) * 100;
            progressBar.style.width = progress + '%';
            
            if (currentQuestion <= totalQuestions) {
                // 次の質問を表示
                showQuestion(currentQuestion);
                nextBtn.disabled = true;
                
                // 最後の質問の場合はボタンテキストを変更
                if (currentQuestion === totalQuestions) {
                    nextBtn.textContent = '診断結果を見る';
                }
            } else {
                // すべての質問が終わったら結果を表示
                showResult();
            }
        });
        
        function showResult() {
            form.style.display = 'none';
            document.querySelector('.progress-bar').style.display = 'none';
            resultContainer.classList.remove('hidden');
            
            // 回答に基づいて結果を判定
            const resultType = determineResultType();
            displayResult(resultType);
        }
        
        function determineResultType() {
            // スコアリングシステム
            let complexityScore = 0;
            
            // Q1: ファイル拡張子
            if (answers.q1 === 'mq4') {
                return 'already-source'; // すでにソースコード
            } else if (answers.q1 === 'other') {
                return 'not-ex4'; // ex4ファイルではない
            }
            
            // Q2: 口座縛り
            if (answers.q2 === 'yes') {
                complexityScore += 0; // 標準的なケース
            } else if (answers.q2 === 'no') {
                complexityScore += 1; // 口座縛りなし
            }
            
            // Q3: エラー表示
            if (answers.q3 === 'account-error') {
                complexityScore += 0; // 標準的な口座エラー
            } else if (answers.q3 === 'other-error') {
                complexityScore += 2; // 別のエラー
            }
            
            // Q4: DLL使用
            if (answers.q4 === 'yes') {
                complexityScore += 3; // DLL使用で複雑度アップ
            } else if (answers.q4 === 'no') {
                complexityScore += 0;
            } else {
                complexityScore += 1; // 不明
            }
            
            // Q5: オンライン認証
            if (answers.q5 === 'yes') {
                complexityScore += 3; // サーバー認証で複雑度アップ
            } else if (answers.q5 === 'no') {
                complexityScore += 0;
            } else {
                complexityScore += 1; // 不明
            }
            
            // スコアに基づいて結果タイプを決定
            if (complexityScore === 0) {
                return 'standard'; // 標準的なケース
            } else if (complexityScore <= 2) {
                return 'moderate'; // やや複雑
            } else if (complexityScore <= 4) {
                return 'complex'; // 複雑
            } else {
                return 'advanced'; // 高度な保護
            }
        }
        
        function displayResult(resultType) {
            const resultIcon = document.getElementById('resultIcon');
            const difficultyBadge = document.getElementById('difficultyBadge');
            const resultTitle = document.getElementById('resultTitle');
            const resultMessage = document.getElementById('resultMessage');
            const resultDetails = document.getElementById('resultDetails');
            
            switch(resultType) {
                case 'already-source':
                    resultIcon.textContent = '&#x1f4c4;';
                    difficultyBadge.textContent = '対応不要';
                    difficultyBadge.className = 'difficulty-badge easy';
                    resultTitle.textContent = 'すでにソースコードです！';
                    resultMessage.innerHTML = '.mq4ファイルはソースコードなので、デコンパイルの必要はありません。<br>そのまま編集・カスタマイズが可能です。';
                    resultDetails.innerHTML = `
                        <h4>&#x2705; 次のステップ</h4>
                        <ul>
                            <li>MetaEditorで直接編集できます</li>
                            <li>口座縛りの解除も容易に可能です</li>
                            <li>ロジックの修正・改良が自由にできます</li>
                        </ul>
                    `;
                    break;
                    
                case 'not-ex4':
                    resultIcon.textContent = '&#x2753;';
                    difficultyBadge.textContent = '要確認';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = 'ファイル形式の確認が必要です';
                    resultMessage.innerHTML = 'ex4ファイル以外の場合、デコンパイルサービスの対象外となる可能性があります。<br>まずはファイルをご確認ください。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f4cb; 確認事項</h4>
                        <ul>
                            <li>ファイル拡張子が.ex4または.mq4か確認してください</li>
                            <li>MT4のエキスパートフォルダに配置できるファイルか確認してください</li>
                            <li>不明な場合はお問い合わせください</li>
                        </ul>
                    `;
                    break;
                    
                case 'standard':
                    resultIcon.textContent = '&#x2705;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 高';
                    difficultyBadge.className = 'difficulty-badge easy';
                    resultTitle.textContent = 'デコンパイル可能です！';
                    resultMessage.innerHTML = '標準的な口座縛りのケースです。<br>デコンパイルと口座縛り解除が比較的スムーズに行える可能性が高いです。';
                    resultDetails.innerHTML = `
                        <h4>&#x2728; 期待できること</h4>
                        <ul>
                            <li>口座番号の制限を解除できます</li>
                            <li>ソースコードの取得が可能です</li>
                            <li>ロジックの確認・修正ができます</li>
                        </ul>
                    `;
                    break;
                    
                case 'moderate':
                    resultIcon.textContent = '&#x1f4a1;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 中〜高';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = 'デコンパイル対応可能です';
                    resultMessage.innerHTML = 'やや複雑な保護が施されている可能性がありますが、<br>多くの場合デコンパイルと解析が可能です。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f50d; 想定される内容</h4>
                        <ul>
                            <li>基本的な難読化への対応が必要</li>
                            <li>複数の認証ポイントの解除が必要な可能性</li>
                            <li>詳細な解析により対応可能</li>
                        </ul>
                    `;
                    break;
                    
                case 'complex':
                    resultIcon.textContent = '&#x1f527;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 中';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = '高度な解析で対応可能です';
                    resultMessage.innerHTML = '複雑な保護が施されている可能性がありますが、<br>専門的な技術により対応できるケースが多くあります。';
                    resultDetails.innerHTML = `
                        <h4>&#x2699; 対応について</h4>
                        <ul>
                            <li>DLLや複雑な認証への対応が必要な可能性</li>
                            <li>詳細なファイル解析が必要です</li>
                            <li>実績のある技術で対応いたします</li>
                        </ul>
                    `;
                    break;
                    
                case 'advanced':
                    resultIcon.textContent = '&#x1f3af;';
                    difficultyBadge.textContent = '要詳細診断';
                    difficultyBadge.className = 'difficulty-badge advanced';
                    resultTitle.textContent = '詳細診断が必要です';
                    resultMessage.innerHTML = '高度な保護技術が使用されている可能性があります。<br>実際のファイルを解析して対応可否を判断させていただきます。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f4ca; 次のステップ</h4>
                        <ul>
                            <li>まずは無料でファイル診断を行います</li>
                            <li>DLL解析やサーバー認証の回避技術を検討</li>
                            <li>複雑なケースでも対応実績があります</li>
                            <li>難易度に応じた見積もりをご提示します</li>
                        </ul>
                    `;
                    break;
            }
        }
    </script>
</body>
</html>




<p class="wp-block-paragraph"><strong>ex4 デコンパイル 無料</strong><br>このキーワードで調べている人は、だいたい同じ場所で立ち止まっている。</p>



<p class="wp-block-paragraph">有料は避けたい。<br>まずは無料でどこまでできるのか知りたい。<br>可能なら、自分で完結させたい。</p>



<p class="wp-block-paragraph">そう思って、<br>EX4デコンパイルの無料ツールを探し、<br>いくつか試し、<br>それなりに時間も使った。</p>



<p class="wp-block-paragraph">けれど、途中でこう感じ始める。</p>



<p class="wp-block-paragraph">「これ以上、進まない」<br>「何が限界なのか分からない」<br>「依頼に切り替えるべきなのか判断できない」</p>



<p class="wp-block-paragraph">私は <strong>EX4デコンパイルを専門に扱うエンジニア</strong>として、<br>まさにこの段階の相談を多く受けてきた。</p>



<p class="wp-block-paragraph">結論から言うと、<br><strong>EX4デコンパイルは無料でも一定ラインまでは可能だが、<br>越えられない境界もはっきり存在する。</strong></p>



<p class="wp-block-paragraph">もし今、<br>「無料でやれることはやった気がする」<br>そう感じているなら、判断材料として一度ここを見ておくだけでも構わない。<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com/"></a><a href="https://mt4decompile.com/">デコンパイルはこちら</a></p>



<h2 class="wp-block-heading">EX4デコンパイルを無料で試す人が多い理由</h2>



<p class="wp-block-paragraph">まず前提として、<br>無料から試すのはごく自然な流れだ。</p>



<p class="wp-block-paragraph">理由は単純。</p>



<ul class="wp-block-list">
<li>コストがかからない</li>



<li>情報が多い</li>



<li>手軽に始められる</li>
</ul>



<p class="wp-block-paragraph">特に、<br>「EX4をMQ4に戻せたら便利そう」<br>この段階では、依頼という選択肢はまだ遠い。</p>



<p class="wp-block-paragraph">だから、</p>



<p class="wp-block-paragraph">無料ツール → 少し調査 → それでも無理なら次を考える</p>



<p class="wp-block-paragraph">この順番になる。</p>



<h2 class="wp-block-heading">無料でできるEX4デコンパイルの範囲</h2>



<p class="wp-block-paragraph">では、実際に<br><strong>EX4デコンパイルは無料でどこまで可能なのか。</strong></p>



<p class="wp-block-paragraph">これは、かなり明確だ。</p>



<h3 class="wp-block-heading">実行構造の把握</h3>



<p class="wp-block-paragraph">無料ツールや解析ツールを使えば、</p>



<ul class="wp-block-list">
<li>条件分岐</li>



<li>処理の流れ</li>



<li>関数の呼び出し順</li>
</ul>



<p class="wp-block-paragraph">こうした<strong>構造レベルの把握</strong>はできる。</p>



<p class="wp-block-paragraph">「どういう順番で動いているEAか」<br>ここまでは見える。</p>



<h3 class="wp-block-heading">ロジックの一部を推測する</h3>



<p class="wp-block-paragraph">売買条件の断片。<br>インジケーター参照。<br>エントリーのきっかけ。</p>



<p class="wp-block-paragraph">断片的だが、<br>ロジックの雰囲気は掴める。</p>



<p class="wp-block-paragraph">学習目的であれば、<br>この段階でも十分な人はいる。</p>



<h2 class="wp-block-heading">無料では越えられない境界</h2>



<p class="wp-block-paragraph">問題はここからだ。</p>



<p class="wp-block-paragraph">無料で試している多くの人が、<br>同じ場所で止まる。</p>



<h3 class="wp-block-heading">変数名・コメントは戻らない</h3>



<p class="wp-block-paragraph">EX4は、<br>コンパイル時に情報が削除される。</p>



<p class="wp-block-paragraph">意味のある変数名。<br>作者のコメント。<br>設計意図。</p>



<p class="wp-block-paragraph">これらは、<br>無料でも有料でも「元通り」にはならない。</p>



<h3 class="wp-block-heading">口座縛りなどの制御が読めない</h3>



<p class="wp-block-paragraph">口座番号チェック。<br>ブローカー制御。<br>サーバー名判定。</p>



<p class="wp-block-paragraph">こうした制御は、<br>売買ロジックと混ざっていることが多い。</p>



<p class="wp-block-paragraph">無料ツールでは、<br>分離できずに止まる。</p>



<h3 class="wp-block-heading">実際に動くMQ4にはならない</h3>



<p class="wp-block-paragraph">たとえコードが出力されても、</p>



<ul class="wp-block-list">
<li>コンパイルできない</li>



<li>動作しない</li>



<li>挙動が違う</li>
</ul>



<p class="wp-block-paragraph">この状態になるケースがほとんどだ。</p>



<p class="wp-block-paragraph"><strong>無料で「使えるEA」に戻すのは、現実的ではない。</strong></p>



<h2 class="wp-block-heading">Ghidraを使った後に見えてくる壁</h2>



<p class="wp-block-paragraph">無料の範囲で<br>一歩踏み込む人は <strong><strong><a href="https://github.com/NationalSecurityAgency/ghidra">Ghidra</a></strong></strong> を使うことが多い。</p>



<p class="wp-block-paragraph">逆アセンブルできる。<br>構造が追える。<br>「解析している感」はある。</p>



<p class="wp-block-paragraph">だが、Ghidraを使ったあと、<br>必ず次の壁にぶつかる。</p>



<ul class="wp-block-list">
<li>MT4特有の処理をどう再解釈するか</li>



<li>売買ロジックと制御をどう切り分けるか</li>



<li>最終的にどう動く形に戻すか</li>
</ul>



<p class="wp-block-paragraph">このあたりで止まる。</p>



<p class="wp-block-paragraph">Ghidraを使ったあとに残る課題については、<br>こちらで詳しく整理している。</p>



<p class="wp-block-paragraph">・<a href="https://mt4decompile.com/ex4-decompile-ghidra/">GhidraでEX4デコンパイルを試した後に残る課題とは</a></p>



<h2 class="wp-block-heading">無料から依頼に切り替える境界はどこか</h2>



<p class="wp-block-paragraph">ここが一番よく聞かれる。</p>



<p class="wp-block-paragraph">「どこまで無料でやって、<br>どこから依頼に切り替えるべきか」</p>



<p class="wp-block-paragraph">判断軸はシンプルだ。</p>



<h3 class="wp-block-heading">学習目的なら無料で十分</h3>



<p class="wp-block-paragraph">構造を理解したい。<br>ロジックを学びたい。<br>自分で書き直すつもり。</p>



<p class="wp-block-paragraph">この目的なら、<br>無料で止まっても問題ない。</p>



<p class="wp-block-paragraph">時間をかければ、得るものはある。</p>



<h3 class="wp-block-heading">実用目的なら切り替え時</h3>



<p class="wp-block-paragraph">口座縛りを解除したい。<br>自分の口座で動かしたい。<br>実戦で使いたい。</p>



<p class="wp-block-paragraph">この目的なら、<br><strong>無料で止まった時点が切り替えの境界</strong>になる。</p>



<p class="wp-block-paragraph">ここから先は、<br>ツールの問題ではなく、<br>再構築の問題になる。</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com/"></a><a href="https://mt4decompile.com/">デコンパイルはこちら</a></p>



<h2 class="wp-block-heading">無料にこだわり続けると起きるズレ</h2>



<p class="wp-block-paragraph">よくある思い込みがある。</p>



<p class="wp-block-paragraph">「無料でできるはず」<br>「もう少し調べれば何とかなる」</p>



<p class="wp-block-paragraph">だが実際は、<br>EX4の構造そのものが、<br>そこまで親切ではない。</p>



<p class="wp-block-paragraph">無料は、</p>



<p class="wp-block-paragraph">入口としては優秀。<br>限界もはっきりしている。</p>



<p class="wp-block-paragraph">その限界を越えるには、<br>発想を切り替える必要がある。</p>



<h2 class="wp-block-heading">まとめの前に整理しておくこと</h2>



<p class="wp-block-paragraph">EX4デコンパイルを無料で試して止まるのは、</p>



<p class="wp-block-paragraph">能力不足ではない。<br>やり方の問題でもない。<br><strong>構造と目的の問題</strong>だ。</p>



<p class="wp-block-paragraph">ここを見誤ると、<br>同じところを何度も回る。</p>



<h2 class="wp-block-heading">まとめ｜EX4デコンパイル無料の現実と判断軸</h2>



<p class="wp-block-paragraph"><strong>EX4デコンパイルは無料でも一定ラインまでは可能。<br>だが、越えられない境界もはっきり存在する。</strong></p>



<p class="wp-block-paragraph">学習なら無料でいい。<br>実用なら切り替える。</p>



<p class="wp-block-paragraph">その判断だけだ。</p>



<p class="wp-block-paragraph">もし今、<br>「無料でできることはやった」<br>そう感じているなら、<br>判断材料としてここを見ておくだけでも構わない。<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com/"></a><a href="https://mt4decompile.com/">デコンパイルはこちら</a></p>



<p class="wp-block-paragraph">静かに、<br>必要な人だけが次に進めばいい。</p>
<p>投稿 <a href="https://mt4decompile.com/ex4-decompile-free-limit/">EX4デコンパイルは無料でどこまで可能か｜依頼に切り替える境界</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>EX4デコンパイルをフリーソフトで試して止まった場合の次の選択肢</title>
		<link>https://mt4decompile.com/ex4-decompile-free/</link>
		
		<dc:creator><![CDATA[MT4解除研究所運営者]]></dc:creator>
		<pubDate>Tue, 23 Dec 2025 11:43:16 +0000</pubDate>
				<category><![CDATA[方法]]></category>
		<guid isPermaLink="false">https://mt4decompile.com/?p=647</guid>

					<description><![CDATA[<p>MT4デコンパイル診断フォーム 🔍 デコンパイル可能性を診断 5つの質問で診断します（所要時間：約1分） 診断を開始する Q1 ファイルの拡張子は何ですか? .ex4ファイル .mq4ファイル(ソースコード) その他のフ...</p>
<p>投稿 <a href="https://mt4decompile.com/ex4-decompile-free/">EX4デコンパイルをフリーソフトで試して止まった場合の次の選択肢</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>MT4デコンパイル診断フォーム</title>
    <style>
        .mt4-diagnostic-form {
            max-width: 700px;
            margin: 20px auto;
            padding: 20px;
            background: #2d2d2d;
            border-radius: 8px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.3);
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            border: 1px solid #3d3d3d;
        }
        
        .form-content {
            position: relative;
        }
        
        .mt4-diagnostic-form h3 {
            color: #ffffff;
            text-align: center;
            margin-bottom: 4px;
            font-size: 20px;
            font-weight: 700;
        }
        
        .mt4-diagnostic-form .subtitle {
            text-align: center;
            color: #999;
            margin-bottom: 14px;
            font-size: 12px;
        }
        
        .question-block {
            background: #3a3a3a;
            padding: 14px;
            margin-bottom: 10px;
            border-radius: 6px;
            border-left: 3px solid #ff6b6b;
        }
        
        .question-block.hidden {
            display: none;
        }
        
        .question-title {
            font-weight: 600;
            color: #e0e0e0;
            margin-bottom: 10px;
            font-size: 13px;
            display: flex;
            align-items: center;
        }
        
        .question-number {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #ff6b6b;
            color: white;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            font-size: 11px;
            margin-right: 8px;
            font-weight: 700;
            flex-shrink: 0;
        }
        
        .options {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }
        
        .option-label {
            display: flex;
            align-items: center;
            padding: 8px 12px;
            background: #2d2d2d;
            border: 1px solid #4a4a4a;
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.2s ease;
            font-size: 13px;
            color: #ccc;
        }
        
        .option-label:hover {
            background: #353535;
            border-color: #ff6b6b;
            color: #fff;
        }
        
        .option-label input[type="radio"] {
            margin-right: 8px;
            cursor: pointer;
            accent-color: #ff6b6b;
        }
        
        .btn-container {
            text-align: center;
            margin-top: 12px;
        }
        
        .btn {
            padding: 9px 26px;
            font-size: 13px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.3s ease;
            font-weight: 600;
        }
        
        .btn-next {
            background: #ff6b6b;
            color: white;
        }
        
        .btn-next:hover {
            background: #ff5252;
            box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4);
        }
        
        .btn-next:disabled {
            background: #555;
            cursor: not-allowed;
            color: #888;
        }
        
        .result-container {
            background: #3a3a3a;
            padding: 20px;
            border-radius: 6px;
            text-align: center;
        }
        
        .result-container.hidden {
            display: none;
        }
        
        .result-icon {
            font-size: 44px;
            margin-bottom: 10px;
        }
        
        .result-title {
            font-size: 18px;
            font-weight: bold;
            color: #ffffff;
            margin-bottom: 8px;
        }
        
        .result-message {
            color: #ccc;
            margin-bottom: 14px;
            line-height: 1.6;
            font-size: 13px;
        }
        
        .result-details {
            background: #2d2d2d;
            padding: 12px;
            border-radius: 4px;
            margin-bottom: 14px;
            text-align: left;
            border: 1px solid #4a4a4a;
        }
        
        .result-details h4 {
            color: #ff6b6b;
            margin-bottom: 8px;
            font-size: 13px;
            font-weight: 600;
        }
        
        .result-details ul {
            margin: 0;
            padding-left: 18px;
            color: #aaa;
            font-size: 12px;
        }
        
        .result-details li {
            margin-bottom: 4px;
        }
        
        .difficulty-badge {
            display: inline-block;
            padding: 4px 12px;
            border-radius: 12px;
            font-size: 11px;
            font-weight: 600;
            margin-bottom: 12px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        
        .difficulty-badge.easy {
            background: #4caf50;
            color: white;
        }
        
        .difficulty-badge.medium {
            background: #ff9800;
            color: white;
        }
        
        .difficulty-badge.advanced {
            background: #ff6b6b;
            color: white;
        }
        
        .btn-cta {
            background: #ff6b6b;
            color: white;
            padding: 10px 28px;
            font-size: 14px;
            text-decoration: none;
            display: inline-block;
            border-radius: 4px;
            transition: all 0.3s ease;
            font-weight: 600;
        }
        
        .btn-cta:hover {
            background: #ff5252;
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
        }
        
        .progress-bar {
            width: 100%;
            height: 3px;
            background: #4a4a4a;
            border-radius: 2px;
            margin-bottom: 14px;
            overflow: hidden;
        }
        
        .progress-fill {
            height: 100%;
            background: #ff6b6b;
            transition: width 0.3s ease;
        }
        
        .note-box {
            background: #2d2d2d;
            padding: 10px;
            border-left: 3px solid #ff6b6b;
            border-radius: 4px;
            margin-top: 12px;
            text-align: left;
            font-size: 11px;
            color: #aaa;
            border: 1px solid #4a4a4a;
        }
        
        .intro-screen {
            background: #3a3a3a;
            padding: 24px;
            border-radius: 6px;
            text-align: center;
        }
        
        .intro-screen.hidden {
            display: none;
        }
        
        .intro-content {
            max-width: 500px;
            margin: 0 auto;
        }
        
        .intro-icon {
            font-size: 56px;
            margin-bottom: 14px;
        }
        
        .intro-content h4 {
            color: #fff;
            font-size: 20px;
            margin-bottom: 12px;
            font-weight: 600;
        }
        
        .intro-text {
            color: #ccc;
            font-size: 13px;
            line-height: 1.6;
            margin-bottom: 24px;
        }
        
        .btn-start {
            background: #ff6b6b;
            color: white;
            padding: 12px 36px;
            font-size: 15px;
            border-radius: 4px;
            font-weight: 600;
            border: none;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .btn-start:hover {
            background: #ff5252;
            box-shadow: 0 4px 15px rgba(255, 107, 107, 0.4);
        }
    </style>
</head>
<body>
    <div class="mt4-diagnostic-form">
        <div class="form-content">
            
            <div class="progress-bar" id="progressBarContainer" style="display: none;">
                <div class="progress-fill" id="progressBar" style="width: 0%"></div>
            </div>
            
            <!-- イントロ画面 -->
            <div class="intro-screen" id="introScreen">
                <div class="intro-content">
                    <div class="intro-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50d.png" alt="🔍" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                    <h4>デコンパイル可能性を診断</h4>
                    <p class="intro-text">
                        5つの質問で診断します（所要時間：約1分）
                    </p>
                    <button type="button" class="btn btn-start" id="startBtn">診断を開始する</button>
                </div>
            </div>
        
        <form id="diagnosticForm" style="display: none;">
            <!-- 質問1 -->
            <div class="question-block" data-question="1">
                <div class="question-title">
                    <span class="question-number">Q1</span>
                    ファイルの拡張子は何ですか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q1" value="ex4" required>
                        .ex4ファイル
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q1" value="mq4">
                        .mq4ファイル(ソースコード)
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q1" value="other">
                        その他のファイル
                    </label>
                </div>
            </div>
            
            <!-- 質問2 -->
            <div class="question-block hidden" data-question="2">
                <div class="question-title">
                    <span class="question-number">Q2</span>
                    ファイルは特定の口座でしか動作しませんか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q2" value="yes" required>
                        はい、特定の口座でのみ動作します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q2" value="no">
                        いいえ、どの口座でも動作します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q2" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <!-- 質問3 -->
            <div class="question-block hidden" data-question="3">
                <div class="question-title">
                    <span class="question-number">Q3</span>
                    ファイルを開こうとしたときにエラーが表示されますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q3" value="account-error" required>
                        口座番号に関するエラーが表示される
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q3" value="other-error">
                        別のエラーが表示される
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q3" value="no-error">
                        エラーは表示されない
                    </label>
                </div>
            </div>
            
            <!-- 質問4 -->
            <div class="question-block hidden" data-question="4">
                <div class="question-title">
                    <span class="question-number">Q4</span>
                    EAが外部DLLファイルを使用していますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q4" value="yes" required>
                        はい、DLLファイルが必要です
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q4" value="no">
                        いいえ、使用していません
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q4" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <!-- 質問5 -->
            <div class="question-block hidden" data-question="5">
                <div class="question-title">
                    <span class="question-number">Q5</span>
                    起動時に外部サーバーでライセンス認証を行いますか?
                </div>
                <div class="options">
                    <label class="option-label">
                        <input type="radio" name="q5" value="yes" required>
                        はい、外部サーバーで認証が必要です
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q5" value="no">
                        いいえ、ローカルで認証が完結します
                    </label>
                    <label class="option-label">
                        <input type="radio" name="q5" value="unknown">
                        わかりません
                    </label>
                </div>
            </div>
            
            <div class="btn-container">
                <button type="button" class="btn btn-next" id="nextBtn" disabled>次へ</button>
            </div>
        </form>
        
        <!-- 結果表示 -->
        <div class="result-container hidden" id="resultContainer">
            <div class="result-icon" id="resultIcon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
            <div class="difficulty-badge" id="difficultyBadge"></div>
            <div class="result-title" id="resultTitle"></div>
            <div class="result-message" id="resultMessage"></div>
            <div class="result-details" id="resultDetails"></div>
            <a href="https://formok.com/f/64hux0wy?case_id=4ZAMXB" class="btn-cta" target="_blank">
                詳しく相談する →
            </a>
            <div class="note-box">
                <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 最終的な判断には実際のファイル解析が必要です。まずはお気軽にご相談ください。
            </div>
        </div>
        </div>
    </div>

    <script>
        let currentQuestion = 0; // 0 = intro screen
        const totalQuestions = 5;
        const answers = {};
        
        const form = document.getElementById('diagnosticForm');
        const nextBtn = document.getElementById('nextBtn');
        const startBtn = document.getElementById('startBtn');
        const introScreen = document.getElementById('introScreen');
        const progressBar = document.getElementById('progressBar');
        const progressBarContainer = document.getElementById('progressBarContainer');
        const resultContainer = document.getElementById('resultContainer');
        
        // 診断開始ボタン
        startBtn.addEventListener('click', function() {
            introScreen.classList.add('hidden');
            form.style.display = 'block';
            progressBarContainer.style.display = 'block';
            currentQuestion = 1;
            showQuestion(1);
        });
        
        // 質問を表示
        function showQuestion(questionNum) {
            const questionBlock = document.querySelector(`[data-question="${questionNum}"]`);
            if (questionBlock) {
                questionBlock.classList.remove('hidden');
            }
        }
        
        // ラジオボタンの選択を監視
        form.addEventListener('change', function(e) {
            if (e.target.type === 'radio') {
                nextBtn.disabled = false;
                answers[e.target.name] = e.target.value;
            }
        });
        
        // 次へボタンのクリック処理
        nextBtn.addEventListener('click', function() {
            const currentQuestionBlock = document.querySelector(`[data-question="${currentQuestion}"]`);
            const selectedOption = form.querySelector(`input[name="q${currentQuestion}"]:checked`);
            
            if (!selectedOption) return;
            
            // 現在の質問を非表示
            currentQuestionBlock.classList.add('hidden');
            
            // 次の質問へ
            currentQuestion++;
            
            // プログレスバーを更新
            const progress = (currentQuestion / totalQuestions) * 100;
            progressBar.style.width = progress + '%';
            
            if (currentQuestion <= totalQuestions) {
                // 次の質問を表示
                showQuestion(currentQuestion);
                nextBtn.disabled = true;
                
                // 最後の質問の場合はボタンテキストを変更
                if (currentQuestion === totalQuestions) {
                    nextBtn.textContent = '診断結果を見る';
                }
            } else {
                // すべての質問が終わったら結果を表示
                showResult();
            }
        });
        
        function showResult() {
            form.style.display = 'none';
            document.querySelector('.progress-bar').style.display = 'none';
            resultContainer.classList.remove('hidden');
            
            // 回答に基づいて結果を判定
            const resultType = determineResultType();
            displayResult(resultType);
        }
        
        function determineResultType() {
            // スコアリングシステム
            let complexityScore = 0;
            
            // Q1: ファイル拡張子
            if (answers.q1 === 'mq4') {
                return 'already-source'; // すでにソースコード
            } else if (answers.q1 === 'other') {
                return 'not-ex4'; // ex4ファイルではない
            }
            
            // Q2: 口座縛り
            if (answers.q2 === 'yes') {
                complexityScore += 0; // 標準的なケース
            } else if (answers.q2 === 'no') {
                complexityScore += 1; // 口座縛りなし
            }
            
            // Q3: エラー表示
            if (answers.q3 === 'account-error') {
                complexityScore += 0; // 標準的な口座エラー
            } else if (answers.q3 === 'other-error') {
                complexityScore += 2; // 別のエラー
            }
            
            // Q4: DLL使用
            if (answers.q4 === 'yes') {
                complexityScore += 3; // DLL使用で複雑度アップ
            } else if (answers.q4 === 'no') {
                complexityScore += 0;
            } else {
                complexityScore += 1; // 不明
            }
            
            // Q5: オンライン認証
            if (answers.q5 === 'yes') {
                complexityScore += 3; // サーバー認証で複雑度アップ
            } else if (answers.q5 === 'no') {
                complexityScore += 0;
            } else {
                complexityScore += 1; // 不明
            }
            
            // スコアに基づいて結果タイプを決定
            if (complexityScore === 0) {
                return 'standard'; // 標準的なケース
            } else if (complexityScore <= 2) {
                return 'moderate'; // やや複雑
            } else if (complexityScore <= 4) {
                return 'complex'; // 複雑
            } else {
                return 'advanced'; // 高度な保護
            }
        }
        
        function displayResult(resultType) {
            const resultIcon = document.getElementById('resultIcon');
            const difficultyBadge = document.getElementById('difficultyBadge');
            const resultTitle = document.getElementById('resultTitle');
            const resultMessage = document.getElementById('resultMessage');
            const resultDetails = document.getElementById('resultDetails');
            
            switch(resultType) {
                case 'already-source':
                    resultIcon.textContent = '&#x1f4c4;';
                    difficultyBadge.textContent = '対応不要';
                    difficultyBadge.className = 'difficulty-badge easy';
                    resultTitle.textContent = 'すでにソースコードです！';
                    resultMessage.innerHTML = '.mq4ファイルはソースコードなので、デコンパイルの必要はありません。<br>そのまま編集・カスタマイズが可能です。';
                    resultDetails.innerHTML = `
                        <h4>&#x2705; 次のステップ</h4>
                        <ul>
                            <li>MetaEditorで直接編集できます</li>
                            <li>口座縛りの解除も容易に可能です</li>
                            <li>ロジックの修正・改良が自由にできます</li>
                        </ul>
                    `;
                    break;
                    
                case 'not-ex4':
                    resultIcon.textContent = '&#x2753;';
                    difficultyBadge.textContent = '要確認';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = 'ファイル形式の確認が必要です';
                    resultMessage.innerHTML = 'ex4ファイル以外の場合、デコンパイルサービスの対象外となる可能性があります。<br>まずはファイルをご確認ください。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f4cb; 確認事項</h4>
                        <ul>
                            <li>ファイル拡張子が.ex4または.mq4か確認してください</li>
                            <li>MT4のエキスパートフォルダに配置できるファイルか確認してください</li>
                            <li>不明な場合はお問い合わせください</li>
                        </ul>
                    `;
                    break;
                    
                case 'standard':
                    resultIcon.textContent = '&#x2705;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 高';
                    difficultyBadge.className = 'difficulty-badge easy';
                    resultTitle.textContent = 'デコンパイル可能です！';
                    resultMessage.innerHTML = '標準的な口座縛りのケースです。<br>デコンパイルと口座縛り解除が比較的スムーズに行える可能性が高いです。';
                    resultDetails.innerHTML = `
                        <h4>&#x2728; 期待できること</h4>
                        <ul>
                            <li>口座番号の制限を解除できます</li>
                            <li>ソースコードの取得が可能です</li>
                            <li>ロジックの確認・修正ができます</li>
                        </ul>
                    `;
                    break;
                    
                case 'moderate':
                    resultIcon.textContent = '&#x1f4a1;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 中〜高';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = 'デコンパイル対応可能です';
                    resultMessage.innerHTML = 'やや複雑な保護が施されている可能性がありますが、<br>多くの場合デコンパイルと解析が可能です。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f50d; 想定される内容</h4>
                        <ul>
                            <li>基本的な難読化への対応が必要</li>
                            <li>複数の認証ポイントの解除が必要な可能性</li>
                            <li>詳細な解析により対応可能</li>
                        </ul>
                    `;
                    break;
                    
                case 'complex':
                    resultIcon.textContent = '&#x1f527;';
                    difficultyBadge.textContent = 'デコンパイル可能性: 中';
                    difficultyBadge.className = 'difficulty-badge medium';
                    resultTitle.textContent = '高度な解析で対応可能です';
                    resultMessage.innerHTML = '複雑な保護が施されている可能性がありますが、<br>専門的な技術により対応できるケースが多くあります。';
                    resultDetails.innerHTML = `
                        <h4>&#x2699; 対応について</h4>
                        <ul>
                            <li>DLLや複雑な認証への対応が必要な可能性</li>
                            <li>詳細なファイル解析が必要です</li>
                            <li>実績のある技術で対応いたします</li>
                        </ul>
                    `;
                    break;
                    
                case 'advanced':
                    resultIcon.textContent = '&#x1f3af;';
                    difficultyBadge.textContent = '要詳細診断';
                    difficultyBadge.className = 'difficulty-badge advanced';
                    resultTitle.textContent = '詳細診断が必要です';
                    resultMessage.innerHTML = '高度な保護技術が使用されている可能性があります。<br>実際のファイルを解析して対応可否を判断させていただきます。';
                    resultDetails.innerHTML = `
                        <h4>&#x1f4ca; 次のステップ</h4>
                        <ul>
                            <li>まずは無料でファイル診断を行います</li>
                            <li>DLL解析やサーバー認証の回避技術を検討</li>
                            <li>複雑なケースでも対応実績があります</li>
                            <li>難易度に応じた見積もりをご提示します</li>
                        </ul>
                    `;
                    break;
            }
        }
    </script>
</body>
</html>




<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><strong>ex4 デコンパイル フリーソフト</strong><br>このキーワードで調べている時点で、すでに一段階は進んでいると思う。</p>



<p class="wp-block-paragraph">いきなり依頼はしたくない。<br>まずは自分で試したい。<br>無料でどこまでいけるのか知りたい。</p>



<p class="wp-block-paragraph">そう考えて、<br>EX4デコンパイルのフリーソフトを探し、<br>ツールを落とし、<br>解析を試みた。</p>



<p class="wp-block-paragraph">でも、途中で止まる。</p>



<p class="wp-block-paragraph">エラーが出る。<br>解析が進まない。<br>それらしい出力は出たが、どう扱えばいいか分からない。</p>



<p class="wp-block-paragraph">私は <strong>EX4デコンパイルを専門に扱うエンジニア</strong>として、<br>この「フリーソフトで止まった段階」の相談を数多く受けてきた。</p>



<p class="wp-block-paragraph">結論から言うと、<br><strong>EX4デコンパイルをフリーソフトで試して止まるのは、珍しいことではない。<br>むしろ、そこまで行けたなら十分に試している。</strong></p>



<p class="wp-block-paragraph">もし今、<br>「もう少し自分で粘るべきか」<br>「次に何を選ぶべきか」<br>迷っているなら、判断材料として一度ここを見ておくだけでも構わない。<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com/">デコンパイルはこちら</a></p>



<h2 class="wp-block-heading">EX4デコンパイルでフリーソフトが選ばれる理由</h2>



<p class="wp-block-paragraph">まず、なぜ多くの人がフリーソフトから試すのか。</p>



<p class="wp-block-paragraph">理由はシンプルだ。</p>



<p class="wp-block-paragraph">無料である。<br>導入しやすい。<br>情報がネットに出回っている。</p>



<p class="wp-block-paragraph">特に、<br>「EX4をMQ4に戻せたら便利そうだ」<br>この段階では、コストをかける判断はしづらい。</p>



<p class="wp-block-paragraph">だから、</p>



<ul class="wp-block-list">
<li>まずはフリーソフト</li>



<li>次に有料ツール</li>



<li>最後に依頼</li>
</ul>



<p class="wp-block-paragraph">この順番になるのは自然だ。</p>



<h2 class="wp-block-heading">フリーソフトでEX4デコンパイルを試して止まる理由</h2>



<p class="wp-block-paragraph">では、なぜ多くの人が途中で止まるのか。</p>



<p class="wp-block-paragraph">これは、やり方が悪いからではない。</p>



<h3 class="wp-block-heading">EX4の構造上の限界</h3>



<p class="wp-block-paragraph">EX4は、<br>MT4で動くための実行ファイルだ。</p>



<p class="wp-block-paragraph">コンパイル時点で、</p>



<p class="wp-block-paragraph">変数名<br>コメント<br>設計時の意図</p>



<p class="wp-block-paragraph">これらは削除される。</p>



<p class="wp-block-paragraph">フリーソフトでできるのは、<br><strong>実行構造の一部を可視化すること</strong>まで。</p>



<p class="wp-block-paragraph">完全な復元は、そもそも想定されていない。</p>



<h3 class="wp-block-heading">新しいビルドとの相性問題</h3>



<p class="wp-block-paragraph">現在使われているMT4ビルドで作られたEX4は、<br>古い解析ツールではうまく扱えないことが多い。</p>



<p class="wp-block-paragraph">起動はする。<br>でも、</p>



<p class="wp-block-paragraph">途中で止まる。<br>意味のないコードが出る。<br>解析が完走しない。</p>



<p class="wp-block-paragraph">これは操作ミスではない。</p>



<h3 class="wp-block-heading">制御ロジックが深く組み込まれているEA</h3>



<p class="wp-block-paragraph">口座縛り。<br>ブローカー判定。<br>サーバー名チェック。</p>



<p class="wp-block-paragraph">こうした制御が<br>売買ロジックと一体化しているEAは、<br>フリーソフトでは構造を分離できない。</p>



<p class="wp-block-paragraph">結果として、<br>「止まる」「読めない」「使えない」<br>という状態になる。</p>



<h2 class="wp-block-heading">Ghidraなど解析ツールを使った後に残る課題</h2>



<p class="wp-block-paragraph">フリーソフトの中でも、<br>少し踏み込んだ人は <strong><a href="https://github.com/NationalSecurityAgency/ghidra">Ghidra</a></strong> を試すことが多い。</p>



<p class="wp-block-paragraph">逆アセンブルできる。<br>構造を追える。<br>「プロっぽい」感じがする。</p>



<p class="wp-block-paragraph">だが、Ghidraを使った後でも、<br>必ず残る課題がある。</p>



<ul class="wp-block-list">
<li>売買ロジックと制御の切り分け</li>



<li>MT4特有の関数構造の再解釈</li>



<li>実際に動くMQ4への再構築</li>
</ul>



<p class="wp-block-paragraph">このあたりで止まる人が多い。</p>



<p class="wp-block-paragraph">Ghidraを試した後に何が壁になるのかについては、<br>こちらの記事でより詳しく整理している。</p>



<p class="wp-block-paragraph">・<a href="https://mt4decompile.com/ex4-decompile-ghidra/">GhidraでEX4デコンパイルを試した後に残る課題とは</a></p>



<h2 class="wp-block-heading">フリーソフトで止まったあとに考えるべき視点</h2>



<p class="wp-block-paragraph">ここで重要なのは、<br>「もう少し別のツールを探すかどうか」ではない。</p>



<p class="wp-block-paragraph"><strong>目的をもう一度、はっきりさせること</strong>だ。</p>



<h3 class="wp-block-heading">学習・解析が目的の場合</h3>



<p class="wp-block-paragraph">構造を理解したい。<br>ロジックを読みたい。<br>自分で書き直したい。</p>



<p class="wp-block-paragraph">この目的なら、<br>フリーソフト＋Ghidraで止まるのは自然だ。</p>



<p class="wp-block-paragraph">ここから先は、<br>時間と労力をどこまでかけられるか、<br>という判断になる。</p>



<h3 class="wp-block-heading">実用が目的の場合</h3>



<p class="wp-block-paragraph">口座縛りを解除したい。<br>自分の口座でEAを動かしたい。<br>実戦で使いたい。</p>



<p class="wp-block-paragraph">この目的なら、<br><strong>フリーソフトで止まった時点で、次の選択肢を考える段階</strong>に来ている。</p>



<p class="wp-block-paragraph">ここを無理に粘ると、<br>時間だけが消えていく。</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com/">デコンパイルはこちら</a></p>



<h2 class="wp-block-heading">フリーソフトにこだわりすぎて起きるズレ</h2>



<p class="wp-block-paragraph">よくある思い込みがある。</p>



<p class="wp-block-paragraph">「無料でできるはず」<br>「もう少し探せば方法がある」</p>



<p class="wp-block-paragraph">だが現実は、<br><strong>EX4の構造自体が、そこまで親切ではない。</strong></p>



<p class="wp-block-paragraph">フリーソフトは、</p>



<ul class="wp-block-list">
<li>入り口としては優秀</li>



<li>限界点もはっきりしている</li>
</ul>



<p class="wp-block-paragraph">という位置づけだ。</p>



<p class="wp-block-paragraph">その限界を超えるには、<br>発想を切り替える必要がある。</p>



<h2 class="wp-block-heading">次の選択肢は「諦め」ではない</h2>



<p class="wp-block-paragraph">フリーソフトで止まったからといって、<br>失敗したわけではない。</p>



<p class="wp-block-paragraph">むしろ、</p>



<ul class="wp-block-list">
<li>どこまでできるか分かった</li>



<li>自分の目的が整理できた</li>
</ul>



<p class="wp-block-paragraph">この段階まで来ている。</p>



<p class="wp-block-paragraph">次に進むかどうかは、<br>目的次第だ。</p>



<h2 class="wp-block-heading">まとめの前に整理しておくこと</h2>



<p class="wp-block-paragraph">EX4デコンパイルをフリーソフトで試して止まるのは、</p>



<p class="wp-block-paragraph">能力不足ではない。<br>操作ミスでもない。<br><strong>構造と目的のズレ</strong>だ。</p>



<p class="wp-block-paragraph">ここを理解していないと、<br>同じところを何度も回ることになる。</p>



<h2 class="wp-block-heading">まとめ｜EX4デコンパイルをフリーソフトで止めた後の考え方</h2>



<p class="wp-block-paragraph"><strong>EX4デコンパイルをフリーソフトで試して止まるのは、ごく普通。</strong></p>



<p class="wp-block-paragraph">そこまで行けたなら、<br>十分に試している。</p>



<p class="wp-block-paragraph">あとは、</p>



<p class="wp-block-paragraph">もう少し時間をかけるか。<br>目的に合わせて切り替えるか。</p>



<p class="wp-block-paragraph">その判断だけだ。</p>



<p class="wp-block-paragraph">もし今、<br>「次の一手を考えたい」<br>そう感じているなら、<br>判断材料としてここを見ておくだけでも構わない。<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mt4decompile.com/">デコンパイルはこちら</a></p>



<p class="wp-block-paragraph">静かに、<br>必要な人だけが次に進めばいい。</p>
<p>投稿 <a href="https://mt4decompile.com/ex4-decompile-free/">EX4デコンパイルをフリーソフトで試して止まった場合の次の選択肢</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>EX4ファイルをMQ4に変換できない場合の現実的な解決策</title>
		<link>https://mt4decompile.com/ex4-to-mq4/</link>
		
		<dc:creator><![CDATA[MT4解除研究所運営者]]></dc:creator>
		<pubDate>Tue, 23 Dec 2025 11:32:54 +0000</pubDate>
				<category><![CDATA[方法]]></category>
		<guid isPermaLink="false">https://mt4decompile.com/?p=645</guid>

					<description><![CDATA[<p>ex4 ファイルをmq4ファイルに変換このキーワードでここに辿り着いた人は、たいてい一度は試している。 EX4を手に入れた。MQ4に戻せれば、設定も調整できるし、ロジックも確認できるかもしれない。 そう思って、ex4 t...</p>
<p>投稿 <a href="https://mt4decompile.com/ex4-to-mq4/">EX4ファイルをMQ4に変換できない場合の現実的な解決策</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>ex4 ファイルをmq4ファイルに変換</strong><br>このキーワードでここに辿り着いた人は、たいてい一度は試している。</p>



<p class="wp-block-paragraph">EX4を手に入れた。MQ4に戻せれば、設定も調整できるし、ロジックも確認できるかもしれない。</p>



<p class="wp-block-paragraph">そう思って、ex4 to mq4 decompiler を探し、exeを落とし、実行してみた。</p>



<p class="wp-block-paragraph">でも現実はこうだ。</p>



<p class="wp-block-paragraph">変換できない。途中で止まる。コードは出たが、使えない。</p>



<p class="wp-block-paragraph">私は <strong>EX4デコンパイルを専門に扱うエンジニア</strong>として、この段階で止まった人からの相談を数多く受けてきた。</p>



<p class="wp-block-paragraph">結論から言うと、<strong>EX4ファイルをMQ4に変換できないケースは珍しくない。そして、その場合の解決策はかなり限られている。</strong></p>



<div style="text-align:center; margin: 32px 0;">
  <a href="https://formok.com/f/64hux0wy?case_id=4ZAMXB" style="display:inline-block; background:#e8622a; color:#fff; padding:14px 44px; border-radius:50px; font-weight:700; font-size:15px; text-decoration:none;">無料でお見積もり →</a>
  <p style="color:#888; font-size:12px; margin-top:10px;">最短1日で納品可能・実績5,000件以上</p>
</div>



<h2 class="wp-block-heading">EX4ファイルをMQ4に変換する前に理解しておくべき前提</h2>



<p class="wp-block-paragraph">EX4をMQ4に変換する、という表現から「元のソースコードがそのまま戻る」そうイメージしている人は多い。だが実際は違う。</p>



<p class="wp-block-paragraph">EX4は、コンパイル済みの実行ファイルだ。そこからは、変数名、コメント、設計時の意図——こうした情報が削ぎ落とされている。</p>



<p class="wp-block-paragraph">つまり、<strong>EX4→MQ4変換は復元ではなく、再構成に近い作業</strong>になる。この前提を知らずにツールを探し続けると、結果はあまり変わらない。</p>



<h2 class="wp-block-heading">ex4 to mq4 decompilerでできることの実際</h2>



<p class="wp-block-paragraph">ネットでよく紹介されているex4 to mq4 decompiler。確かに、一部のEX4ではコードを吐き出す。できるのは、条件分岐の構造を展開する、実行フローをmq4風に書き起こす、ロジックの一部を可視化する——ここまで。</p>



<h3 class="wp-block-heading">戻らないもの</h3>



<p class="wp-block-paragraph">意味のある変数名、コメント、設計思想——これらは戻らない。そのため、<strong>コードは出たが、読めない・使えない</strong>という状態になる人が多い。</p>



<h2 class="wp-block-heading">EX4ファイルをMQ4に変換できない典型的な理由</h2>



<h3 class="wp-block-heading">新しいMT4ビルドで作られている</h3>



<p class="wp-block-paragraph">現在のMT4ビルドで作られたEX4は、古いdecompilerでは対応できないことが多い。exeは起動する。だが、何も出ない、途中で止まる、意味のないコードしか出ない——これは操作ミスではない。</p>



<h3 class="wp-block-heading">制御ロジックが売買ロジックと一体化している</h3>



<p class="wp-block-paragraph">口座縛り、ブローカー判定、サーバー名チェック——これらが売買条件の中に深く組み込まれているEAは、単純な変換では破綻する。</p>



<h3 class="wp-block-heading">外部要素に依存している</h3>



<p class="wp-block-paragraph">DLL、外部通信、ファイル操作——この時点で、decompiler単体では再現できない。</p>



<h2 class="wp-block-heading">実体験として一度、共有しておきたいこと</h2>



<p class="wp-block-paragraph">正直に言うと、私自身も一度、<strong>YouTube経由でEX4関連のツールを買ったことがある。</strong></p>



<p class="wp-block-paragraph">動画では、それなりに技術的な説明がされていて、コメント欄も活発だった。支払い方法はBTC送金のみ。今思えば、この時点で一度立ち止まるべきだった。</p>



<p class="wp-block-paragraph">指定されたアドレスにBTCを送金した。トランザクションも確認できた。「これで届くはずだ」と思って待った。</p>



<p class="wp-block-paragraph">でも、何も送られてこなかった。メールも来ない。ダウンロードリンクも来ない。その後、連絡が取れることもなかった。</p>



<p class="wp-block-paragraph">誰かを断定的に批判するつもりはない。ただ、<strong>結果として何も手に入らなかった</strong>。それが事実だ。</p>



<p class="wp-block-paragraph">この経験で強く感じたのは、EX4デコンパイル界隈は<strong>情報の非対称性がかなり大きい</strong>ということだった。</p>



<h2 class="wp-block-heading">変換できないときに考えるべき次の視点</h2>



<p class="wp-block-paragraph">ここで、多くの人が迷う。別のツールを探すべきか、もう少し粘るべきか。だが、この段階で重要なのは<strong>やり方ではなく、目的</strong>だ。</p>



<h3 class="wp-block-heading">構造を理解したい場合</h3>



<p class="wp-block-paragraph">学習目的でロジックを理解したい場合は、デコンパイル結果を参考にMQ4を一から組み直す価値はある。</p>



<h3 class="wp-block-heading">実用目的で使いたい場合</h3>



<p class="wp-block-paragraph">口座縛りを解除したい、自分の環境で動かしたい、EAを実戦で使いたい——この場合、<strong>EX4→MQ4変換にこだわる意味は薄い。</strong>ここが、解除依頼へ切り替える判断点になる。</p>



<p class="wp-block-paragraph">・<a href="https://mt4decompile.com/ex4-to-mq4-decompiler-usage/">ex4 to mq4 decompilerの使い方と、解除依頼に切り替える判断点</a><br>・<a href="https://mt4decompile.com/ea-decompile-software/">ex4 to mq4 decompiler 5.0 1 exeで復元できないEAの特徴</a></p>



<h2 class="wp-block-heading">EX4→MQ4変換にこだわりすぎて起きるズレ</h2>



<p class="wp-block-paragraph">「MQ4に戻せれば解決する」——よくある誤解だ。重要なのは、解除できるか、正しく動くか、元の挙動を再現できるか——<strong>形式ではなく、結果</strong>だ。MQ4風コードがあっても、動かなければ意味はない。</p>



<h2 class="wp-block-heading">まとめ｜EX4ファイルをMQ4に変換できないときの現実的な考え方</h2>



<p class="wp-block-paragraph"><strong>EX4ファイルをMQ4に変換できないのは、特別なことではない。</strong>むしろ、最近のEAほどその傾向は強い。</p>



<p class="wp-block-paragraph">無理に変換を続けるか、目的に合わせて切り替えるか——この判断が、一番の近道になる。</p>



<p class="wp-block-paragraph">静かに、必要な人だけが次に進めばいい。</p>



<div style="margin: 40px 0;">

<div style="background: #1a1a1a; border: 1px solid #2a2a2a; border-radius: 8px; padding: 28px; margin-bottom: 24px;">
  <p style="color: #fff; font-size: 16px; font-weight: 700; margin: 0 0 6px 0;">まずはデコンパイル可能か診断する</p>
  <p style="color: #888; font-size: 13px; margin: 0 0 16px 0;">5つの質問・約1分で判定します</p>
  <style>
    .diag4-q{background:#242424;border:1px solid #333;border-left:3px solid #e8622a;border-radius:6px;padding:14px;margin-bottom:10px}.diag4-q.hidden{display:none}.diag4-q-title{color:#e0e0e0;font-size:13px;font-weight:600;margin-bottom:10px;display:flex;align-items:center;gap:8px}.diag4-qnum{background:#e8622a;color:#fff;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.diag4-options{display:flex;flex-direction:column;gap:6px}.diag4-option{display:flex;align-items:center;padding:8px 12px;background:#1a1a1a;border:1px solid #333;border-radius:4px;cursor:pointer;font-size:13px;color:#ccc;transition:all .2s}.diag4-option:hover{border-color:#e8622a;color:#fff}.diag4-option input{margin-right:8px;accent-color:#e8622a}.diag4-progress{width:100%;height:3px;background:#333;border-radius:2px;margin-bottom:14px}.diag4-progress-fill{height:100%;background:#e8622a;transition:width .3s;border-radius:2px}.diag4-btn{background:#e8622a;color:#fff;border:none;padding:10px 28px;font-size:13px;font-weight:700;border-radius:4px;cursor:pointer;transition:background .2s}.diag4-btn:hover{background:#d05520}.diag4-btn:disabled{background:#444;color:#777;cursor:not-allowed}.diag4-result{background:#242424;border:1px solid #333;border-radius:6px;padding:20px;text-align:center}.diag4-result.hidden{display:none}.diag4-badge{display:inline-block;padding:4px 14px;border-radius:20px;font-size:11px;font-weight:700;margin-bottom:10px;letter-spacing:.5px}.diag4-badge.easy{background:#2e7d32;color:#fff}.diag4-badge.medium{background:#e65100;color:#fff}.diag4-badge.hard{background:#b71c1c;color:#fff}.diag4-result-title{color:#fff;font-size:17px;font-weight:700;margin-bottom:8px}.diag4-result-msg{color:#aaa;font-size:13px;line-height:1.7;margin-bottom:16px}.diag4-cta-btn{display:inline-block;background:#e8622a;color:#fff;padding:12px 32px;border-radius:4px;font-weight:700;font-size:14px;text-decoration:none}.diag4-cta-btn:hover{background:#d05520}
  </style>
  <div id="diag4Form">
    <div id="diag4Progress" class="diag4-progress" style="display:none;"><div id="diag4Fill" class="diag4-progress-fill" style="width:0%"></div></div>
    <div id="diag4Intro" style="text-align:center;padding:10px 0 16px;">
      <button class="diag4-btn" id="diag4Start">診断を開始する →</button>
    </div>
    <div id="diag4Questions" style="display:none;">
      <div class="diag4-q" data-q="1"><div class="diag4-q-title"><span class="diag4-qnum">Q1</span>ファイルの拡張子は？</div><div class="diag4-options"><label class="diag4-option"><input type="radio" name="d4q1" value="ex4"> .ex4ファイル</label><label class="diag4-option"><input type="radio" name="d4q1" value="mq4"> .mq4ファイル（ソースコード）</label><label class="diag4-option"><input type="radio" name="d4q1" value="other"> その他</label></div></div>
      <div class="diag4-q hidden" data-q="2"><div class="diag4-q-title"><span class="diag4-qnum">Q2</span>特定の口座でしか動作しませんか？</div><div class="diag4-options"><label class="diag4-option"><input type="radio" name="d4q2" value="yes"> はい、特定の口座のみ</label><label class="diag4-option"><input type="radio" name="d4q2" value="no"> いいえ、どの口座でも動く</label><label class="diag4-option"><input type="radio" name="d4q2" value="unknown"> わかりません</label></div></div>
      <div class="diag4-q hidden" data-q="3"><div class="diag4-q-title"><span class="diag4-qnum">Q3</span>起動時にエラーが表示されますか？</div><div class="diag4-options"><label class="diag4-option"><input type="radio" name="d4q3" value="account"> 口座番号に関するエラー</label><label class="diag4-option"><input type="radio" name="d4q3" value="other"> 別のエラー</label><label class="diag4-option"><input type="radio" name="d4q3" value="none"> エラーなし</label></div></div>
      <div class="diag4-q hidden" data-q="4"><div class="diag4-q-title"><span class="diag4-qnum">Q4</span>外部DLLファイルを使用していますか？</div><div class="diag4-options"><label class="diag4-option"><input type="radio" name="d4q4" value="yes"> はい</label><label class="diag4-option"><input type="radio" name="d4q4" value="no"> いいえ</label><label class="diag4-option"><input type="radio" name="d4q4" value="unknown"> わかりません</label></div></div>
      <div class="diag4-q hidden" data-q="5"><div class="diag4-q-title"><span class="diag4-qnum">Q5</span>外部サーバーでライセンス認証を行いますか？</div><div class="diag4-options"><label class="diag4-option"><input type="radio" name="d4q5" value="yes"> はい</label><label class="diag4-option"><input type="radio" name="d4q5" value="no"> いいえ</label><label class="diag4-option"><input type="radio" name="d4q5" value="unknown"> わかりません</label></div></div>
      <div style="text-align:center;margin-top:12px;"><button class="diag4-btn" id="diag4Next" disabled>次へ</button></div>
    </div>
    <div class="diag4-result hidden" id="diag4Result">
      <div class="diag4-badge" id="diag4Badge"></div>
      <div class="diag4-result-title" id="diag4Title"></div>
      <div class="diag4-result-msg" id="diag4Msg"></div>
      <a href="https://formok.com/f/64hux0wy?case_id=4ZAMXB" class="diag4-cta-btn">無料で相談する →</a>
    </div>
  </div>
  <script>
  (function(){
    var cur=0,total=5,ans={};
    var s=document.getElementById('diag4Start'),n=document.getElementById('diag4Next');
    var intro=document.getElementById('diag4Intro'),qs=document.getElementById('diag4Questions');
    var res=document.getElementById('diag4Result'),fill=document.getElementById('diag4Fill'),prog=document.getElementById('diag4Progress');
    s.addEventListener('click',function(){intro.style.display='none';qs.style.display='block';prog.style.display='block';cur=1;showQ(1);});
    document.getElementById('diag4Form').addEventListener('change',function(e){if(e.target.type==='radio'){ans[e.target.name]=e.target.value;n.disabled=false;if(cur===total)n.textContent='結果を見る';}});
    n.addEventListener('click',function(){var b=document.querySelector('#diag4Questions [data-q="'+cur+'"]');if(!b)return;b.classList.add('hidden');cur++;fill.style.width=(cur/total*100)+'%';if(cur<=total){showQ(cur);n.disabled=true;n.textContent=cur===total?'結果を見る':'次へ';}else{qs.style.display='none';prog.style.display='none';showResult();}});
    function showQ(i){var b=document.querySelector('#diag4Questions [data-q="'+i+'"]');if(b)b.classList.remove('hidden');}
    function showResult(){res.classList.remove('hidden');var sc=0;if(ans.d4q1==='mq4'){set('easy','すでにソースコードです','mq4ファイルはそのまま編集可能です。口座縛り解除も容易に対応できます。');return;}if(ans.d4q1==='other'){set('medium','ファイル形式の確認が必要です','ex4以外のファイルは対象外になる場合があります。まずはお問い合わせください。');return;}if(ans.d4q3==='other')sc+=2;if(ans.d4q4==='yes')sc+=3;if(ans.d4q4==='unknown')sc+=1;if(ans.d4q5==='yes')sc+=3;if(ans.d4q5==='unknown')sc+=1;if(sc===0)set('easy','デコンパイル可能性：高','標準的な口座縛りのケースです。比較的スムーズに解除できる可能性が高いです。');else if(sc<=2)set('medium','デコンパイル可能性：中〜高','やや複雑な保護が施されている可能性がありますが、多くの場合対応可能です。');else if(sc<=4)set('medium','高度な解析で対応可能','専門的な技術で対応できるケースが多くあります。');else set('hard','詳細診断が必要です','実際のファイルを解析して対応可否を判断します。');}
    function set(lv,title,msg){var b=document.getElementById('diag4Badge');b.className='diag4-badge '+lv;b.textContent={easy:'対応可能性：高',medium:'要詳細確認',hard:'要詳細診断'}[lv];document.getElementById('diag4Title').textContent=title;document.getElementById('diag4Msg').textContent=msg;}
  })();
  </script>
</div>

<div style="text-align:center; margin: 32px 0;">
  <a href="https://formok.com/f/64hux0wy?case_id=4ZAMXB" style="display:inline-block; background:#e8622a; color:#fff; padding:16px 48px; border-radius:50px; font-weight:700; font-size:16px; text-decoration:none;">無料でお見積もり →</a>
  <p style="color:#888; font-size:12px; margin-top:10px;">ファイルを送るだけ。最短1日で納品</p>
</div>

</div>

<p>投稿 <a href="https://mt4decompile.com/ex4-to-mq4/">EX4ファイルをMQ4に変換できない場合の現実的な解決策</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>EX4デコンパイルのやり方と、解除依頼が必要になるケース</title>
		<link>https://mt4decompile.com/ex4-decompile-howto/</link>
		
		<dc:creator><![CDATA[MT4解除研究所運営者]]></dc:creator>
		<pubDate>Tue, 23 Dec 2025 11:21:07 +0000</pubDate>
				<category><![CDATA[方法]]></category>
		<guid isPermaLink="false">https://mt4decompile.com/?p=642</guid>

					<description><![CDATA[<p>ex4 デコンパイル やり方このキーワードで検索している時点で、あなたはもう「何も分からない状態」ではない。 EAが動かない。口座を変えると止まる。口座縛りっぽい。 だからまずは、自分で EX4デコンパイルのやり方 を調...</p>
<p>投稿 <a href="https://mt4decompile.com/ex4-decompile-howto/">EX4デコンパイルのやり方と、解除依頼が必要になるケース</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>ex4 デコンパイル やり方</strong><br>このキーワードで検索している時点で、あなたはもう「何も分からない状態」ではない。</p>



<p class="wp-block-paragraph">EAが動かない。<br>口座を変えると止まる。<br>口座縛りっぽい。</p>



<p class="wp-block-paragraph">だからまずは、<br>自分で <strong>EX4デコンパイルのやり方</strong> を調べて、<br>ツールを試し、解析してみようと考えたはずだ。</p>



<p class="wp-block-paragraph">それは間違っていない。むしろ正しい順番だ。</p>



<p class="wp-block-paragraph">私は <strong>EX4デコンパイルを専門に扱うエンジニア</strong>として、「やり方を一通り試したあとで止まった人」を数多く見てきた。</p>



<p class="wp-block-paragraph">その経験から言えるのは、<br><strong>EX4デコンパイルのやり方を知ることと、解除できることは別物</strong><br>という現実だ。</p>



<h2 class="wp-block-heading">EX4デコンパイルのやり方は、大きく2段階に分かれる</h2>



<h3 class="wp-block-heading">デコンパイルツールでコードを吐き出す</h3>



<p class="wp-block-paragraph">最初の段階は、EX4ファイルをデコンパイルツールにかけること。フリーソフト、海外製のEX4デコンパイラ、古いMT4向けツール——どれを使うかの違いはあれど、<strong>mq4っぽいコードを吐き出すところまでは、多くの人が到達できる。</strong></p>



<p class="wp-block-paragraph">ただし、この時点ではまだ何も解除できていない。</p>



<h3 class="wp-block-heading">吐き出されたコードを解析・再構築する</h3>



<p class="wp-block-paragraph">問題は、ここから先だ。吐き出されたコードは、変数名が壊れている。コメントが消えている。構造が人間向けではない。つまり、<strong>そのままでは使えないコード</strong>になっている。</p>



<p class="wp-block-paragraph">どこが売買ロジックか。どこが制御ロジックか。どこで口座を判定しているか。それを読み取り、組み直す必要がある。ここまで含めて、初めて「EX4デコンパイルのやり方を実行した」と言える。</p>



<h2 class="wp-block-heading">多くの人が止まるのは、この先</h2>



<p class="wp-block-paragraph">ツールは動いた。コードも出た。でも、</p>



<ul class="wp-block-list">
<li>どこを直せばいいか分からない</li>


<li>口座縛りの判定箇所が見えない</li>


<li>触ると別の挙動がおかしくなる</li>
</ul>



<p class="wp-block-paragraph">これは珍しいことではない。<strong>デコンパイルツールは「解析」までしかしてくれない</strong>からだ。解除・修正・再利用は、人間側の判断と作業になる。</p>



<div style="margin: 40px 0; padding: 24px 28px; background: #1a1a1a; border: 1px solid #333; border-left: 4px solid #e8622a; border-radius: 6px;">
  <p style="color: #ccc; font-size: 14px; margin: 0 0 14px 0; line-height: 1.7;">「やり方は理解した。でも解除できていない」——その状態なら、作業フェーズの問題です。まずはファイルを送るだけでOKです。</p>
  <a href="https://formok.com/f/64hux0wy?case_id=4ZAMXB" style="display: inline-block; background: #e8622a; color: #fff; padding: 12px 32px; border-radius: 4px; font-weight: 700; font-size: 14px; text-decoration: none;">無料でお見積もり →</a>
</div>



<h2 class="wp-block-heading">EX4デコンパイルで解除できない典型パターン</h2>



<h3 class="wp-block-heading">制御ロジックが深く組み込まれている</h3>



<p class="wp-block-paragraph">口座番号判定、ブローカー判定、サーバー判定——これらが単独のif文で存在していないEAは多い。売買ロジックと絡み合っているため、単純に削るとEA全体が壊れる。</p>



<h3 class="wp-block-heading">外部要素に依存している</h3>



<p class="wp-block-paragraph">DLL通信、外部ファイル、サーバーアクセス——こうした要素が絡むと、コードだけ見ても挙動が分からない。</p>



<h3 class="wp-block-heading">修正すると別の部分が壊れる</h3>



<p class="wp-block-paragraph">解除できたように見えても、ロット計算が狂う、エントリー条件がズレる、決済ロジックが変わる——これは制御ロジックと本体ロジックが密結合している証拠だ。</p>



<h2 class="wp-block-heading">解除依頼が必要になる判断ライン</h2>



<h3 class="wp-block-heading">依頼を検討すべきケース</h3>



<ul class="wp-block-list">
<li>デコンパイルツールでコードは出た</li>


<li>構造は何となく読める</li>


<li>しかし解除ポイントが特定できない</li>


<li>修正すると挙動が崩れる</li>


<li>時間をかけても前に進まない</li>
</ul>



<p class="wp-block-paragraph">この状態なら、やり方の問題ではなく<strong>作業フェーズの問題</strong>だ。</p>



<h3 class="wp-block-heading">依頼しなくていいケース</h3>



<p class="wp-block-paragraph">設定ミス、通貨ペアや時間足の勘違い、EA自体が正常に動いていない——この場合は、デコンパイル以前の問題になる。</p>



<h2 class="wp-block-heading">関連記事</h2>



<p class="wp-block-paragraph">・<a href="https://mt4decompile.com/ex4-decompile-download/">EX4デコンパイルツールを試す前に知っておくべき制限</a><br>・<a href="https://mt4decompile.com/ex4-decompiler/">EX4デコンパイラで解析できても解除できない理由</a></p>



<h2 class="wp-block-heading">まとめ｜やり方と、依頼が必要になる境界</h2>



<p class="wp-block-paragraph"><strong>EX4デコンパイルのやり方そのものは、もう難しくない。</strong></p>



<p class="wp-block-paragraph">本当に難しいのは、解除・再構築・検証まで含めて仕上げることだ。</p>



<p class="wp-block-paragraph">「やり方は分かった。でも解除できていない」——そう感じているなら、今はちょうど分岐点にいる。目的が&#8221;使えるEAに戻すこと&#8221;なら、やり方探しはもう終わっている。</p>



<div style="margin: 40px 0;">

<div style="background: #1a1a1a; border: 1px solid #2a2a2a; border-radius: 8px; padding: 28px; margin-bottom: 24px;">
  <p style="color: #fff; font-size: 16px; font-weight: 700; margin: 0 0 6px 0;">まずはデコンパイル可能か診断する</p>
  <p style="color: #888; font-size: 13px; margin: 0 0 16px 0;">5つの質問・約1分で判定します</p>
  <style>
    .diag-form { font-family: -apple-system, sans-serif; }
    .diag-q { background: #242424; border: 1px solid #333; border-left: 3px solid #e8622a; border-radius: 6px; padding: 14px; margin-bottom: 10px; }
    .diag-q.hidden { display: none; }
    .diag-q-title { color: #e0e0e0; font-size: 13px; font-weight: 600; margin-bottom: 10px; display: flex; align-items: center; gap: 8px; }
    .diag-qnum { background: #e8622a; color: #fff; width: 22px; height: 22px; border-radius: 50%; font-size: 11px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .diag-options { display: flex; flex-direction: column; gap: 6px; }
    .diag-option { display: flex; align-items: center; padding: 8px 12px; background: #1a1a1a; border: 1px solid #333; border-radius: 4px; cursor: pointer; font-size: 13px; color: #ccc; transition: all 0.2s; }
    .diag-option:hover { border-color: #e8622a; color: #fff; }
    .diag-option input { margin-right: 8px; accent-color: #e8622a; }
    .diag-progress { width: 100%; height: 3px; background: #333; border-radius: 2px; margin-bottom: 14px; }
    .diag-progress-fill { height: 100%; background: #e8622a; transition: width 0.3s; border-radius: 2px; }
    .diag-btn { background: #e8622a; color: #fff; border: none; padding: 10px 28px; font-size: 13px; font-weight: 700; border-radius: 4px; cursor: pointer; transition: background 0.2s; }
    .diag-btn:hover { background: #d05520; }
    .diag-btn:disabled { background: #444; color: #777; cursor: not-allowed; }
    .diag-result { background: #242424; border: 1px solid #333; border-radius: 6px; padding: 20px; text-align: center; }
    .diag-result.hidden { display: none; }
    .diag-badge { display: inline-block; padding: 4px 14px; border-radius: 20px; font-size: 11px; font-weight: 700; margin-bottom: 10px; letter-spacing: 0.5px; }
    .diag-badge.easy { background: #2e7d32; color: #fff; }
    .diag-badge.medium { background: #e65100; color: #fff; }
    .diag-badge.hard { background: #b71c1c; color: #fff; }
    .diag-result-title { color: #fff; font-size: 17px; font-weight: 700; margin-bottom: 8px; }
    .diag-result-msg { color: #aaa; font-size: 13px; line-height: 1.7; margin-bottom: 16px; }
    .diag-cta-btn { display: inline-block; background: #e8622a; color: #fff; padding: 12px 32px; border-radius: 4px; font-weight: 700; font-size: 14px; text-decoration: none; transition: background 0.2s; }
    .diag-cta-btn:hover { background: #d05520; }
  </style>
  <div class="diag-form" id="diagForm">
    <div class="diag-progress" id="diagProgress" style="display:none;"><div class="diag-progress-fill" id="diagFill" style="width:0%"></div></div>

    <div id="diagIntro" style="text-align:center; padding: 10px 0 16px;">
      <button class="diag-btn" id="diagStart">診断を開始する →</button>
    </div>

    <div id="diagQuestions" style="display:none;">
      <div class="diag-q" data-q="1">
        <div class="diag-q-title"><span class="diag-qnum">Q1</span>ファイルの拡張子は？</div>
        <div class="diag-options">
          <label class="diag-option"><input type="radio" name="dq1" value="ex4"> .ex4ファイル</label>
          <label class="diag-option"><input type="radio" name="dq1" value="mq4"> .mq4ファイル（ソースコード）</label>
          <label class="diag-option"><input type="radio" name="dq1" value="other"> その他</label>
        </div>
      </div>
      <div class="diag-q hidden" data-q="2">
        <div class="diag-q-title"><span class="diag-qnum">Q2</span>特定の口座でしか動作しませんか？</div>
        <div class="diag-options">
          <label class="diag-option"><input type="radio" name="dq2" value="yes"> はい、特定の口座のみ</label>
          <label class="diag-option"><input type="radio" name="dq2" value="no"> いいえ、どの口座でも動く</label>
          <label class="diag-option"><input type="radio" name="dq2" value="unknown"> わかりません</label>
        </div>
      </div>
      <div class="diag-q hidden" data-q="3">
        <div class="diag-q-title"><span class="diag-qnum">Q3</span>起動時にエラーが表示されますか？</div>
        <div class="diag-options">
          <label class="diag-option"><input type="radio" name="dq3" value="account"> 口座番号に関するエラー</label>
          <label class="diag-option"><input type="radio" name="dq3" value="other"> 別のエラー</label>
          <label class="diag-option"><input type="radio" name="dq3" value="none"> エラーなし</label>
        </div>
      </div>
      <div class="diag-q hidden" data-q="4">
        <div class="diag-q-title"><span class="diag-qnum">Q4</span>外部DLLファイルを使用していますか？</div>
        <div class="diag-options">
          <label class="diag-option"><input type="radio" name="dq4" value="yes"> はい</label>
          <label class="diag-option"><input type="radio" name="dq4" value="no"> いいえ</label>
          <label class="diag-option"><input type="radio" name="dq4" value="unknown"> わかりません</label>
        </div>
      </div>
      <div class="diag-q hidden" data-q="5">
        <div class="diag-q-title"><span class="diag-qnum">Q5</span>外部サーバーでライセンス認証を行いますか？</div>
        <div class="diag-options">
          <label class="diag-option"><input type="radio" name="dq5" value="yes"> はい</label>
          <label class="diag-option"><input type="radio" name="dq5" value="no"> いいえ</label>
          <label class="diag-option"><input type="radio" name="dq5" value="unknown"> わかりません</label>
        </div>
      </div>
      <div style="text-align:center; margin-top: 12px;">
        <button class="diag-btn" id="diagNext" disabled>次へ</button>
      </div>
    </div>

    <div class="diag-result hidden" id="diagResult">
      <div class="diag-badge" id="diagBadge"></div>
      <div class="diag-result-title" id="diagTitle"></div>
      <div class="diag-result-msg" id="diagMsg"></div>
      <a href="https://formok.com/f/64hux0wy?case_id=4ZAMXB" class="diag-cta-btn">無料で相談する →</a>
    </div>
  </div>

  <script>
  (function(){
    var cur = 0, total = 5, ans = {};
    var startBtn = document.getElementById('diagStart');
    var nextBtn = document.getElementById('diagNext');
    var intro = document.getElementById('diagIntro');
    var questions = document.getElementById('diagQuestions');
    var result = document.getElementById('diagResult');
    var fill = document.getElementById('diagFill');
    var progress = document.getElementById('diagProgress');

    startBtn.addEventListener('click', function(){
      intro.style.display = 'none';
      questions.style.display = 'block';
      progress.style.display = 'block';
      cur = 1;
      showQ(1);
    });

    document.getElementById('diagForm').addEventListener('change', function(e){
      if(e.target.type === 'radio'){
        ans[e.target.name] = e.target.value;
        nextBtn.disabled = false;
        if(cur === total) nextBtn.textContent = '結果を見る';
      }
    });

    nextBtn.addEventListener('click', function(){
      var qBlock = document.querySelector('[data-q="'+cur+'"]');
      if(!qBlock) return;
      qBlock.classList.add('hidden');
      cur++;
      fill.style.width = (cur / total * 100) + '%';
      if(cur <= total){
        showQ(cur);
        nextBtn.disabled = true;
        nextBtn.textContent = cur === total ? '結果を見る' : '次へ';
      } else {
        questions.style.display = 'none';
        progress.style.display = 'none';
        showResult();
      }
    });

    function showQ(n){
      var b = document.querySelector('[data-q="'+n+'"]');
      if(b) b.classList.remove('hidden');
    }

    function showResult(){
      result.classList.remove('hidden');
      var score = 0;
      if(ans.dq1 === 'mq4'){ setResult('easy','すでにソースコードです','mq4ファイルはそのまま編集可能です。口座縛り解除も容易に対応できます。'); return; }
      if(ans.dq1 === 'other'){ setResult('medium','ファイル形式の確認が必要です','ex4以外のファイルは対象外になる場合があります。まずはお問い合わせください。'); return; }
      if(ans.dq2 === 'yes') score += 0;
      if(ans.dq3 === 'other') score += 2;
      if(ans.dq4 === 'yes') score += 3;
      if(ans.dq4 === 'unknown') score += 1;
      if(ans.dq5 === 'yes') score += 3;
      if(ans.dq5 === 'unknown') score += 1;
      if(score === 0) setResult('easy','デコンパイル可能性：高','標準的な口座縛りのケースです。比較的スムーズに解除できる可能性が高いです。');
      else if(score <= 2) setResult('medium','デコンパイル可能性：中〜高','やや複雑な保護が施されている可能性がありますが、多くの場合対応可能です。');
      else if(score <= 4) setResult('medium','高度な解析で対応可能','複雑な保護が施されている可能性があります。専門的な技術で対応できるケースが多くあります。');
      else setResult('hard','詳細診断が必要です','高度な保護技術が使用されている可能性があります。実際のファイルを解析して対応可否を判断します。');
    }

    function setResult(level, title, msg){
      var badge = document.getElementById('diagBadge');
      badge.className = 'diag-badge ' + level;
      var labels = {easy:'対応可能性：高', medium:'要詳細確認', hard:'要詳細診断'};
      badge.textContent = labels[level];
      document.getElementById('diagTitle').textContent = title;
      document.getElementById('diagMsg').textContent = msg;
    }
  })();
  </script>
</div>

<div style="text-align: center; margin: 32px 0;">
  <a href="https://formok.com/f/64hux0wy?case_id=4ZAMXB" style="display: inline-block; background: #e8622a; color: #fff; padding: 16px 48px; border-radius: 50px; font-weight: 700; font-size: 16px; text-decoration: none;">無料でお見積もり →</a>
  <p style="color: #888; font-size: 12px; margin-top: 10px;">ファイルを送るだけ。最短1日で納品</p>
</div>

</div>

<p>投稿 <a href="https://mt4decompile.com/ex4-decompile-howto/">EX4デコンパイルのやり方と、解除依頼が必要になるケース</a> は <a href="https://mt4decompile.com">MT4解除研究所</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
