SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
Só mais um projeto de detector de ladrão
     com laser , e algumas ideias...
Quem Sou ?

 Antonio Costa aka “Cooler_” , desenvolvedor independente em
C,Common Lisp,Perl,PHP... Trabalho como freelancer a 4 anos no
meio de Web(e-commerce,web spiders...) e problemas em gerais
para unix like, faço parte do grupo de estudo e pesquisa BugSec,
sou um dos colaboradores e fundadores da e-zine “Cogumelo
Binario”. Estudo microcontroladores(AVR e PIC) ,eletrônica em
geral como hobby,         também tento colaborar em projetos
OpenSource.
http://coolerlab.wordpress.com/

“TombPool”
simples biblioteca em Linguagem C para trabalhar com piscina de conexões.
http://code.google.com/p/tombpool/

“Hyde”
Só mais um packet injector usando spoofing
https://github.com/CoolerVoid/Hyde

“Cactoo CMS”
Só mais um CMS em PHP
http://code.google.com/p/cactoo/

“Beer”
Biblioteca com funções diversas em C , para facilitar a vida do pessoal iniciante
bem como automatizar tarefas em arquivos,strings,números etc...
https://github.com/CoolerVoid/beer/blob/master/beer.c

“BugSec”
Grupo que faço parte, no nosso google code colocamos alguns códigos e papers que
escrevemos para estudo etc...
quem faz parte:
 Victor Ramos Mello aka “m0nad”, ref: “http://m0nadlabs.wordpress.com/”
 Tiago Natel aka “IAK”, ref: “http://www.secplus.com.br/site/”
 Felipe Pena aka “sigsegv” ref: “http://felipe.ath.cx/”
 Eduardo Bellani aka “ebellani” ref: “https://github.com/ebellani”
 Sergio Renan “_mlk_” . ref “http://code.google.com/p/lwv/”
http://code.google.com/p/bugsec/downloads/list
...The:empire:Strikes:Back....

   Já a muito tempo tinha ideia de fazer algo com laser, em
circunstâncias anteriores tive algo empírico com detector de
ladrão, usando Arduino pro Mini e um PIR (detector de
movimento), usava webcam usando api do OpenCV para
assim que tiver movimento obter uma foto, logo é enviado
como anexo para um determinado e-mail a foto, funcionou
bem entretanto não como o esperado então em uma questão de
aleatoriedade passava falsos alarmes, nem tudo é perfeito
vejamos alguns Ids como snort por exemplo.

  Com o passar do tempo, lendo livros da “Evil Genius” achei
muito material interessante sobre eletrônica envolvendo
segurança, alguns deles compartilhei no meu blog como o
“detector de mentira”, algo bem simples para detectar batidas
do coração e talvez julgar se é mentira ou não, analisando
uma plotagem ou alguns inteiros, andando no meio dessa
odisseia encontrei vários sistemas “pega ladrão” entre eles o
que vamos estudar aqui sistema com “Laser”, devido a
carência de material do mesmo em PT-BR, tive ideia de
escrever este paper pois acho que seria a melhor forma de
aprender é escrevendo...
Projeto antigo com Arduino com
     sensor de movimento
Por que Arduino ?




• OpenSource
• Facilidade por conta da IDE
• Podemos optar em usar
  gcc-avr, programar em C,ASM...
• prototipagem
• Com Arduino podemos fazer gravação
  em outros AVR como ATtiny...
www.arduino.cc
O que é Laser ?
Um laser é um dispositivo que controla a maneira pela qual
átomos energizados liberam fótons(energia luminosa).


Etimologia:
Sua sigla de laser significa
"Light Amplification by Stimulated Emission of Radiation" ou
seja Amplificação da Luz por Emissão Estimulada de Radiação,
Albert Einstein deu o primeiro passo, dizendo que a luz é
formada por pacotes discretos e bem determinados de energia
que hoje é rotulado como fótons,Mais tarde em 1960 Charles
 Townes registrou a patente do primeiro gerador de raios laser, em
Washington.




                Charles Townes e Arthur Schawlow
Luz do laser e da lanterna
 Emissão estimulada não ocorre numa lanterna
comum, pois todos os seus átomos liberam
seus fótons de forma aleatória. já no laser a
emissão de fótons é organizada.

Qual laser trabalhar ?
 Lasers em geral são classificados em várias
 classes, temos estes que pessoal da SWAT
 usa em armas,
usam para
aumentar a
 probabilidade de
acerto em um
conflito
 armado,
geralmente são da
classe 3 ou seja
 "IIIa" que é o que
vamos usar,
conhecido como
laser de díodo,única
 contra indicação é que se aponte em olhos
 pois pode causar danos embora tenha
 só 5mW, digamos ai com adição de
 elementos óticos pode causar danos,
 como adicionar uma lente de aumento etc...
Indo para Prática
Requerimentos:

2 Resistor de 10k , R$ 0,30 centavos
1 Fotocélula "sensor de luz" (photocell) R$ 2,00 reais
1 Arduino nano      USD 20,00 dollar
1 Cabo para ftdi (para I/O) R$ 6 reais
1 Laser de 5mW                R$ 3,50
1 Led qualquer cor           R$ 0,15 centavos

*alguns jumpers e breadboard
Melhorando a visualização




O LED não esta nesta foto, LED você adiciona no pino que
quiser já que é algo opcional , lembrando que GND “negativo”
é o fio verde, 5v “positivo” seria o fio vermelho, no caso o
laranja seria o do PINO ”2”.



                 http://fritzing.org/
O que foi feito ?
 A fotocélula ao ser usada com resistor de 10k vai detectar
 luz, no caso podemos usar 2 pedaços de cano PVC ou lata,
 deixar o circuito numa lata com um furo mirando para
 a fotocélula, segunda lata o laser mirando para o buraco
 da primeira lata, se alguém passar pelo laser e o laser não
 chegar na fotocélula logo não mandara a luz, então o
 microcontrolador irá julgar uma ação, no caso eu mandei
 "1" via serial caso não tenha luz, nosso código em C ao
 detectar "1" irá ativar uma função usando OpenCV para tirar
foto com webcam, logo seguido de um system() para uso do
“mutt”(cliente de e-mail para unix like) para enviar foto com
anexo para o e-mail destino...

Diagrama
Note na foto o sistema rodando, repare que o laser mira em
sima da fotocélula, e quando isso ocorre acende um LED,
obviamente você pode mudar isso,adicionar um buzzer para
soar alarme caso o laser não alcance a fotocélula,talvez usar
uma placa de GSM com seu SIM card e mandar um SMS por
exemplo...
Código do Arduino
int photocellPin = 2;
int RedLed = 3;
int photocellReading;

void setup(void)
{
 pinMode(RedLed,OUTPUT);
 Serial.begin(9600);
}

void loop(void)
{
 photocellReading = analogRead(photocellPin);
// se entrada(fotons) maior que 900 é laser... então
 if( photocellReading>=900)
 {
  digitalWrite(RedLed,HIGH);
  delay(500);
 }else {
// se o laser nao tiver apontando para fotocelula
  digitalWrite(RedLed,LOW);
// manda 1 via serial assim ativa webcam etc...
  Serial.println("1");
 }
 photocellReading = 1024 - photocellReading;
 delay(100);
}
O Código em Linguagem C
Este código vai ser compilado e executado e vai ficar no seu
computador em esculta, código ficou grande, então não vou
mostrar tudo somente os pontos críticos...




baixe aqui !
 bugsec.googlecode.com/files/ThiefGet_with_laser.c
Macro de DEBUG
Quase todo código que escrevo uso esta macro, uso para ajudar a
depurar o código, evita que eu abra o GDB para tomar uma surra!

setar para 1 ativa debug
#define BUGVIEW 1

#define DEBUG(x, s...) do { 
 if (!BUGVIEW) { break; } 
 time_t t = time(NULL); 
 char *d = ctime(&t); 
 fprintf(stderr, "[!] %.*s %s[%d] %s(): ", 
 (int)strlen(d) - 1, d, __FILE__, 
 __LINE__, __FUNCTION__); 
 fprintf(stderr, x, ## s); 
} while (0);

