Índice:

Hijacker de switch genérico: 3 etapas
Hijacker de switch genérico: 3 etapas

Vídeo: Hijacker de switch genérico: 3 etapas

Vídeo: Hijacker de switch genérico: 3 etapas
Vídeo: How to Remove Browser Hijacker in 3 Simple Steps? 2024, Novembro
Anonim
Hijacker de switch genérico
Hijacker de switch genérico

Este artigo descreve como construir um dispositivo microcontrolador de estado sólido que controla interruptores físicos. É muito barato de fazer (4 $ ou mais), supondo que você tenha um programador de microcontrolador. O circuito em si é de complexidade trivial.

Este projeto é muito simples e não envolve novas técnicas impressionantes. Serviria como um bom primeiro projeto de microcontrolador. O código-fonte do assembly será fornecido a você neste artigo. Eu tenho um chefe muito legal no trabalho. Às vezes, gostamos de brincar um com o outro. Infelizmente para ele, sou um cientista. Meu objetivo aqui é fazer com que vários dispositivos no local de trabalho sejam ligados misteriosamente por curtos períodos de tempo. Rádios, impressoras barulhentas, até aqueles irritantes cartões musicais de aniversário escondidos em algum objeto comum. Além disso, o projeto é um exemplo de como você controla cargas mais pesadas com um AVR do que os pinos de saída podem lidar com eles próprios. Isso é uma grande variedade de coisas, já que os pinos de saída fornecem apenas uma pequena tensão e uma corrente muito limitada. Este circuito pode ser expandido com um relé para controlar algumas cargas muito pesadas.

Etapa 1: Projeto e circuito

Design e Circuito
Design e Circuito

Para este projeto, você pode usar quase qualquer microcontrolador, regulador de tensão de 5v e transistor NPN. Eu usei:

1x ATtiny26L-8PU (~ 2 $) 1x regulador de tensão TL780 5v (~ 0,7 $) 1x transistor N2222 (~ 0,07 $) 1x bateria de 9v ou bateria de controle remoto de 12v para economizar espaço … e, claro, meu fiel STK500, agora com ZIF soquetes adicionados! O projeto básico é o seguinte: o microcontrolador passa por dois loops de temporização. Um loop longo para determinar quando ligar o dispositivo e um loop curto para determinar por quanto tempo manter o dispositivo ligado. Quando chega a hora de causar problemas, o microcontrolador envia uma lógica alta do pino 14 (bit menos significativo de PORTA). Isso dispara o transistor. Se você conectou os grampos aos condutores de uma chave, isso faz com que a resistência da chave caia repentinamente de muito alta para menos de 1 ohm, o que é suficiente para a maioria dos dispositivos considerá-la ligada. Lembre-se de que os transistores também são diodos, então se não funcionar … a polaridade dos grampos provavelmente está errada, troque-os! Além disso, este dispositivo requer uma bateria de 9v decente, digamos, com mais de 8v de potencial restante … além disso, ele não usa muita energia. Há muitos pinos não usados, então é claro que você poderia usá-los para controlar mais interruptores para mais caos, mas isso foi suficiente para meus objetivos. A próxima etapa é o código-fonte que escrevi para fazer isso funcionar. Os comprimentos padrão para os estados "ligado" e "desligado" são de aproximadamente 10 segundos e 13 minutos, respectivamente. Existem comentários no código sobre como alterar esses valores. Finalmente, desculpe o uso extensivo da função "nop" (ela gasta um ciclo da CPU sem fazer nada) para ajustar os temporizadores. É deselegante, pois pode quebrar a função rjmp se você não tomar cuidado com a quantidade que usa!

Etapa 2: Código Fonte

COMEÇAR:

. INCLUDE "tn26def.inc"; Arquivo de definição. Procure no Google se precisar de uma cópia. clr r30 clr r29 clr r28 clr r27 ldi r28, 0b00000000 ldi r27, 0b11111111 ldi r26, 0b00000000 clr r25 fora DDRA, r27 fora PORTA, r28 TEMPORIZADOR: inc r30 nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop cpi r30, 0b11111111 breq TIMER2 rjmp TIMER TIMER 2: nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop inc r29 cpi r29, 0b1111113 TIMER3 r29 cpi r29, TIMER nop nop nop nop nop nop nop nop nop nop nop nop não nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop inc r25 cpi r25, 0b11111111; Abaixe este número para diminuir o tempo "off" breq FUNC rjmp TIMER FUNC: nop nop cpi r28, 0x00 breq FUNC2 dec r28 clr r30 clr r29 clr r25 out PORTA, r28 rjmp TIMER FUNC2: nop nop inc r28 out PORTA, r28 clr r25 clr r30 clr r29 rjmp TIMER4 TIMER4: inc r30 nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop cpi r30, 0b11111111 breq TIMER5 rjmp TIMER4 TIMER5: nop nop nop nop nop nop nop nop nop nop nop nop nop inc r29 cpi r29, 0b11111 111 breq TIMER6 rjmp TIMER4 TIMER6: inc r25 cpi r25, 0b00000011; Aumente este número para aumentar o tempo "on" breq FUNC rjmp TIMER4

Etapa 3: Nota Final

Divirta-se, mas lembre-se de que o transistor tem limites em termos de quanta potência você pode bombear através dele. Isso significa que não há tensão de rede! Além do fato de que sobrecarregaria o transistor muito rápido, este dispositivo não controlará bem os sinais alternados … a menos que você aplique a modificação descrita abaixo * e * adicione um relé: Se se preocupar com a polaridade do grampo o incomoda, apenas conecte um segundo transistor com a placa de base conectada à mesma fonte do primeiro transistor, mas com o coletor e o emissor na configuração oposta. Dessa forma, não importa como você conecte as pinças, uma alta lógica saindo do microcontrolador sempre "ligará" a chave. Lembre-se de que a corrente de fuga neste sistema pode ser suficiente para ativar alguns interruptores sensíveis como matrizes de teclado, pode ser necessário adicionar um resistor em série para esta aplicação. Lembre-se de que você pode sugar a energia do dispositivo de destino em vez de usar uma bateria. Finalmente… instalei o dispositivo dentro de uma calculadora de contabilidade antiga, do tipo que tem funções de impressão. Eu fiz engenharia reversa da matriz do teclado usando um clipe de papel para determinar quais pinos IC, quando conectados, causariam a alimentação do papel, e conectei os pinos corretos junto com o dispositivo. Então, desativei o botão que permite desligar a função de impressão. Considero a máquina devidamente subvertida. Ele liga o alimentador de papel bastante barulhento a cada 10 minutos, por 10 segundos, sempre que o dispositivo está ligado. Também funcionou bem com o circuito de um daqueles cartões de aniversário musicais hiper-desagradáveis. Meu local de trabalho agora está mais bizarro!

Recomendado: