なぜ「CHObfusShift」や「CHObfusScramble」を複数回実行するとエラーを 起こしてしまうのか? ----------------------------------------------------------- 例 CHObfusShift::make($opx,$se,$osr); CHObfusShift::make($opx,$se,$osr); CHObfusShift::make($opx,$se,$osr); ----------------------------------------------------------- ----------------------------------------------------------- 例 CHObfusScramble::make($opx,$se,$osr); CHObfusScramble::make($opx,$se,$osr); CHObfusScramble::make($opx,$se,$osr); ----------------------------------------------------------- これは「Obfus String in JavaScript」オプションがチェックされている 時に起きることがわかった。このオプションは、 コード内に「$_XXXXXX」の形のIdentifierを見つけて、 ランダムなストリングに変換を行う。 原因は、CHObfusShiftやCHObfusScrambleを適用した部分に 「$_XXXXXX」変換を行ってしまっていたからである。 CHObfusShiftやCHObfusScrambleを適用した部分は、 偶発的に「$_XXXXXX」の形をしたストリングが現れる時がある。 それをランダムなストリングに変換してしまっているのである。 解決策は、CHObfusShiftやCHObfusScrambleを適用した部分に 「$_XXXXXX」変換を行なわないようにしなければいけない。