Índice:

Hackers observados no Studio CAN-BUS V2.0 - Primeiros passos: 5 etapas
Hackers observados no Studio CAN-BUS V2.0 - Primeiros passos: 5 etapas

Vídeo: Hackers observados no Studio CAN-BUS V2.0 - Primeiros passos: 5 etapas

Vídeo: Hackers observados no Studio CAN-BUS V2.0 - Primeiros passos: 5 etapas
Vídeo: DIFERENÇA ENTRE 30 e 60 FPS #shorts #framerate #audiovisual 2024, Julho
Anonim
Hackers observados no Studio CAN-BUS V2.0 - Primeiros passos
Hackers observados no Studio CAN-BUS V2.0 - Primeiros passos
Hackers observados no Studio CAN-BUS V2.0 - Primeiros passos
Hackers observados no Studio CAN-BUS V2.0 - Primeiros passos
Hackers observados no Studio CAN-BUS V2.0 - Primeiros passos
Hackers observados no Studio CAN-BUS V2.0 - Primeiros passos
Hacking do CAN-BUS V2.0 do Studio Seeed - Primeiros passos
Hacking do CAN-BUS V2.0 do Studio Seeed - Primeiros passos

Este instrutível é destinado a iniciantes que já conhecem o Arduino. O saber inicial inicial é sempre uma dor e consome muito tempo em qualquer projeto. Mas, até que você saiba como se virar, quase sempre gostaria de ter alguém para lhe mostrar o básico.

Neste instrutível iremos retornar alguns dados CAN-BUS do seu veículo.

E não se preocupe! Vou direto ao ponto, sem divagar e usar palavras da moda para me fazer parecer um hacker inteligente:-)

Eu pessoalmente recomendo os shields CAN-BUS Seeed Studio. Realmente não posso falar por nenhuma das outras marcas, mas o escudo CAN-BUS da SeeedStudio me serviu muito bem.

Observação importante: a blindagem can-bus é obrigatória. Eu fiz esta observação porque muitas vezes as pessoas perguntam se você deve usar um escudo CAN-BUS. A blindagem possui um MCP2515 (Controlador CAN) e um MCP2551 (Transceptor) que processará os dados CAN-BUS para a porta serial do seu Arduino.

O Hardware Requerido.1. Arduino UNO - Qualquer arduino compatível será suficiente. Eu usei este

2. Escudo CAN-BUS SeeedStudio. Peguei diretamente do SeeedStudio aqui está o link

3. Alguns fios para conectar o CAN-BUS

4. um veículo de onde você pode recuperar dados

O software necessário1. Arduino IDE, duh! Obviamente:-)

2. Biblioteca CAN-BUS SeeedStudio. Pode ser baixado do GIT Hub

Algumas informações extras vitais se você quiser ler mais sobre o escudo CAN-BUS SeeedStudio.

Vamos começar!

Etapa 1: Configuração e conexão de hardware

Image
Image
Configuração e conexão de hardware
Configuração e conexão de hardware
Configuração e conexão de hardware
Configuração e conexão de hardware
Configuração e conexão de hardware
Configuração e conexão de hardware

Vamos começar com a parte mais difícil. Precisamos encontrar um lugar em seu veículo onde possamos acessar o CAN-BUS. Não há muito que eu possa fazer por você aqui, você tem que descobrir por si mesmo. No meu caso, conectei-me ao CAN-BUS por meio do rádio. Sim! o rádio. Os veículos com áudio integrado do carro geralmente definem a iluminação do display do sistema estéreo do carro com base na configuração do farol do veículo para dirigir à noite. Isso geralmente é feito por meio do CAN-BUS interno.

Usei um cabo extensor USB com uma extremidade USB macho e uma USB fêmea. Então, simplesmente cortei ao meio e soldei o lado feminino no conector do rádio. Você pode querer comprar um conector macho fêmea para o seu tipo de rádio, dessa forma você não precisa conectar a fiação do seu veículo e anular a garantia ou potencialmente causar risco de incêndio.

