Jump to content

Fernando Mercês

Administradores
  • Content Count

    679
  • Joined

  • Last visited

Everything posted by Fernando Mercês

  1. É preciso ter o Node.js instalado pra usar essa: $ git clone https://github.com/devongovett/regexgen.git $ cd regexgen $ npm install regenerate jsesc $ node bin/cli.js casado cagado capado /ca[gps]ado/ $ node bin/cli.js 3300-4455 3300-4400 /3300\-44(?:00|55)/ $ node bin/cli.js 'Feliz 2015' 'feliz 2016' 'ferrou 2017' /fe(?:rrou 2017|liz 2016)|Feliz 2015/
  2. Após baixar e compilar o regldg: $ regldg 'ca[gps]ado' cagado capado casado
  3. $ date +'%s' 1433497577 # Convertendo Epoch para hora atual $ date -d @1433497577 Fri Jun 5 05:46:17 EDT 2015 # De novo, mas agora usando UTC $ date -d @1433497577 -u Fri Jun 5 09:46:17 UTC 2015 # No OS X $ date -ur 1433497577 Fri Jun 5 09:46:17 UTC 2015 # 18h15 do dia 3 de janeiro de 1980 para Epoch $ date -d '1980-01-03 18:15:00' +%s 315789300
  4. $ mkdir -p um/diretorio/la/na/pqp $ cd !$ $ ping site.com.br $ nc !$ 80
  5. Você ainda usa o comando touch? Se liga na dica do Júlio Neves (se você curte shell, precisa conhecer esse cara!): $ > arquivo
  6. Dica: O projeto bashacks ajuda a fazer tais cálculos de maneira muito mais rápida. $ echo $((0xa)) 41 # hexa para caractere $ echo -e "\x41" A # decimal pra hexa $ printf "%x\n" 32 20 # string para caracteres hexa $ echo -n "Fernando" | hd 00000000 46 65 72 6e 61 6e 64 6f |Fernando| # caracteres hexa para string $ echo -e "\x46\x65\x72\x6e\x61\x6e\x64\x6f" Fernando Pode-se usar também o comando bc: # No bc, ibase significa "input base", ou seja, base da entrada. E obase, "output base", base da saída. Então é só se divertir: $ bc -q obase=2 255 11111111 ibase=10 obase=16 10 A obase=8 ibase=16 A 12 # one-liner de hexa para binário $ echo "ibase=16; obase=2; FF" | bc 11111111# função para converter decimal para binário $ function dec2bin { echo "obase=2;$1" | bc; } $ dec2bin 127 1111111 E mais, temos um vídeo sobre ele no canal Papo Binário:
  7. # apt-get install python python-pip # pip install odfpy $ csv2ods -i arquivo.csv -o planilha.ods Veja mais sobre a ODFPY.
  8. Esta é uma maneira antiga de usar as chamas de sistemas do Linux, mas ainda funciona e tem fins didáticos :-) ; # apt install nasm ; $ nasm -f elf32 hello.asm ; $ ld -m elf_i386 -o hello hello.o ; $ ./hello section .rodata ; seção .rodata do ELF, onde ficam os dados somente-leitura msg: db "Mente Binária", 10 ; nossa string que será impressa, seguida de um \n len: equ $-msg ; "$" significa "aqui" -> posição atual menos posição do texto. len terá o tamanho da string. section .text ; seção .text do ELF, onde fica o código global _start ; faz o label "_start" visível ao linker (ld) _start: mov edx,len ; arg3 da syscall write(), quantidade de bytes para imprimir (tamanho) mov ecx,msg ; arg2, pointeiro para o endereço da string mov ebx,1 ; arg1, em qual file descriptor (fd) escrever. 1 é stdout mov eax,4 ; 4 é o código da syscall write() int 0x80 ; interrupção 0x80 do kernel (executa a syscall apontada em eax) mov ebx,0 ; arg1 da syscall exit(). 0 significa execução com sucesso mov eax,1 ; 1 é o código da syscall exit() int 0x80 ; executa a syscall apontada em eax, que vai sair do programa
  9. Para ver o filesystem: # fdisk -ul file.img Criar um loop device:(o tamanho do setor pode variar entre os sistemas de arquivos): # losetup -fs file.img -o $((START_SECTPR*512)) Montar o device recém-criado: # mount -o loop /dev/loop0 /mnt
  10. trap '' 2 # ou INT echo "Pressione [Ctrl+C] pra testar..." sleep 20 trap 2
  11. // Código em C int i = 3232235521; printf("%d.%d.%d.%d\n", (>>24) & 0xff, (i>>16) & 0xff, (i>>8) & 0xff, i > 0xff); /* Saída: 192.168.0.1 */
  12. $ for i in *; do file "$i" | grep -Fqw "ELF" && rm "$i"; done
  13. # date -s MMDDHHmmAAAA Ou via NTP: # apt-get install ntpdate # Debian-based # ntpdate ntp.cais.rnp.br Enviar a data do sistema para o BIOS (embora seja recomendável deixar a data do BIOS em UTC): # hwclock --systohc
  14. Pá-pum, quem precisar no iptables: 1. Compartilhar uma conexão IPv4 de Internet, admitindo que eth0 é a interface conectada ao roteador/modem: # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # echo 1 > /proc/sys/net/ipv4/ip_forward 2. Redirecionar o tráfego de entrada na porta TCP 81 para um host específico, no caso, 192.168.0.100 (útil para acesso externo de servidores de câmeras, por exemplo): # iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 81 -j DNAT --to-destination 192.168.0.100 3. Redirecionar o tráfego entrante numa interface interna (útil quando temos um proxy escutando na porta 3128): # iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
  15. Com ajuda da expansão do shell, é possível criar rapidamente cópias de arquivo, por exemplo: $ cp arquivo.conf{,.old} $ cp arquivo.conf{,.`date +%Y%m%d`} O primeiro comando cria uma cópia de um arquivo adicionando a extensão .old. Já o segundo, com um sufixo de data da cópia.
  16. Às vezes num servidor Unix o comando watch não está disponível. Vi um administrador simulando-o assim: $ while :; do netstat -na; sleep 2; done Achei criativo. :-)
  17. Se precisar de uma conexão segura e tiver acesso SSH a um servidor de confiança, pode usar o cliente do SSH para fechar um túnel: ssh -ND 9999 usuario@host A opção -N faz o servidor não aceitar comandos (afinal você não quer mexer nele, só utilizá-lo como túnel). Já a opção -D 9999 define uma porta local para você direcionar o navegador futuramente (SOCKS v5 será localhost:9999 nas configurações de proxy do navegador).
  18. Se você estiver numa máquina Linux e precisar montar manualmente um compartilhamento de rede Windows, o comando abaixo monta um compartilhamento chamado "dados" de um servidor com IP 192.168.0.1 no diretório /mnt. As credenciais de domínio usadas são "admin" e senha "1234": # mount -t smbfs //192.168.0.1/dados /mnt -o username=admin,password=1234
  19. until
    A H2HC, o evento hacker mais importante da cena brasileira está em sua 14ª edição, onde a apresentação de pesquisas na área de segurança rola solta. Palestrantes internacionais e nacionais soltam o verbo e o evento ainda conta com a trilha "University" onde a regra é ser didático, mostrar como fazer algo, no estilo mini-oficina mesmo. Mais informações em https://www.h2hc.com.br/h2hc/pt/
  20. Quando você está num diretório e quer alterar as permissões de todos os arquivos "abaixo" na árvore de diretórios para, por exemplo, 0644 e de todos os subdiretórios para 0755: $ find . -type f -exec chmod 0644 {} \; $ find . -type d -exec chmod 0755 {} \; Para uma extensão específica: $ find . -type f -name '*.php' -exec chmod 0644 {} \; Para tipos específicos de arquivos, dá uma olhada na função findmime() do bashacks.
  21. Este comando é útil quando não estamos em sistemas que possuem o comando dos2unix, que converte arquivos de texto com terminadores de linha no formato do MS-DOS/Windows para o formato do Unix/Linux. Este "problema" normalmente acontece quando editamos um arquivo de configuração de algum software num ambiente Windows e depois tentamos usá-lo no ambiente Linux. O comando é: $ tr -d \\r < dosfile > unixfile O segredo está nos terminadores de linha. Enquanto no MS-DOS/Windows são usados dois caracteres, o \r e o \n, no Linux somente o \n é usado, por isso pedimos ao tr para deletar (opção -d) os caracteres \r, o que manterá os \n em seus devidos lugares.
  22. Fernando Mercês

    Roadsec Rio

    O Roadsec é um grande festival de tecnologia e segurança que roda o Brasil. Estaremos na edição do Rio de Janeiro para gravação do Papo Binário e também apresentando. Nos vemos lá? Mais informações em http://roadsec.com.br/riodejaneiro2017/
  23. Você gosta de software de código aberto? Gosta quando encontra um programa bem feito, que atende a sua necessidade, sem custo, é atualizado, os desenvolvedores colocam novos recursos, você pode até opinar, sugerir mudanças e várias são aceitas? Saiba que por trás destes milhares de programas livres há um mundo de pessoas que dedicam seu tempo (muitas vezes seu tempo livre) para entregar software de qualidade pra você sem nem te conhecer. Isso é muito louvável. Agora mesmo estou usando o WordPress para escrever este artigo, um software de código aberto. Não paguei nada por ele e ainda modifico da maneira que eu quiser, respeitando sua licença. Não é fantástico isso? Para este artigo motivei-me dos vários programas de código aberto que já vi nascerem e morrerem por falta de apoio, então resolvi escrever um manual de como ajudar a manter os programas que você gosta no ar. Preparado? O primeiro passo é entender o que é de código aberto (ou open source). Eu poderia tentar explicar com minhas palavras, mas há um vídeo que literalmente desenhou e explicou com LEGO. Incrível, não? E com legendas em Português do Brasil. Por favor assista, mesmo que você pense que já saiba o que é: Se você usa algum software de código aberto (e eu tenho certeza que sim), você pode ajudar com: Tradução - Nem todo mundo fala inglês no mundo. É importante que um software socialmente viável seja acessível e você pode contribuir com isso ajudando a traduzir as novas versões para sua língua nativa. Divulgação - Publicar no seu site, seu Twitter, Facebook ou qualquer outra rede social sobre sua experiência com o software, estimulando outras pessoas a o utilizarem. Reconhecimento - Enviar um e-mail de agradecimento aos desenvolvedores. - Publicar na sua rede social, ou na dos desenvolvedores (se houver) um depoimento sobre sua experiência com o software. - Se o software está no Github e você tem uma conta de usuário lá, é só ir na página dele e começar a segui-lo (follow) e dar uma estrelinha (star) também. - Se o software está no SourceForge você pode dar uma estrelinha (star), avaliar o software (rating) e também dar seu comentário (user reviews). Preferência - Mesmo que haja um software proprietário equivalente, estimular o uso de software de código aberto é muito importante. Ele é socialmente mais justo e depois de ver o vídeo do item 1 você já deve saber o motivo. Documentação - Se você já domina algum recurso do software, é legal escrever algo no seu blog ou gravar um vídeo no YouTube ensinando outras pessoas a fazê-lo. Isso faz com que mais e mais usuários sejam beneficiados e aumenta as chances de adesão do software em questão. - Ajudar a escrever a documentação oficial do software, coisa que te faz aprender muito e toma muito tempo dos desenvolvedores. Tempo este que eles poderiam dedicar a corrigir problemas e adicionar novos recursos. Só depende de você. Suporte - Se cadastrar nos fórums e listas de discussão sobre o software para ajudar outros usuários te faz estudar muito, ajudar muito e contribuir muito com o ecossistema que mantém o software vivo! Código - Claro que se você conhecer a linguagem de programação utilizada no software você pode – e deve – contribuir via código. Só tome cuidado com o egocentrismo aqui. Não é porque você fez um patch que ele tem que ser aceito. O software de código aberto é democrático e não serve pra você tentar provar pra ninguém que é bom. Basta querer ajudar e atender ao pedido de todos, não do seu ego. - Se você é programador e costuma desenvolver software freeware por exemplo, considera transformar em código aberto. Ele vai crescer muito mais e ter muito mais adeptos. Você pode se espantar com o tamanho que o projeto pode assumir quando se tem a colaboração da comunidade open source. Reportar problemas - Se você acreditar que encontrou um problema no software (bug), avise aos desenvolvedores. Normalmente isso é feito por um sistema de bug tracking ou issue tracking. Com certeza no site do desenvolvedor você terá mais informações sobre como fazê-lo. Pode ser que te peçam logs e outras informações para que eles possam reproduzir o erro e corrigir, mas vale a pena continuar e ir até o fim. Você vai ajudar muita gente no final. Doações - Muitas equipes que desenvolvem software de código aberto precisam de dinheiro para comprarem hardware, aluguel de infraestrutura ou mesmo para promoverem eventos entre os desenvolvedores para alinharem o futuro do software. Doando você pode ajudar nisso. Se você tiver condições, apoie. Se informar - Empresas como Microsoft, Apple, Red Hat, dentre outras são grandes contribuidoras com projetos de código aberto, inclusive com o Linux. - Software livre e software de código aberto são diferentes. O primeiro movimento é criado pelo Richard Stallman, que explica as diferenças aqui. Essa lista não é definitiva e naturalmente deve haver várias outras formas de ajudar, mas escolhi escrever sobre as mais simples, que estão somente há alguns cliques de distância de você. Nos anos que venho dedicando a apoiar os projetos de código aberto, inclusive criando alguns, fiquei muito surpreso com as colaborações que meus projetos receberam e também tive a oportunidade de contribuir com muitos outros. Isso significa ajuda efetiva para pessoas e projetos. De verdade. As empresas também gostam disso (afinal são pessoas que trabalham nelas né!?) e várias propostas de emprego já surgiram através do Github. Não fica de fora dessa. O mundo open source precisa de você. E as pessoas também.
  24. É raro termos um artigo não técnico aqui no Mente Binária, mas este tema merece, creio. A proposta aqui é criarmos uma lista de filmes, séries e documentários que envolvam especificamente o tema informática (não vale tecnologia em geral, pois do contrário a lista ficaria gigante!) organizados por ano de lançamento. Preparado? Então pega a pipoca! 2019 Unidade 42 2017 Ghost in the Shell (A Vigilante do Amanhã: Ghost in the Shell) 2016 Hackers Hacker (Anonymous) Cyberwar ZeroDays 2015 Terminal F/Chasing Edward Snowden (Snowdens store flugt) Mr. Robot Hacker's Game Deep Web Blackhat (Hacker) 2014 Who Am I - Invasores: Nenhum Sistema Está Salvo The Internet's Own Boy: The Story of Aaron Swartz (O Menino da Internet: A História de Aaron Swartz) The Hackers Wars Citizenfour Algorithm Sillicon Valley Halt and Catch Fire 2013 We Steal Secrets: The Story of WikiLeaks Terms and Conditions May Apply TPB AFK: The Pirate Bay Away from Keyboard Her (Ela) Downloaded DEFCON 2012 We Are Legion: The Story of the Hacktivists 2011 Black Mirror 2010 Tron: Legacy (Tron: O Legado) 2008 Hackers Are People Too 2007 Live Free or Die Hard (Duro de Matar 4.0) 2006 Steal This Film 2005 Hard Candy (Menina Má.Com) 2001 The Code Revolution OS Antitrust (Ameaça Virtual) Artificial Intelligence: AI (A.I.: Inteligência Artificial) 2000 Takedown (Caçada Virtual) 1999 The Matrix (Matrix) Pirates of Silicon Valley (Piratas da Informática: Piratas do Vale do Silício) 1996 Lawnmower Man 2: Beyond Cyberspace (O Passageiro do Futuro 2) 1995 Ghost in the Shell (O Fantasma do Futuro) The Net (A Rede) Johnny Mnemonic (Johnny Mnemonic: O Cyborg do Futuro) Hackers - Piratas de Computador 1992 The Lawnmower Man (O Passageiro do Futuro) 1984 Triumph of The Nerds Hackers: Wizards of the Electronic Age 1983 Wargames 1982 Tron (Tron: Uma Odisséia Eletrônica) Esqueci de algum? Sugere aí nos comentários que adiciono! No canal Papo Binário já falei sobre algum destes títulos também. 🙂
×
×
  • Create New...