Nos retorna tempo, nome do arquivo,linha e função.


Funções
Esta função abrimos a porta serial com a syscall open()
e ajustamos o struct do “termios.h” para comunicação padrão
int serialboot(const char* serialport, int baud);

Função para uso da syscall read() no descriptor para pegar
input...
int serialread(int fd, char* buf, char until);

Esta função tira foto da webcam usando API do OpenCV
void webcam(const char* file);
Parte lógica
// se receber "1"
    if(strcmp(buf,"1")>0)
    {
//microsegundos do sleep
     usleep(500000);
     puts("MOVEMENT ONLINE");
     puts(buf);
     counter++;
     OFF=0;
    }
//numero de vezes que achou movimento
    if(counter==MOVES)
    {
     puts("cof cof thief in HOME");
// tira foto da webcam
     webcam("test.jpg");
// manda e-mail com anexo a webcam :-) ,poderia ser um execl() também...
     system(CMD);
     break;
     counter=0;
    }
Perguntas ???
Obrigado pela atenção




          Onde podemos conversar ?

                  irc.freenode.net
                      #cogubin

               c00f3r@gmail.com


                        Thanks:
            m0nad,Iak,sigsegv,ebellani,_mlk_,
    clandestine,eremitah,mentebinaria,kov,f117,syn_ack
    marcelomf,zeppelin,muzgo,b4r0n,nibbles,voidpointer
enygmata,crash,SecMentor, __von,twi-john , utroz,sexpistol,_i
                      outros amigos...

Mais conteúdo relacionado

Semelhante a Detector de ladrão com laser e Arduino

Rastreamento 3D de objetos para realidade virtual
Rastreamento 3D de objetos para realidade virtualRastreamento 3D de objetos para realidade virtual
Rastreamento 3D de objetos para realidade virtualpichiliani
 
Apresentacao log
Apresentacao logApresentacao log
Apresentacao logpedrohfsd
 
Robótica com software e hardware livres
Robótica com software e hardware livresRobótica com software e hardware livres
Robótica com software e hardware livresMarcelo Laranjeira Melo
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
38698469 slides-arduino
38698469 slides-arduino38698469 slides-arduino
38698469 slides-arduinoRui Alves
 
Apostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDFApostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDFengelrfs
 
Introdução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livreIntrodução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livrepichiliani
 
Robô seguidor de linha
Robô seguidor de linhaRobô seguidor de linha
Robô seguidor de linhaIsvaldo Souza
 
Introduçao ao Arduino e Domótica - Latinoware 2012
Introduçao ao Arduino e Domótica - Latinoware 2012Introduçao ao Arduino e Domótica - Latinoware 2012
Introduçao ao Arduino e Domótica - Latinoware 2012Desiree Santos
 
Se você é .NET, você é NETDUINO - TDC 2013 - Porto Alegre
Se você é .NET, você é NETDUINO - TDC 2013 - Porto AlegreSe você é .NET, você é NETDUINO - TDC 2013 - Porto Alegre
Se você é .NET, você é NETDUINO - TDC 2013 - Porto AlegreMarcio Martins
 
H4dummies (translated to portuguese)
H4dummies (translated to portuguese)H4dummies (translated to portuguese)
H4dummies (translated to portuguese)Alvaro Gomes
 
Workshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoWorkshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoArticacc, Lda
 
Análise de malware com software livre
Análise de malware com software livreAnálise de malware com software livre
Análise de malware com software livreDiego Santos
 

Semelhante a Detector de ladrão com laser e Arduino (20)

Vivendo de hacking
Vivendo de hackingVivendo de hacking
Vivendo de hacking
 
Rastreamento 3D de objetos para realidade virtual
Rastreamento 3D de objetos para realidade virtualRastreamento 3D de objetos para realidade virtual
Rastreamento 3D de objetos para realidade virtual
 
Sniffers Parte 3
Sniffers   Parte 3Sniffers   Parte 3
Sniffers Parte 3
 
Apresentacao log
Apresentacao logApresentacao log
Apresentacao log
 
