Criando uma chave RFID universal para interfones

Saudações a todos os interessados ​​no tópico de veículos eletrônicos com todos os terrenos. Na verdade, eu mesmo não acompanho as notícias nesta área há muito tempo. Mas quero publicar meu desenvolvimento de três anos atrás, pois é fácil repetir e pode ser do interesse de alguém. Conclusão: em vez de uma dúzia de chaves com códigos para todos os terrenos e códigos justos, todas as chaves podem ser transportadas em um pequeno dispositivo.



Isenção de responsabilidade: repita - não exorto pela montagem e uso - você é responsável, compartilho informações apenas para fins informativos. Por exemplo, para ajudar as empresas que atendem com viva-voz local a consertar “buracos” a tempo, se forem detectados usando o dispositivo.

1. O que é isso? O que pode?


O dispositivo que eu coletei em 2017 nada mais é do que um spoofer para uma chave RFID de interfone operando a uma frequência de 125 kHz. A palavra "spoofer", neste caso, significa que o dispositivo, na verdade não é uma chave, o personifica e os intercomunicadores respondem de acordo.

O dispositivo pode transmitir quaisquer códigos de chave que são gravados em sua memória. Alguns códigos podem ser encontrados na Web para “chaves todo-o-terreno”, eu os inseri primeiro no firmware. Mas com alguma habilidade e desejo, você pode inserir no firmware os códigos de todas as chaves RFID que você usa (se elas funcionam com uma frequência de 125 kHz) e, assim, poder substituir um monte de porta-chaves por um dispositivo.

Eu sei que na vastidão da Web há um grande número de circuitos de tais dispositivos. Meu objetivo era criar a versão mais simples de todas as disponíveis. Se conseguiu ou não - julgue por si mesmo.

2. Que habilidades você precisa ter para repetir este projeto?


Antes de tudo, as habilidades para trabalhar com o Arduino: ter um ambiente de desenvolvimento instalado, poder fazer upload de firmware para a placa, instalar bibliotecas, drivers, é tudo. Próximo. Há um lugar no projeto onde sem solda - bem, nada. Porque - você precisa de braços retos e um ferro de soldar com consumíveis. Ser capaz de ler diagramas de circuitos elétricos (ou suas semelhanças). Bem, habilidades de programação em C ++, para poder personalizar o dispositivo. Mas isso já é opcional.

3. Quais peças são necessárias e como montá-las?


Sem demora, aqui está um diagrama do dispositivo:
Sinto muito pelo fato de "não estar de acordo com o GOST" - eu desenho no drawio, porque a única alternativa gratuita e conveniente para o Visio, e agora eu só uso software licenciado. Mas, suponho, tudo já está muito claro.


Como você pode ver, a lista técnica da versão básica é mais ou menos assim:

  1. Arduino Nano (ou qualquer outro Dunya que esteja à mão);
  2. Chave RFID EM4100 (em vez de indutor);
  3. transistor npn (qualquer um encontrado, as frequências aqui não são muito altas);
  4. Resistor de 10K;
  5. Capacitor 560 pF (melhor SMD, você pode soldar diretamente no gabinete a partir da chave);
  6. bateria de iões de lítio - a gosto;
  7. três botões de toque;
  8. Display OLED com interface I2C;
  9. módulo de carregamento para li-ion;
  10. Conversor DC-DC com saída de 5V.

O esquema de energia pode ser qualquer um, apenas para ter Arduino suficiente para iniciar. Dispositivos de E / S - da mesma forma: o firmware pode ser facilmente adaptado aos botões / monitores disponíveis (link para o github - logo abaixo). A versão atual do firmware foi escrita para a tela OLED e os botões de toque (extraídos de considerações de "sem rejeição").

Você também pode coletar uma amostra de teste em uma tábua de pão sem solda. Nenhuma instrução especial é necessária aqui, exceto o que fazer com a "indutância". Sobre isso - em mais detalhes.



A chave, semelhante à da foto, pode ser obtida com qualquer mestre local ou encomendada no Ali. Há uma tampa no corpo da chave, que deve ser cuidadosamente aberta ao atingir o enchimento:



É uma bobina e um chip de memória com duas almofadas nas laterais. As descobertas da bobina são soldadas apenas a essas almofadas. Tudo isso é inundado com uma fina camada de termopolímero elástico (na aparência e propriedades semelhantes ao adesivo congelado B7000). Para obter uma bobina, fiz o seguinte. Pegando uma faca de escritório, pressionei delicadamente um textolite com uma lâmina entre as almofadas e o microcircuito. Ele separou o microcircuito da bobina e jogou-o fora. Então, com um ferro de soldar, eu cuidadosamente (para não soldar os fios finos da bobina) queimei o termopolímero sobre as almofadas, possibilitando um toque adicional.



Antes de soldar, você deve medir a resistência da bobina, certificando-se de que ela não esteja aberta. Se tudo estiver em ordem, é melhor montar assim: primeiro solde o capacitor SMD aos blocos (ele deve se encaixar perfeitamente entre eles), depois as pernas do transistor e, no final - o resistor à base. Tudo isso pode ser montado com cuidado na carcaça da chave. Os fios da "terra" e a base do transistor são soldados por último.



Em seguida, faça um orifício na tampa do teclado para esses fios e feche o chaveiro, dando uma aparência quase original. Para montar em uma tábua de pão sem solda, você deve soldar os conectores dos pinos nos fios (ou apenas rasgá-los bem para poder inseri-los facilmente na tábua de pão).

