web-dev-qa-db-ja.com

RARパスワードのサイズに制限はありますか?

私は忘れたrarパスワードのためにプログラムを使用していますが、長さのためにパスワードの試行を保持しています。

それはシェアウェアであるための制限ですか、それともrarパスワードの最大サイズに本当に制限がありますか?

7
FernandoSBS

nixdaの答えの証拠は次のとおりです。

Linuxではrarv4とunrarv4.10を使用しています。

パスワードの長さをテストするためにCコードを作成しました。

int main(void){

    char password[150];
    int i=0, j =0;
    int r;
    for (i=0; i<150 ; i++){
        r = Rand()%10;
        password[i]= (char)(((int)'0')+r);
    }

    char command[300] = {'\0'};
    sprintf(command, " rar a -p[%s] hi.rar hi.txt",password);
    printf("password: %s\n", command);
    system(command);

    usleep(50000);
    char newcommand[300] = {'\0'};
    char newpassword[150] = {'\0'};
    for (i= 0 ; i < 301; i++){
        for(j=0; j<i; j++){
            newpassword[j] = password[j];
        }
        sprintf(newcommand, " unrar e -p[%s] -o+ hi.rar",newpassword);
        if (system(newcommand) >= 0 ){
            printf("i: %d\n",i);
            printf("password length: %d\n", strlen(newpassword));
           // break;
        }
    strcpy(newpassword, "0");
    usleep(500000);
    }
    return 0;
}

150文字の長さのランダムに生成された数値(0から9)のパスワードを作成し、サンプルファイル(この場合はhi.txt)を圧縮します。コードの2番目の部分では、以前に生成されたパスワードを使用して1文字目から150文字に解凍しようとします。出力を監視できるようにusleepを追加しました(または、Linuxでscriptを使用して出力を保存し、それらを読み取ることができます)。

私が得たのは、126番目のインデックスで暗号化されたファイルを解凍できたということです。つまり、127番目の文字の後にパスワードが切り捨てられます(インデックスは0から始まっていることに注意してください)。

Extracting from hi.rar

Extracting  hi.txt                                                    40%
CRC failed in the encrypted file hi.txt. Corrupt file or wrong password.
Total errors: 1
i: 124
password length: 124

UNRAR 4.10 freeware      Copyright (c) 1993-2012 Alexander Roshal


Extracting from hi.rar

Extracting  hi.txt                                                    40%
CRC failed in the encrypted file hi.txt. Corrupt file or wrong password.
Total errors: 1
i: 125
password length: 125

UNRAR 4.10 freeware      Copyright (c) 1993-2012 Alexander Roshal


Extracting from hi.rar

Extracting  hi.txt                                                    OK 
All OK
i: 126
password length: 126

UNRAR 4.10 freeware      Copyright (c) 1993-2012 Alexander Roshal


Extracting from hi.rar

Extracting  hi.txt                                                    OK 
All OK
i: 127
password length: 127

Extracting from hi.rar

Extracting  hi.txt                                                    OK 
All OK
i: 128
password length: 128

UNRAR 4.10 freeware      Copyright (c) 1993-2012 Alexander Roshal


Extracting from hi.rar

Extracting  hi.txt                                                    OK 
All OK
i: 129
password length: 129
6
Angs

RARアーカイブのパスワードの最大長は127文字です。長いパスワードはこの長さに切り捨てられます

ソース

7
nixda