No meu último update, versão v20.0.015, logo após ao acabar fiquei pensando que tinha perdido uma oportunidade de tentar capturar a imagem binária do firmware. Procurei na Internet e não vi ninguém fazendo isto ou disponibilizando em lugar nenhum, o que deixava claro que isto deveria ser difícil. Em breve teremos a versão v21.0.016 disponível para o Brasil e estou coçando para saber se é possível ou não ter uma cópia deste firmware.
Hoje dei uma inspecionada no que acontece no momento do update. Vi que o Nokia Update se conecta via SSL no site http://www.dsut.online.nokia.com, troca certificados e pega a informação da versão atual. Tudo com criptografia e sem chance aparente de tentar interceptar o conteúdo da mensagem.
O outro ponto fraco é a conexão USB com o programa de atualização. Não resisti e investi alguns minutos fazendo um sniffer também, agora no USB. O caminho pareceu mais promissor por estas bandas … dá para ver claramente o número de série, o IMEI (International Mobile Equipment Identity) e a versão de firmware passando. Também dá para notar alguma coerência nos buffers:
- Todos os frames que vi começavam com 0×1B. Uma marca de início ou tipo de protocolo usado ?
- Os dois bytes seguintes são sempre 0×1000 ou 0×0010. Para mim isto indica os nodos de origem e destino (0×10 e 0×00). Os frames abaixo são somente respostas (0×1000) , mas os pedidos são sempre com 0×0010.
- Seria o quarto byte o comando usado ? Parece consistente com o que vi.
- O sexto byte é sempre o tamanho dos dados, contando a partir do sétimo byte. Eu chutaria que o quinto e o sexto, na realidade, indicam isso (16 bits), já que o quinto é sempre zero. De quebra, nos daria a dica de que o alinhamento é big endian, comum em chips ARM.
Mas não dá pra saber se durante o update de firmware não teremos algums encriptação envolvida. De qualquer forma, pode deixar que eu vou ficar atento quando for fazer o update firmware !
Exemplos de frames capturados:

Número de serie, devidamente apagado.

Versão de firmware.

IMEI, também apagado, mas batendo perfeitamente.

??? Os FFs são muito sugestivos … flash ! Seria uma área de memória ?




Tiago Maluta 11:50 am em Março 24, 2008 Link Permanente
Marcelo, muito interessante essas informações.
Espero tentar fazer o mesmo com meu Nokia E62, mas pelo que eu andei vendo no site da Nokia (há apenas para os modelos E61 e E61i) e fuçando no Google, não há disponível a atualização. Mesmo sendo recente, anunciado no final de 2006.
Procurando um pouco mais nesse blog, pude constatar a prova de fidelidade que a Nokia tem com as operadoras.
Espero que tenha sucesso em obter o firmware do seu N95.
jedizone 3:20 pm em Março 24, 2008 Link Permanente
Oi Thiago ! Pena não liberarem nada para o E62, que é um aparelho bem legal. No meu caso, a gente gostaria mesmo era de usar o hardware pra colocar outro S.O. (qual ?
) e a Nokia trava tudo. Um cara da Rússia chegou a conseguir algo com um modelo SX1 da Siemens, mas ele explorou um furo de segurança numa chamada do sistema e teve privilégios para poder colocar um bootloader com Linux. Este furo não existe para o N95. Eu quero ter acesso a imagem para ver se existe alguma coisa nela que evidencie a forma de operação do celular. Se o update se faz via USB, de alguma forma é lida e escrita a flash … vamos ver … Abraço !
Mais sobre a comunicação do PC Suite e o N95 « Jedizone 1:36 am em Março 25, 2008 Link Permanente
[...] um inferno. Foi esta a minha impressão ao procurar por uma decodificação dos frames que eu citei aqui ontem. Pelo que entendi, para as séries novas da Nokia, é usado SyncML sobre Obex. SyncML é uma [...]
Jeronimo 9:41 am em Março 25, 2008 Link Permanente
Marcelo ,
Que ferramenta voce usou para sniffar a conexão via USB ?
jedizone 10:00 am em Março 25, 2008 Link Permanente
Eu fui muito pragmático, baixei o primeiro que vi com ‘cara boa’ e fácil de usar. No caso, era um shareware com 15 dias de avaliação e captura limitada a 250k.
http://www.hhdsoftware.com/Products/home/usb-monitor.html
Não investiguei as opções abertas, como um tal usbsnoop. No fundo, o projeto parecia meio parado.
http://sourceforge.net/projects/usbsnoop/