Liberar SU para desbloqueio
Ir para navegação
Ir para pesquisar
Algumas versões de firmwares OLT não liberam o comando su sem senha.
Para estes casos, utilizar o código abaixo em uma máquina linux com a linguagem RACKET instalada.
Instalação "RACKET" em linux (Ubuntu)
apt-get install racket
racket --version
Welcome to Racket v6.3.
Colar o conteúdo abaixo em um arquivo, exemplo: unlock.rkt
#! /usr/bin/env racket #lang racket/base (require openssl/md5) (require racket/cmdline) (require racket/list) (define (get-su-verification-code challenge) ((compose1 bytes->string/latin-1 list->bytes) (map (lambda (x) (let ([r2 (* (arithmetic-shift (bitwise-and (* (arithmetic-shift x -1) #xB60B60B7) #xFFFFFFFF00000000) -37) 90)]) (bitwise-and (+ (- x r2) #x21) #xFF)) ) (take ((compose1 bytes->list md5-bytes open-input-bytes) (list->bytes (map (lambda (b) (arithmetic-shift b (if (<= b #x47) 1 -1))) ((compose1 bytes->list string->bytes/latin-1) challenge)))) 8)))) (command-line #:program "huawei-su-verification-code" #:args (challenge) (if (= (string-length challenge) 8) (displayln (get-su-verification-code challenge)) (displayln "Error: Challenge must have 8 chars!" (current-error-port))) )
Dar privilegios ao arquivo
chmod 755 unlock.rkt
Para utilizar o validador, entre no modo su na OLT
OLT>enable
OLT#diagnose
OLT(diagnose)%%su
Challenge:DHHTE4ZD
Please input verification code:
Copiar o código da OLT e usar o unlock.rkt:
./main.rkt DHHTE4ZD
Vedljc!h
Com o código gerado, "colar" no prompt da OLT "Please input verification code:"
OLT(su)%% modo su liberado !!!