Jump to content

Fernando Mercês

Administradores
  • Content Count

    679
  • Joined

  • Last visited

Everything posted by Fernando Mercês

  1. Fala Victor! Isso depende muito. Normalmente alterar o EIP "pra muito longe" do EIP atual não é uma boa ideia. Além disso, você deveria alterar o EIP para o momento em que o endereço da string ofuscada é passado para a função que desofusca e depois executar a CALL. Algo como: push <string_offset> call <função que desofusca> A IsDebuggerPresent() é só a mais básica das muitas técnicas anti-debug e o x64dbg consegue inutilizar essa função nativamente, mas não é automático: você tem que clicar lá em Debug -> Advanced -> Hide debugger (PEB) ou usar um plugin tipo o ScyllaHide. A gente explica como essa técnica funciona na aula 24 do CERO. 😉 Pelo próprio ScyllaHide você pode aprender sobre outras técnicas e ir testando opções pra ver se ele consegue dar cabo nas proteções que este binário tem. Não é perfeito, mas ajuda pra caramba! Abraço!
  2. Eu entendo. Também não vejo problema. As variantes me assustaram mais, na real (Can You Escape Love/Fate). A linguagem direta foi algo inédito pra mim num jogo, que por definição é fantasioso. Muito difícil ser imparcial neste caso e confesso que não sou, mas sei que há vários lados. Provavelmente jogos como esses já salvaram pessoas da depressão, ao invés de afundá-las. Reconheço que só expus o aspecto "negativo" mas foi de propósito, com o intuito de alertar aos pais que tais temas rondam redes sociais, memes e jogos. 😉
  3. Pessoal, agradeço todos que colaboraram com o livro. Agora está bem mais fácil pois estamos com ele em nosso repositório no Github! É só mandar os pull requests por lá! 😎 Muito obrigado!
  4. As opiniões são divididas, mas convenhamos que a linguagem é forte e, sem orientação, pode ser nocivo, vide os relatos dos pais que constam nos relatório. 😉
  5. Gostaria de divulgar aqui também o estudo sobre os desafios suicidadas ("Baleia Azul", etc) e jogos "de temática sombria" que publiquei no início do mês pela Trend Micro. Como falei no vídeo que publicamos no canal Papo Binário, é um tema sobre o qual gostaria de ter mais informações sobre, ouvir especialistas, etc. Recomendo a leitura para todos pois nunca se sabe se um amigo ou vizinho tem um filho(a) numa situação parecida. Qualquer feedback é muito bem vindo! 👍
  6. Valeu, galera. Muito legais as análises! Alguém analisou a função que decripta as strings? Conseguiriam fazer, em Python ou em qualquer outra linguagem de programação, um decrypter? 🙂 Abraços, Fernando
  7. Salve, pessoal! Perdoem o atraso, mas aqui está o AnalyseMe-03, o quarto da série (começou com o nível 00). Lembra de postar a reposta com a tag spoiler, pra não dar a resposta de cara pra quem quer tentar. 😉 Esse tem umas surpresinhas. hehe Em tempo, podem dar feedback do que estão achando da série? Tá legal? Muito fácil? Muito difícil? Queremos saber. Olha o binário aí e manda seus comentários por favor! Grande abraço e boa sorte! AnalyseMe-03.exe
  8. Cara, que coisa legal! Sempre quis fazer um jogo, mas é um sonho não realizado. 😁 Sobre a conio2.h, se quiser portar, recomendo a ncurses. Seu jogo vai inclusive rodar no Unix, Linux, BSD's, etc. No Windows também, via Cygwin. Mas, você vai alterar o código todo. rs Mas se quiser fazer gráfico mesmo, talvez o @augustomoreira, que falou sobre desenvolvimento de jogos neste tópico, possa ajudar? 🙂 Parabéns! Achei muito maneiro!
  9. @Aof pode compartilhar sim. Só deixar claro que é um vírus e comprimir com a senha "infected" (padrão na indústria). 😉
  10. Pessoal, o que estão achando dos boletins semanais? Estão ajudando? Falta algo? Abraços!
  11. Esta será a segunda aula do Thiago Peixoto em sua série 0right, Let's Talk About x86 Assembly Language, que vai rolar ao vivo na terça, dia 18 de Dezembro de 2018 no canal Papo Binário. Marca presença e nos vemos lá!
  12. Boa, @Euler Neto. Uma pergunta adicional seria especificar o valor literal dessa constante (ERROR_ACCESS_DENIED). Abraço!
  13. Que maneiro @rcimatti! Obrigado mesmo pela análise. Curta e precisa. =) @Aof não tem nenhuma "pegadinha" não. É só isso mesmo. Este binário é super simples, justamente por ser o primeiro nível dos desafios. A ideia é ir dificultando nos próximos, pouco a pouco. Abraços!
  14. Bem vindo, Erick! Seria legal postar como sombrakey falou. Eu tentei fazer um código simples aqui e saiu isso: #!/usr/bin/env python3 s = 12345 while len(str(format(s, 'x'))) < 32: s = s * 3 + 9 print(format(s, 'x')) Funciona. Para o login 12345 a saida foi 174192b6bdc3131722ea52cb13c21a9d. E claro, você pode alterar o algoritmo pra fazer a conta que quiser. Ele vai aumentando o número até que o tamanho do resultado em hexa seja 32. Mas essa lógica só gera um único número válido. Não sei se é isso o que você quer, mas pode ser um ponto de partida. Daí seria preciso aprender a programar - e aprender Python - pra poder continuar, mas espero que seja possível começar. 🤓 Abraço!
  15. Tem uns aqui mesmo, Bruno, nessa área de desafios. ;)
  16. Tudo bem, Fabiano e você? Como sempre, ótimas discussões. 🙂 O recurso é realmente perigoso mas serve em situações onde se é preciso debugar software, principalmente quando não se tem o código-fonte de um programa já compilado. Com este recurso é possível, por exemplo, saber exatamente o que uma certa função recebe durante a execução do programa, afim de depurá-la. Não sei mais que isso sobre a decisão dos programadores do projeto de GNU de criar/manter isso. Só sei que é explorado por atacantes. Já sobre o ld-linux, passar um binário linkado dinamicamente pra ele como argumento funciona porque ele é justamente o loader e linker dinâmico de binários no Linux (dá um man ld.so pra ver), ou seja, ele carrega o binário em memória e resolve as dependências de bibliotecas e funções que ele precisa, depois o executa. Esse processo não é necessário para binários compilados estaticamente, já que não há dependências a serem resolvidas e por isso binários estáticos "não dependem de ninguém" e o ld-linux nem consegue carregá-los. Pensei aqui numa maneira interessante de aprofundar este estudo: gerar um core dump neste segfault e estudá-lo no gdb, afim de descobrir exatamente quando ele acontece e por qual motivo, programaticamente falando (do código do ld-linux). Mas enfim, o comportamento tá normal. Exceto que, na minha ignorância, uma mensagem de erro seria de bom grado. 🤓 Um abraço!
  17. Pois é, ainda não consegui migrar o livro para o Github mas vou trabalhar nisso em breve. Por hora, vou buscar implementar suas sugestões, @Lucas Rodrigues e volto a informar aqui. 😉 Muito obrigado!
  18. Version 3.4

    105 downloads

    Também conhecido por QUnpack, este unpacker genérico de 32-bits (precisa de Windows de 32-bits pra rodar) tem suporte a mais de 1000 packers/protectors diferentes.
  19. Version 2.6.1.0

    140 downloads

    Analisador de PE clássico, que teve sua última versão publicada em 2002. Seu site oficial é http://www.cgsoftlabs.ro/ Apesar de velhinho, tem alguns recursos interessantes, como a comparação de estrutura de binários usada no artigo Comparando executáveis.
  20. Version 1.3

    123 downloads

    Versão 1.3 deste unpacker genérico (não é pro VMProtect) em inglês e chinês. Já vi a versão 1.5 em chinês somente e a versão 1.6 (a última) ainda não conseguimos encontrar. Caso encontre, sobe aqui pra gente! 😉
  21. Conheci mais algumas! https://github.com/wtsxDev/reverse-engineering https://github.com/onethawt/reverseengineering-reading-list E pra samples de malware: https://github.com/greg5678/Malware-Samples
  22. Detalhes em http://site.vagas.com.br/v1780357 😉
  23. Especialista de Segurança da Informação, p/ Pinheiros, vaga: PJ, Perfil: experiencia na ferramenta FORTIFY, JAVA, com certificação na área. currículos: talent EM domvs.com.br
×
×
  • Create New...