Pentest conisli07
Pentest conisli07Pentest conisli07
Pentest conisli07
 
Robótica com software e hardware livres
Robótica com software e hardware livresRobótica com software e hardware livres
Robótica com software e hardware livres
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
38698469 slides-arduino
38698469 slides-arduino38698469 slides-arduino
38698469 slides-arduino
 
Arduino Básico
Arduino BásicoArduino Básico
Arduino Básico
 
Apostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDFApostila - Tutorial Arduino (Básico).PDF
Apostila - Tutorial Arduino (Básico).PDF
 
Introdução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livreIntrodução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livre
 
Robô seguidor de linha
Robô seguidor de linhaRobô seguidor de linha
Robô seguidor de linha
 
Introduçao ao Arduino e Domótica - Latinoware 2012
Introduçao ao Arduino e Domótica - Latinoware 2012Introduçao ao Arduino e Domótica - Latinoware 2012
Introduçao ao Arduino e Domótica - Latinoware 2012
 
Se você é .NET, você é NETDUINO - TDC 2013 - Porto Alegre
Se você é .NET, você é NETDUINO - TDC 2013 - Porto AlegreSe você é .NET, você é NETDUINO - TDC 2013 - Porto Alegre
Se você é .NET, você é NETDUINO - TDC 2013 - Porto Alegre
 
H4dummies (translated to portuguese)
H4dummies (translated to portuguese)H4dummies (translated to portuguese)
H4dummies (translated to portuguese)
 
Workshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoWorkshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - Farrusco
 
Sniffers Parte 2
Sniffers   Parte 2Sniffers   Parte 2
Sniffers Parte 2
 
Sniffers
SniffersSniffers
Sniffers
 
Minicurso do Terminal ao Python
Minicurso do Terminal ao PythonMinicurso do Terminal ao Python
Minicurso do Terminal ao Python
 
Análise de malware com software livre
Análise de malware com software livreAnálise de malware com software livre
Análise de malware com software livre
 

Mais de Antonio Costa aka Cooler_ (12)

Strange security mitigations
Strange security mitigationsStrange security mitigations
Strange security mitigations
 
Understand study
Understand studyUnderstand study
Understand study
 
WAF protections and bypass resources
WAF protections and bypass resourcesWAF protections and bypass resources
WAF protections and bypass resources
 
Static analysis for beginners
Static analysis for beginnersStatic analysis for beginners
Static analysis for beginners
 
Raptor web application firewall
Raptor web application firewallRaptor web application firewall
Raptor web application firewall
 
0d1n
0d1n0d1n
0d1n
 
Burlando Waf 2.0
Burlando Waf  2.0Burlando Waf  2.0
Burlando Waf 2.0
 
burlando um WAF
burlando um WAFburlando um WAF
burlando um WAF
 
Development pitfalls
Development pitfallsDevelopment pitfalls
Development pitfalls
 
0d1n bsides2
0d1n bsides20d1n bsides2
0d1n bsides2
 
Bsides odin
Bsides odinBsides odin
Bsides odin
 
Bsides4cooler
Bsides4coolerBsides4cooler
Bsides4cooler
 

