Jump to content

Fernando Mercês

Administradores
  • Content Count

    640
  • Joined

  • Last visited

Community Reputation

0 Neutral

Personal Information

Recent Profile Visitors

5,418 profile views
  1. Qual a opção exata do x64dbg que você usou? Deveria ser possível encontrar sim... Se puder compartilhar o binário a gente pode ver também. Outra opção é testar esse novo plugin da @horsicq: https://github.com/horsicq/stringsx64dbg/releases 😉 Abraço!
  2. Hi @horsicq! First of all, it's nice to have you here. Welcome! 🙂 I'm probably wrong but I remember of a DLL that used be shipped in binary form with DIE sources (maybe the engine?), but that was probably before you move the code to Github. Sorry about the confusion. It's all clear now. Thanks for delivering this great project to the community!
  3. No dia 23 de Junho de 1912, há 107 anos atrás, nascia o inglês Alan Turing. Aos 21 anos, se formou em matemática em Cambridge, tendo recebido uma menção honrosa por ser o primeiro da classe. Emociono-me enquanto escrevo isso: eu com 21 anos tava procurando bares e festas. 🤷‍♂️ Durante a segunda guerra mundial, Turing, aos 26, decidiu tentar quebrar a criptografia da máquina alemã Enigma, utilizada para encriptar mensagens entre as várias bases alemãs, liderando o departamento miliar inglês conhecido Hut 8. Ainda em 39, Turing quebrou a criptografia da Enigma, um feito fundamental para a derrota da Alemanha Nazista e o fim da guerra. Por que? Nas palavras dele: "Porque ninguém estava fazendo nada em relação a isso e eu poderia fazer" - emociono-me de novo aqui. Seu conceito de "Máquina de Turing" foi fundamental para a ciência da computação que conhecemos hoje. De forma bastante resumida, se uma linguagem de programação é Turing complete, dizemos que esta pode ser utilizada para resolver qualquer problema computacional. É o caso de linguagens como C, Python, Ruby, JavaScript e praticamente todas as outras. Qualquer problema algorítmico pode ser resolvido com qualquer uma delas, em tese. O trabalho na área de criptologia continuou e Alan seguiu beneficiando o mundo inteiro com sua genialidade, até que em 1952, aos 39 anos, foi preso sob acusação de "indecência" por ter tido relações afetivas com Arnold Murray. É simples assim. Um homem beijar outro homem era crime na Inglaterra na época e Alan foi condenado a escolher entre castração química ou prisão. Escolhido a primeira, recebeu hormônios para redução de libido por cerca de um ano. Em meio há inúmeros textos, sites e livros que contam parte de sua história, vale o destaque para o filme de fácil acesso "O Jogo da Imitação": O tratamento funcionou: Turing ficou impotente e a feminização de seu corpo era visível. Aos 41 anos, se matou ingerindo uma dose letal de cianeto injetada na metade de uma maçã, assim como encena "Branca de Neve", seu conto de fadas predileto. A ideia ignorante de diferença pôs um fim às contribuições de Alan, mas estas deixaram um legado: hoje temos a oportunidade de reconhecer nossa igualdade através de sua história. Somos livres para não investirmos mais nessas crenças de diferenças e à isso, em nome de toda a equipe do Mente Binária, agradecemos por seu trabalho, por sua existência, por seu espírito hacker. Hacker é isso. É não aceitar o que se é imposto, mas não faz sentido.
  4. Fernando Mercês

    RetroRio

    until
    A RetroRio é o encontro carioca de colecionadores de microcomputadores clássicos. Este encontro está ocorrendo nos dias 20 a 22 de junho (até sábado), no Centro de Artes Calouste Gulbenkian: Rua Benedito Hipólito, 125 - Praça Onze. Fica perto do Metrô Praça Onze e da Central do Brasil, atrás do Terreirão do Samba. Começa às 10 e vai até as 18 horas. A entrada é gratuita, e todos vocês são convidados. Agora, se você levar um quilo de alimento não perecível, você participará de um sorteio de brindes no final do dia. Maiores informações no site: http://bit.ly/retrorio2019
  5. A gente tem programada uma reorganização do fórum com maior subdivisão de áreas, mas não é urgente. Quem tiver dúvidas pode postar no fórum "Programação" ou "Engenharia Reversa", dependendo do enfoque e não há nada que impeça tais dúvidas de serem respondidas. Abraço!
  6. É no contexto do driver da placa de rede em kernelmode e/ou nos serivços de rede do SO, também em kernelmode. Você não vai conseguir alterar isso em usermode. A maneira como programas como ip, ifconfig, etc fazem é através de bibliotecas userland, que por sua vez invocam syscalls ou falando via socket. Você pode espiar como o ip faz em userland com o ltrace: # ltrace ip link set eth0 address de:ad:be:ef:b0:b0 Aqui fez via socket. Se quiser ver as syscalls chamadas, você pode usar a opção -S do ltrace ou usar o strace. No entanto, vai cair nas syscalls de rede de qualquer forma. Alternativas incluem a netlink (man 7 netlink / rtnetlink). Mas se realmente quiser fazer na memória, você vai precisar de um driver (kernel module, como são chamados no Linux) pra mudar o que pode ser visto em /sys/class/net/eth0/address (não adianta tentar mudar diretamente aqui... o endereço MAC exibido aqui é gerenciado pelo kernel, logo, em kernelmode). Vai depender de quão esperto é o código do teu módulo. Buscando nas estruturas certas, não me parece muito perigoso, mas um find na área de memória do kernel toda é loucura. Não que não deva ser feito (adoro loucura! haha) como PoC. E isso tudo só vale pra Linux. 😀 Então se quiser fazer no Windows, muda tudo... Abraço e boa sorte! Vou curtir ver isso pronto, independente do caminho escolhido.
  7. Praticamente nenhuma, mas o Orfox só era necessário enquanto não existia o Tor Browser e, de acordo com o desenvolvedor, deve parar de ser mantido: Orfox will be sunsetted by early 2019 when the stable Tor Browser for Android comes out. To experience real private browsing without tracking, surveillance, or censorship, download Tor Browser for Android from GooglePlay. Fonte: https://play.google.com/store/apps/details?id=info.guardianproject.orfox&hl=en
  8. +1 aqui. Se eu tivesse lido todos os PDF's que tenho, seria um mago já. kkkkk Aproveitando as "coisas poéticas" lembro de Raul Seixas na música Eu também vou reclamar: Olho os livros na minha estante, que nada dizem de importante, servem só pra quem não sabe ler. 😁 Mas eu entendo o movimento de angariar material para estudo. Tenho muito mais livros que li e muitos mais samples (no Kindle) que livros completos. Vejo algo, me animo, peço logo "enviar amostra" hehe. Sinistro.
  9. Provavelmente é bug haha anexa o binário aqui que eu vejo? 😉 Abraço e obrigado pelos testes!
  10. Opa! É, esse sstrip macabro remove o section header também, além de outras coisas. O GDB se perde, coitado. O que dá pra fazer é pegar o entrypoint no cabeçalho (com o readelf/objdump) e seguir o mesmo esquema: $ readelf -h hello.elf | grep Entry Entry point address: 0x401040 Mas dentro do GDB acho que não. Vou ver se consigo deixar o PEDA preparado pra isso. 😉 Abraço!
  11. É nóis. Aproveitando, eu tive a ideia de extender o PEDA pra já tratar esses casos. Você - e quem mais quiser - poderia testar antes de eu enviar um possível patch pros caras? Meu fork tá em https://github.com/merces/peda Basicamente é carregar o binário, mesmo com símbolos removidos, e comandar start. Tem que parar na main() automagicamente. hehe Abraço!
  12. Só vai ao ar no próximo sábado, mas tentei responder em vídeo. 🙂 Qualquer dúvida posta aí. Se não funcionar a gente busca outro jeito. Abraço!
  13. O Manzano comentou no nosso vídeo sobre Assembly: Abraço!
  14. Um livro muito legal é o do xorpd, entitulado "xchg rax, rax". Pois é, o nome do autor já uma instrução e o nome do livro é outra. rs Só tem snippets em Assembly nele, sem comentários ou texto. O leitor deve descobrir o que o snippet faz. Custa $10 na Amazon a versão impressa, mas ele pode ser lido inteirinho no site do autor, que aliás também vale uma lida. 😉
  15. Existem várias ferramentas multiplataforma para assemblar e disassemblar código, mas a grande maioria são programas que precisam ser instalados no computador antes de serem utilizados. Isso até o shahril96 publicar seu Assembler e Disassembler online e de código aberto, baseado no Keystone.js e Capstone.js. Seu uso é muito simples e por enquanto há suporte a arquiteturas ARM, ARM64, MIPS, x86, x86-64, PowerPC, SPARC e SystemZ. O Assembler recebe o código e imprime os bytes em formato bruto (raw), de string, vetor em C e disassembly. Já o Disassembler recebe qualquer uma dessas saídas como entrada e imprime as mesmas saídas. É sem dúvida útil em casos onde se precisa estudar Assembly, uma das bases para engenharia reversa, e não se tem um software como este à mão. Lembrando que tanto nosso livro Fundamentos de Engenharia Reversa quanto nosso Curso de Engenharia Reversa Online (CERO) apresentam noções de Assembly x86 para quem está começando. Hora de estudar! 😎
×
×
  • Create New...