
Neste caso em concreto estamos a falar de um pequeno hardware que permite leitura e escrita via JTAG, escrita via OBDII e correção de todos os checksums.No entanto esta máquina fez despertar o mundo das reprogramações e não tardaram em aparecer soluções idênticas, e talvez mais apelativas para o consumidor final, tais como o Toyota Lexus ECU-Flasher.
Leitura da Hexdump

A primeira experiência com o Toyota ECU Flasher teve um sabor algo agridoce, se por um lado o mesmo funcionou perfeitamente, por outro, foi necessária alguma mão de obra, como refazer as ligações da porta de ligação JTAG e o próprio interface foi revisto. Após estes pequenos problemas o mesmo mostrou-se fantástico, não precisando mais do que um par de minutos para ler e escrever os dados.
Análise da hexdump





Site da EVC:
New | New map type: Denso vertical (with skip bytes) | 3.42 | 21.10.2015 |

A forma como isto funciona é simples. Quando um cabeçalho é selecionado na janela de propriedades o que WinOLS faz é selecionar os valores, seguidos, da hexdump a partir do endereço que foi especificado e do tipo de valores (8,16,32…). A função skip bits permite que sejam ignorados os bytes que nós quisermos nessa seleção, isto é, em vez da seleção ser seguida ele vai saltar o número de bytes definidos e utilizar o valor seguinte, saltando novamente esses mesmos bytes e utilizando o valor seguinte e assim sucessivamente.
Exemplo: (mapa a 16 bits)
Neste mapa o cabeçalho está seleccionado desta forma:
Sendo que o endereço 12068 corresponde ao primeiro valor do mapa/cabeçalho (Zero no caso do exemplo). Olhando novamente para a imagem acima do mapa, a amarelo está representado o meu cabeçalho e a vermelho o cabeçalho escolhido pelo WinOLS.
Sabendo que o mapa está representado a 16bits, temos então 2 bytes por cada valor representado, logo que pedirmos ao software para avançar 2 bytes, o resultado é este:
A verde têm os valores que foram “ignorados”, e tal como esperado, o WinOLS saltou uma casa por valor, pois o pedido foi de 2 bytes=16 bits.
Assim sendo, e tendo em conta que o mapa tem 11 colunas de informação e 1 coluna de “cabeçalho”, então teremos que saltar 11 colunas por cada valor do cabeçalho.
11 valores x 16 bits cada = 176 bits o que dividindo por 8 nós dá 22 bytes.
Utilizando o valor 22 no campo skip bytes, o resultado é este:
Para evitar as contas é relativamente simples decorar que se estivermos num mapa a 16 bit, utilizamos o dobro número de colunas, se estivermos num mapa a 8 bits, basta utilizar o mesmo numero de que o de colunas.
Pelo facto de termos os cabeçalhos dentro dos mapas, quando vistos em 2d, os mapas ganham um formato diferente, daí a estranheza ao olhar a primeira vez para estes mapas.
O próximo passo é a analise da hexdump para identificação dos mapas. Embora já se conheçam alguns, pelo menos os mais evidentes, para já a informação é escassa e muito do que se descobre é por tentativa e erro, pelo que deixarei a identificação de mapas para a segunda parte deste artigo.
Links úteis:
Toyota ECU Flasher – http://ecutools.eu/chip-tuning/toyota-lexus-flasher/
VF2 – https://www.facebook.com/VF2flasher
Galletto – http://www.fgtechnology.it/
Kess & Ktag – http://www.alientech-to.it/index.php/en/
Se descobrirem algo nesta hexdump…informem 🙂
Até já!
Obrigado pela partilha. Agora existe um software para lidar com este tipo de ficheiros chamado de bitedit!
Obrigado pela informação Pedro.
É de facto um software recente que suporta a identificação de diversas ecu´s, além das Denso, a um preço acessível! 🙂
De nada 🙂
[…] meu último artigo (Link) falei sobre esta máquina e apercebi-me que poderei ter dado a entender que esta máquina não […]