2

Adobe Dreamweaver * .steファイルからパスワードを取得するため、またはDreamweaverにインポートするように設計された* .steファイルを動的に作成するために、パスワードはどのようにエンコードまたはデコードされますか?

4

5 に答える 5

2

このJavascript関数は、パスワードをエンコードするために使用できます。

function encodePassword(input)
{
    var top = 0;
    var output = '';

    for(var i = 0; i < input.length; i++){
        var currentChar = input.charCodeAt(i);
        if(currentChar < 0 || currentChar > 0xFFFF){return(false);}
        if(top != 0){
            if(0xDC00 <= currentChar && currentChar <= 0xDFFF){
                output += dec2hex(0x10000 + ((top - 0xD800) << 10) + (currentChar - 0xDC00) + i) + '';
                top = 0;
                continue;
                // Insert alert for below failure
            }else{return(false);}
        }
        if(0xD800 <= currentChar && currentChar <= 0xDBFF){top = currentChar;}
        else{output += dec2hex(currentChar + i) + '';}
    }

    return(output);
}

function dec2hex(input){return(input+0).toString(16).toUpperCase();}

そして、この関数を使用してパスワードをデコードできます。

function decodePassword(input)
{
    var output = "";

    if(input.length == 0){return("");}

    for(var i = 0; i < input.length / 2; i++){
        var currentHex = parseInt(input.substr(i * 2, 2), 16);
            if(currentHex <= 0xFFFF){
                output += String.fromCharCode(currentHex - i);
            }else if(currentHex <= 0x10FFFF){
                currentHex -= 0x10000
                output += String.fromCharCode(0xD800 | (currentHex >> 10)) + String.fromCharCode(0xDC00 | (currentHex & 0x3FF) - i);
            }else{
                //Insert alert for below failure
                return(false);
        }
    }

    return(output);
}

このツールを使用して、コードなしでオンラインでこれを行うこともできます:http: //blog.affirmix.com/2009/05/05/live-ste-dreamweaver-password-encoder-and-decoder/

于 2012-06-12T00:02:11.800 に答える
1

Dreamweaverパスワードをデコードするには、パスワードを16進数(0〜9、AF)の数字のペアに分割し、0から始まる文字列内の位置に基づいて、各16進数から減算し、ASCIIに変換し直します。

5470714865787Fの暗号化されたパスワードは...

54-0 = 54 => T  
70-1 = 6F => o  
71-2 = 6F => o  
48-3 = 45 => E  
65-4 = 61 => a  
78-5 = 73 => s  
7F-6 = 79 => y

したがって、5470714865787F =>'TooEasy'

この実例が当社のWebサイトにあり、パスワードをデコードできます。.steファイル全体をコピーして貼り付けることもできます。接続に必要なFTPの詳細が出力され、時間を節約できます...

http://www.mywebsitespot.com/dreamweaver-password-decode

于 2014-09-06T04:56:27.523 に答える
0

古いスレッドを起こして申し訳ありませんが、解決策を投稿すると思いました。これは、Dreamweaver STEファイルをロードおよび解析し、その一部としてパスワードをデコードできる単一のHTML5ページです。STEファイルをロードするだけでFTPのすべての詳細が得られる、シンプルなオフライン/ローカル(デコード時に詳細が送信されない)が必要でした。

ブログ投稿: http: //bobmckay.com/web/dreamweaver-password-ste-file-decoder

デコーダーページ: http: //bobmckay.com/dreamweaver-password-decoder/

それが誰かに役立つことを願っています!

ボブ

于 2014-09-17T20:38:16.037 に答える
0

古いスレッドを目覚めさせますが、受け入れられたJavaScriptの答えに加えて、興味のある人のために2つのPHP関数を残したかっただけです。

パスワードをエンコードするには:

function dwste_encode( $pw ){
    $output = '';
    $split = str_split( $pw );
    foreach( $split as $key => $value ){
        $char = ord( $value );
        $char = ( $char + $key );
        $char = dechex( $char );
        $output .= strtoupper( $char );
    }
    return $output;
}

パスワードをデコードするには:

function dwste_decode( $pw ){
    $output = '';
    $split = str_split( $pw, 2 );
    foreach( $split as $key => $value ){
        $char = hexdec( $value );
        $char = ( $char - $key );
        $char = chr( $char );
        $output .= $char;
    }
    return $output;
}
于 2017-03-01T14:54:31.900 に答える
0

今日は、クライアント用に多くのDWsteファイルを作成する必要がありました。VBA私はExcelから直接それを行うために以下を使用しました。@andrew-odriのコードをベースとして使用しました。

Function decodeDreamWeaverPass(sHash$)
    Dim sPass$, i&, lHash&, lChar&, sChars$
    lHash = Len(sHash) - 1
    For i = 0 To lHash Step 2
        sChars = Mid(sHash, i + 1, 2)
        lChar = CLng("&H" & sChars)
        lChar = lChar - (i / 2)
        sPass = sPass & Chr(CLng(lChar))
    Next
    decodeDreamWeaverPass = sPass
End Function


Function encodeDreamWeaverPass(sPassword$)
    Dim lTop&, i&, sOutput$
    Dim lPassword&, sChar$, lChar&
    lTop = 0

    lPassword = Len(sPassword) - 1
    For i = 0 To lPassword
        lChar = Asc(Mid(sPassword, i + 1, 1))
        sChar = Chr(lChar)

        If ((lChar < 0) Or (lChar > 65535)) Then
          encodeDreamWeaverPass = ""
        End If

        If lTop > 0 Then
            If (lChar >= 56320) And (lChar <= 57343) Then
                sOutput = sOutput & Hex(65536 + ((lTop - 55296) Xor 10) + (lChar - 56320) + i)
                lTop = 0
            Else
              encodeDreamWeaverPass = ""
            End If
        End If

        If (lChar >= 55296) And (lChar <= 56319) Then
          lTop = lChar
        Else
          sOutput = sOutput & Hex(lChar + i)
        End If
    Next

    encodeDreamWeaverPass = sOutput
End Function
于 2019-12-25T05:06:34.840 に答える