4. Firmware, teste e configuração


Como prometido, um link para o repositório do projeto. Os arquivos de firmware estão na pasta My_125_kHz_spoofer_v.03.

Após a montagem e o upload do firmware, o dispositivo está pronto para uso. Para garantir que funcione, não é necessário procurar um intercomunicador - você pode se familiarizar com o módulo chinês para leitura de chaves RFID, chamado RDM6300 e outra placa Arduino (embora seja mais fácil para qualquer pessoa). Também coloquei o firmware do módulo RDM6300, que exibe o código da chave traduzido no mesmo formato que foi incluído no firmware do spoofer, no repositório do projeto. Diagrama de conexão do leitor - no mesmo local.

Procedimento de teste usando o leitor RDM6300:

  1. Verifique se o leitor está funcionando mantendo pressionada qualquer uma das teclas disponíveis a 125 kHz na antena (os dados serão enviados para a porta COM);
  2. Selecione o código de interesse principal no menu do spoofer;
  3. Traga a antena para o leitor. Se o leitor ler a mesma chave especificada no firmware - tudo deu certo! Senão - verifique o esquema, procure onde está o erro, elimine-o e comece do ponto 1.

5. O que pode ser alterado no firmware e o que é melhor não tocar


Como o firmware foi moldado com base nesse código, o que não está claro para mim, as funções vitais que não podem ser alteradas no momento são completamente completas, coloquei em uma guia separada functions.ino. O restante do programa serve apenas para fornecer ao usuário uma oportunidade conveniente de chamar a função EmulateCard (bem, e algumas linhas de código à sua frente).

Você pode adicionar suas chaves à matriz uint64_t universalID [] localizada na linha 75 do código. Como não "defini" o número total de chaves na memória do dispositivo e algumas funções estão vinculadas a essa constante, ao adicionar minha própria chave, você também deve alterar os limites dentro dos quais a variável keyNumber é responsável por escolher a chave. Bem, não esqueça de adicionar sua chave no menu. Em geral, tudo está úmido, mas se você quiser, repito, não é difícil descobrir.

6. O que poderia ser melhorado no dispositivo


  1. Adicione suporte para as teclas do iButton (pelo menos as mais comuns de Dallas).
  2. Adicionar emulação de teclas operando a uma frequência de 13,5 MHz (como eu a entendo, usando um espaço em branco regravável e o módulo RC522, ou é tecnicamente difícil através da emulação real).
  3. Adicione os leitores iButton, RDM6300 e RC522 ao dispositivo para torná-lo ainda mais universal.

Quem terá sucesso - escreva sobre os resultados. Eu mesmo não voltarei ao desenvolvimento deste brinquedo em um futuro próximo)

7. História da criação


Eu estava no quintal no outono de 2017. Como estudante do segundo ano, eu sofri em questões não resolvidas de autodeterminação. Simplificando, jogou sobre a ociosidade e estava procurando algo para fazer. Como resultado, ele decidiu terminar seus antigos projetos de engenharia em detrimento de visitar a universidade.

O clima no quintal era simplesmente luxuoso. E o que poderia ser melhor do que sentar no telhado de um prédio em uma noite fria de outono, beber chá de uma garrafa térmica e contemplar a agitação da cidade noturna sob seus pés?

À tarde, chegar à entrada de qualquer prédio não é difícil - a engenharia social da série "Olá, uma pesquisa social sobre a qualidade do trabalho da empresa de gestão em nome do jornal local" funciona bem e, de fato, basicamente, os moradores não se importam com alguém entrar na entrada com eles. À noite, outra coisa. E eu gostava de subir nos telhados ao pôr do sol ou à noite ... Um problema amadureceu, o que resolvi da maneira descrita acima.

Pelo que me lembro, as informações sobre esses dispositivos não foram encontradas imediatamente. Pesquisando as palavras-chave “cracker de intercomunicação”, quase nada resultou. Adequado começou a ser quando eu um pouco de compreensão da tecnologia RFID, e começou a fazer perguntas mais significativas, como "emulador RFID", "multykey RFID", "spoofer RFID".

Como resultado, acabou por encontrar dois artigos decentes em inglês sobre o assunto. Em um deles, o autor descreveu como, com base no Arduino, uma chave era bastante confusa do ponto de vista do hardware, e no segundo era tudo a mesma coisa, mas sem a fonte, mas com um hardware muito simples. Tendo raciocinado corretamente que, como os dois circuitos estão conectados à antena com um pino do Arduino, decidi cruzar uma solução simples de hardware e código aberto. Era possível, embora não a primeira vez).

A foto no começo deste artigo está longe da primeira versão do dispositivo. O primeiro estava na placa de ensaio e funcionou através da porta COM. Lembro-me de como os transeuntes me fizeram entender de todas as maneiras possíveis que eu parecia desconfiada quando estava na porta de um prédio de vários andares com um laptop aberto e vi algo no interfone.

Depois, havia várias versões mais compactas, que eu colecionei e desmontei por uma questão de interesse. O penúltimo roubou um dos personagens principais do meu artigo anterior. A versão atual foi compilada em 29 de janeiro deste ano, entre as lições que ensino no meu círculo. Ele foi montado apenas com o objetivo de garantir que eu não informava mal ninguém, e o firmware com o circuito funcionava.

Source: https://habr.com/ru/post/pt485104/


All Articles