Detector de ladrão com laser e Arduino

  • 1. Só mais um projeto de detector de ladrão com laser , e algumas ideias...
  • 2. Quem Sou ? Antonio Costa aka “Cooler_” , desenvolvedor independente em C,Common Lisp,Perl,PHP... Trabalho como freelancer a 4 anos no meio de Web(e-commerce,web spiders...) e problemas em gerais para unix like, faço parte do grupo de estudo e pesquisa BugSec, sou um dos colaboradores e fundadores da e-zine “Cogumelo Binario”. Estudo microcontroladores(AVR e PIC) ,eletrônica em geral como hobby, também tento colaborar em projetos OpenSource. http://coolerlab.wordpress.com/ “TombPool” simples biblioteca em Linguagem C para trabalhar com piscina de conexões. http://code.google.com/p/tombpool/ “Hyde” Só mais um packet injector usando spoofing https://github.com/CoolerVoid/Hyde “Cactoo CMS” Só mais um CMS em PHP http://code.google.com/p/cactoo/ “Beer” Biblioteca com funções diversas em C , para facilitar a vida do pessoal iniciante bem como automatizar tarefas em arquivos,strings,números etc... https://github.com/CoolerVoid/beer/blob/master/beer.c “BugSec” Grupo que faço parte, no nosso google code colocamos alguns códigos e papers que escrevemos para estudo etc... quem faz parte: Victor Ramos Mello aka “m0nad”, ref: “http://m0nadlabs.wordpress.com/” Tiago Natel aka “IAK”, ref: “http://www.secplus.com.br/site/” Felipe Pena aka “sigsegv” ref: “http://felipe.ath.cx/” Eduardo Bellani aka “ebellani” ref: “https://github.com/ebellani” Sergio Renan “_mlk_” . ref “http://code.google.com/p/lwv/” http://code.google.com/p/bugsec/downloads/list
  • 3. ...The:empire:Strikes:Back.... Já a muito tempo tinha ideia de fazer algo com laser, em circunstâncias anteriores tive algo empírico com detector de ladrão, usando Arduino pro Mini e um PIR (detector de movimento), usava webcam usando api do OpenCV para assim que tiver movimento obter uma foto, logo é enviado como anexo para um determinado e-mail a foto, funcionou bem entretanto não como o esperado então em uma questão de aleatoriedade passava falsos alarmes, nem tudo é perfeito vejamos alguns Ids como snort por exemplo. Com o passar do tempo, lendo livros da “Evil Genius” achei muito material interessante sobre eletrônica envolvendo segurança, alguns deles compartilhei no meu blog como o “detector de mentira”, algo bem simples para detectar batidas do coração e talvez julgar se é mentira ou não, analisando uma plotagem ou alguns inteiros, andando no meio dessa odisseia encontrei vários sistemas “pega ladrão” entre eles o que vamos estudar aqui sistema com “Laser”, devido a carência de material do mesmo em PT-BR, tive ideia de escrever este paper pois acho que seria a melhor forma de aprender é escrevendo...
  • 4. Projeto antigo com Arduino com sensor de movimento
  • 5. Por que Arduino ? • OpenSource • Facilidade por conta da IDE • Podemos optar em usar gcc-avr, programar em C,ASM... • prototipagem • Com Arduino podemos fazer gravação em outros AVR como ATtiny...
  • 7. O que é Laser ? Um laser é um dispositivo que controla a maneira pela qual átomos energizados liberam fótons(energia luminosa). Etimologia: Sua sigla de laser significa "Light Amplification by Stimulated Emission of Radiation" ou seja Amplificação da Luz por Emissão Estimulada de Radiação, Albert Einstein deu o primeiro passo, dizendo que a luz é formada por pacotes discretos e bem determinados de energia que hoje é rotulado como fótons,Mais tarde em 1960 Charles Townes registrou a patente do primeiro gerador de raios laser, em Washington. Charles Townes e Arthur Schawlow
  • 8. Luz do laser e da lanterna Emissão estimulada não ocorre numa lanterna comum, pois todos os seus átomos liberam seus fótons de forma aleatória. já no laser a emissão de fótons é organizada. Qual laser trabalhar ? Lasers em geral são classificados em várias classes, temos estes que pessoal da SWAT usa em armas, usam para aumentar a probabilidade de acerto em um conflito armado, geralmente são da classe 3 ou seja "IIIa" que é o que vamos usar, conhecido como laser de díodo,única contra indicação é que se aponte em olhos pois pode causar danos embora tenha só 5mW, digamos ai com adição de elementos óticos pode causar danos, como adicionar uma lente de aumento etc...
  • 9.
  • 10. Indo para Prática Requerimentos: 2 Resistor de 10k , R$ 0,30 centavos 1 Fotocélula "sensor de luz" (photocell) R$ 2,00 reais 1 Arduino nano USD 20,00 dollar 1 Cabo para ftdi (para I/O) R$ 6 reais 1 Laser de 5mW R$ 3,50 1 Led qualquer cor R$ 0,15 centavos *alguns jumpers e breadboard
  • 11. Melhorando a visualização O LED não esta nesta foto, LED você adiciona no pino que quiser já que é algo opcional , lembrando que GND “negativo” é o fio verde, 5v “positivo” seria o fio vermelho, no caso o laranja seria o do PINO ”2”. http://fritzing.org/
  • 12. O que foi feito ? A fotocélula ao ser usada com resistor de 10k vai detectar luz, no caso podemos usar 2 pedaços de cano PVC ou lata, deixar o circuito numa lata com um furo mirando para a fotocélula, segunda lata o laser mirando para o buraco da primeira lata, se alguém passar pelo laser e o laser não chegar na fotocélula logo não mandara a luz, então o microcontrolador irá julgar uma ação, no caso eu mandei "1" via serial caso não tenha luz, nosso código em C ao detectar "1" irá ativar uma função usando OpenCV para tirar foto com webcam, logo seguido de um system() para uso do “mutt”(cliente de e-mail para unix like) para enviar foto com anexo para o e-mail destino... Diagrama
  • 13. Note na foto o sistema rodando, repare que o laser mira em sima da fotocélula, e quando isso ocorre acende um LED, obviamente você pode mudar isso,adicionar um buzzer para soar alarme caso o laser não alcance a fotocélula,talvez usar uma placa de GSM com seu SIM card e mandar um SMS por exemplo...
  • 14. Código do Arduino int photocellPin = 2; int RedLed = 3; int photocellReading; void setup(void) { pinMode(RedLed,OUTPUT); Serial.begin(9600); } void loop(void) { photocellReading = analogRead(photocellPin); // se entrada(fotons) maior que 900 é laser... então if( photocellReading>=900) { digitalWrite(RedLed,HIGH); delay(500); }else { // se o laser nao tiver apontando para fotocelula digitalWrite(RedLed,LOW); // manda 1 via serial assim ativa webcam etc... Serial.println("1"); } photocellReading = 1024 - photocellReading; delay(100); }
  • 15. O Código em Linguagem C Este código vai ser compilado e executado e vai ficar no seu computador em esculta, código ficou grande, então não vou mostrar tudo somente os pontos críticos... baixe aqui ! bugsec.googlecode.com/files/ThiefGet_with_laser.c
  • 16. Macro de DEBUG Quase todo código que escrevo uso esta macro, uso para ajudar a depurar o código, evita que eu abra o GDB para tomar uma surra! setar para 1 ativa debug #define BUGVIEW 1 #define DEBUG(x, s...) do { if (!BUGVIEW) { break; } time_t t = time(NULL); char *d = ctime(&t); fprintf(stderr, "[!] %.*s %s[%d] %s(): ", (int)strlen(d) - 1, d, __FILE__, __LINE__, __FUNCTION__); fprintf(stderr, x, ## s); } while (0); Nos retorna tempo, nome do arquivo,linha e função. Funções Esta função abrimos a porta serial com a syscall open() e ajustamos o struct do “termios.h” para comunicação padrão int serialboot(const char* serialport, int baud); Função para uso da syscall read() no descriptor para pegar input... int serialread(int fd, char* buf, char until); Esta função tira foto da webcam usando API do OpenCV void webcam(const char* file);
  • 17. Parte lógica // se receber "1" if(strcmp(buf,"1")>0) { //microsegundos do sleep usleep(500000); puts("MOVEMENT ONLINE"); puts(buf); counter++; OFF=0; } //numero de vezes que achou movimento if(counter==MOVES) { puts("cof cof thief in HOME"); // tira foto da webcam webcam("test.jpg"); // manda e-mail com anexo a webcam :-) ,poderia ser um execl() também... system(CMD); break; counter=0; }
  • 19. Obrigado pela atenção Onde podemos conversar ? irc.freenode.net #cogubin c00f3r@gmail.com Thanks: m0nad,Iak,sigsegv,ebellani,_mlk_, clandestine,eremitah,mentebinaria,kov,f117,syn_ack marcelomf,zeppelin,muzgo,b4r0n,nibbles,voidpointer enygmata,crash,SecMentor, __von,twi-john , utroz,sexpistol,_i outros amigos...