FLAファイルがないと、特定の解決策を提供するのは困難です。私はあなたに一言だけ与えることができます。最初のコンパイルにはまだFlashが必要であり、60日間の試用版を簡単に入手できます。
解決策の1つは、このパスワードをASクラスで外部化することですが、セキュリティを少し向上させるためにSWFでコンパイルしたままにします(ただし、逆コンパイラーはパスワードを簡単に見つけることができるため、それほど多くはありません)。
パスワードがエンコードされている領域を見つける必要があります。たとえば、ActionScriptのblobを含むフレームであるとします。ステートメントが次のようなものだとしましょう
if (userEnteredPassword == "xyz")
{
//login success logic
}
あなたはそれを次のように書き直すことができます
if (userEnteredPassword == appsetting.Settings.password )
{
//login success logic
}
次に、 appsettingフォルダーにASファイルSettings.asを作成します。
class appsetting.Settings
{
public static var password:String = "xyz";
}
FLAをSWFにコンパイルし、エラーがないことを確認します。その後、SWFはFlashIDEなしでMTASCによって更新される場合があります。
したがって、SWFとパスワードASファイルが同じディレクトリにあるとすると、MTASCコマンドは次のようになります。
mtasc.exe -swf your_swf_file.swf -cp ./ -out your_swf_with_new_password.swf
セキュリティに関する考慮事項
前述したように、プレーンテキストとして保存されているパスワードは不正です。少しアプローチは、MD5のような一方向の暗号化でパスワードを暗号化することです。次に、暗号化されたユーザー入力を暗号化されたパスワードと比較する必要があります。これには暗号化ライブラリも必要であり、そのためにはFlashの知識が必要です。
最善の解決策は、サーバーにパスワードを確認させることです。http呼び出しを行い、パスワードが一致するかどうかをサーバーに確認させることができます。これにより、パスワードがどのような形式でも公開されることはありません。このアプローチはより複雑です。