E então a parte masculina eu conectei ao escudo CAN-BUS SeeedStudio como mostrado na imagem. Desta forma, posso conectar / desconectar quando necessário.

Dica: Use fio vermelho para CAN-H e preto para CAN-L

Etapa 2: Instale o software no Arduino

Instale o software no Arduino
Instale o software no Arduino
Instale o software no Arduino
Instale o software no Arduino
Instale o software no Arduino
Instale o software no Arduino

Baixe a Biblioteca SeeedStudio do wiki SeeedStudio CAN-BUS.

github.com/Seeed-Studio/CAN_BUS_Shield

Instale a biblioteca conforme mostrado nas fotos.

No Arduino IDE, selecione Sketch Include Library - Add.zip Library.

Depois de adicionar a biblioteca, feche o IDE do Arduino e abra-o novamente. Agora você será capaz de carregar alguns dos exemplos do Menu Arquivo Arquivo Exemplos Proteção CAN-BUS Verificação de recebimento

Para este tutorial, carregue o exemplo de verificação de recebimento.

Importante!

O seguinte irá requerer algumas tentativas e erros.

Eu usei meu Jeep JK 2010 Rubicon para recuperar dados e seu ônibus interno funciona a 125Kbs.

Na seção de configuração, onde se lê

enquanto (CAN_OK! = CAN.begin (CAN_500KBPS)) Tive que mudar para

enquanto (CAN_OK! = CAN.begin (CAN_125KBPS))

Se você errar, não será possível recuperar dados legíveis. Na maioria dos casos, incluindo o meu, seu veículo ficará maluco. I. E o cluster com luz acesa como uma árvore de Natal e os limpadores começarão a se mover. porque o escudo do barramento can está corrompendo o barramento.

Etapa 3: conecte-o e comece a recuperar os dados

Conecte-o e comece a recuperar dados
Conecte-o e comece a recuperar dados
Conecte-o e comece a recuperar dados
Conecte-o e comece a recuperar dados
Conecte-o e comece a recuperar dados
Conecte-o e comece a recuperar dados

Antes de conectar, faça uma verificação de integridade antes de conectá-lo ao veículo. A última coisa que você quer fazer é enviar energia para seu CAN-BUS, potencialmente explodindo a ECU do seu veículo.

Não fiz uma verificação de integridade e só depois de perceber que não estava recebendo dados é que conectei o USB do laptop diretamente na alimentação USB do Arduino. Felizmente, nada aconteceu.

Nas fotos desta etapa, usei meu laptop Lenovo carregado com Linux Mint. Em geral, você pode usar qualquer sistema operacional para se conectar à porta serial do seu Arduino, 1. Configure o laptop em seu veículo e ligue a blindagem CAN-BUS do Arduino com um cabo USB.

2. Inicie o Putty ou o monitor serial do Arduino (eu prefiro o Putty). Quando estiver conectado, você deverá ver uma mensagem no console serial informando que ele conseguiu inicializar o escudo Can-Bus.

3. Ligue o veículo. Não é necessário iniciar enquanto a chave estiver na posição ligada.

4. Conecte o Arduino ao CAN-BUS. No momento em que estiver conectado, os dados começarão a ser transmitidos para o console.

Etapa 4: os dados e o que tudo isso significa

Os dados e o que tudo isso significa
Os dados e o que tudo isso significa
Os dados e o que tudo isso significa
Os dados e o que tudo isso significa

Quando os dados forem recuperados, eles serão despejados no seguinte formato HEX.

ID, BIT1, BIT2, BIT3, BIT4, BIT5, BIT6, BIT7, BIT8

O ID geralmente representa um Nó dentro do seu veículo.

Vamos dar um exemplo simples. (O que se segue é inventado e não real, apenas um exemplo)

ID do Nó de Ar Condicionado = 0x402TURN AIRCON OFF = 13TURN AIRCON ON = 14 AJUSTE VENTILADOR DE AIRCON PARA BAIXO = 7C AJUSTE VENTILADOR DE AIRCON PARA MÉDIO 8C AJUSTE VENTILADOR DE AIRCON PARA ALTO 9C

Portanto, se ligarmos o ar condicionado e configurá-lo para médio, a mensagem será semelhante a esta 0x402, 13, 8C

o mesmo vale para outros nós, exemplo Central LockingCentral Locking ID = 0x503LOCK todas as portas = 14

Então, se você pressionar o botão para trancar todas as portas, a mensagem ficará assim

0x502, 14

Algumas notas extras.

Algumas mensagens são orientadas pelo estado e algumas ou momentaneamente.

Exemplo 1. Os faróis dianteiros são conduzidos pelo estado. Quando você define uma chave no veículo para uma posição específica, o nó continuará transmitindo a mensagem continuamente. Se você teve que interferir com o CAN-BUS envie uma mensagem para desligar os faróis dianteiros. Ele desligará brevemente e, em seguida, ligará novamente porque o nó onde a chave está configurada para ligar os faróis enviará novamente uma mensagem para ligá-lo.

Exemplo2. Pulando faixas em sua unidade principal de rádio. quando você pressiona um botão e é um botão momentâneo que fará e imediatamente interromper o circuito quando você o deixar, ele enviará uma mensagem para pular a faixa e nunca mais até que você peça para pressionar o botão novamente.

Normalmente, os botões momentâneos são os mais úteis porque você pode controlar os recursos em seu veículo enviando um único comando sem se preocupar se seu comando será sobrescrito. Onde os recursos conduzidos pelo estado serão sobrescritos indefinidamente.

Algumas dicas e ideias

Vendo que agora você é capaz de despejar os dados, você pode usá-los para construir seus próprios circuitos do Arduino que irão reagir com base nas mensagens vistas no CAN-BUS. Por exemplo. Digamos que você instale luzes spot após o mercado. Sem ter que cavar em sua fiação existente, você pode instalar seus faróis de forma independente e ligá-los apenas quando seu Arduino detectar uma mensagem no CAN-BUS.

Enviando dados para o CAN-BUS

Se você seguiu as instruções no início deste manual, você instalou as bibliotecas SEEEDStudio. No IDE do Arduino, há alguns exemplos que você pode experimentar.

Conhecer o ID e a mensagem CAN0-BUS do nodo com o qual deseja interagir.

Infelizmente, essa não é uma tarefa muito fácil. Mas aqui está uma ideia. Use o recurso de registro do Putty e despeje todos os dados da sessão em um arquivo. Deixe o Arduino monitorar o barramento de lata por cerca de 5 minutos e depois salve o log.

Em seguida, inicie uma nova sessão e comece a despejar os dados. Mas desta vez, enquanto despeja os dados, pressione um botão. Não pressione mais de um botão. Pressione o botão algumas vezes para garantir que capturou o botão pressionado.

Em seguida, use algum tipo de ferramenta de comparação e compare o arquivo para detectar as diferenças. O Excel funciona muito bem para isso.

Alguns códigos que você pode tentar

Se você tiver o mesmo modelo Jeep 2010 Rubicon que eu (tenho certeza que o abaixo também funcionará para os modelos '07, '08', 09)

Você pode tentar as seguintes mensagens. Carregue os exemplos de envio do menu de exemplos do Arduino e as alterações foram relevantes.

Engate o Locker Traseiro: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);

Piscador esquerdo ligado: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);

Piscador direito ligado: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);

ESP ligado / desligado: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);

No meu próximo instrutível estarei enviando alguns dados para o CAN-BUS do meu Jeep para demonstrar como você pode interferir nele.

Boa sorte!

Etapa 5: assista ao vídeo

Veja o vídeo para mais vantagens do CAN-BUS!

Recomendado: