O REA vai quebrar o software pago de todo mundo?
O pessoal está me mandando mensagem sem parar sobre um framework chamado REA, que faz engenharia reversa de tudo a partir do binário. Já tem gente pegando o pacote inteiro da Adobe e transformando em pacote aberto. E tem influenciador respondendo no Twitter, para quem perguntou se não seria legal fazer a engenharia reversa do Excel: "estou fazendo isso agora, literalmente agora".
Como eu sou o construtor do Reversa, a pergunta chega direto: Sandeco, o Reversa faz isso? Não faz. E eu quero te explicar por quê.
O momento Napster
Deixa eu te contar uma coisa. Você lembra do Napster? Aquele software de distribuir MP3, lá atrás, que sofreu uma enxurrada de processos. Eu chamo o que está acontecendo agora de momento Napster da engenharia de software e da inteligência artificial. O usuário final empolgado, extraindo binário de empresa grande para criar o próprio Photoshop.
E presta atenção num detalhe técnico: o REA não tem nada de novo dentro dele. Por trás, ele usa o Ghidra, uma biblioteca antiga de engenharia reversa de binários. A técnica é velha. O que mudou foi a IA deixar isso acessível para quem nunca abriu um disassembler na vida.
O que o Reversa faz, e o que não faz
O Reversa nasceu antes desse framework e com outro propósito. Você pega um software que é seu, faz a engenharia reversa da documentação, extrai a alma daquele sistema em specs, e a partir daí migra para uma versão nova. Eu mostrei aqui no canal um programa de caixa eletrônico em COBOL sendo convertido para Go. Tem artigo científico sobre isso. Outras pessoas passaram a usar em projetos open source, para entender código que já está declaradamente aberto.
Quando eu estava construindo, alguém do grupo do canal me perguntou: você não faz a engenharia reversa a partir do binário? E eu confesso que fiquei tentado. A biblioteca existe, é o mesmo Ghidra que o REA usa. Seria questão de plugar.
Decidi não colocar. Primeiro por ética: se alguém fechou o binário, é porque tem produção intelectual ali. Eu tenho vários alunos que vivem de software fechado. Segundo por uma questão jurídica que seria um problema sério e à toa. Ou você está extraindo o seu próprio binário, ou está extraindo o de alguém. E o Reversa está voltado para empresas que querem renovar sistemas antigos em COBOL, Fortran, PHP, ASP, não para abrir o software do vizinho.
O senso de justiça não paga a conta
Eu sei o que você está pensando. Adobe cobra caro demais. Corel é caríssimo, eu uso com licença do Instituto Federal. As licenças da Microsoft idem. E aí bate aquele senso de justiça: eles que se lasquem, cobram tão caro.
Só que a gente não pode vender a nossa ética tão fácil porque o outro não faz a coisa certa. E tem outro lado que ninguém fala: tem média e pequena empresa brasileira que fechou o binário porque tem propriedade intelectual ali, e agora o negócio dela entra em risco pelo uso massivo dessa ferramenta pelo público final. Meus alunos de computação sabem usar o Ghidra tranquilamente. Não é falta de capacidade. É escolha.
E repara quem não está fazendo isso: Banco do Brasil, Bradesco, Petrobras, onde eu tenho alunos trabalhando. Nenhuma empresa grande vai pegar binário de outra empresa para extrair informação e construir produto em cima. Quem faz é o usuário final. Igual no Napster.
O que me incomoda de verdade
Engenharia reversa de binário inibe inovação. Você está pegando um software que já existe e quebrando, não está criando nada. Se você tem um software que gostaria de usar como referência, passa prints dele para o Reversa, conversa, e cria o seu do seu jeito. Aí sim nasce algo novo.
Se você quer crescer como desenvolvedor, quer ter a sua empresa, você tem que olhar para frente. A inovação está aí para a gente criar coisas e modificar o mundo, não para ficar quebrando o que já existe.
O Reversa continua fazendo o que nasceu para fazer: documentação de software, migração de legado, criação de software do zero a partir de specs, e até precificação, que eu nunca tinha mostrado no canal. Se você quer entender esse processo de extrair a alma de um sistema em specs que a IA consegue executar, é disso que trata o livro do Reversa. Extração de binário, nunca.
E você? Vai usar o REA para abrir binário de empresa grande, ou já é da turma do open source? Me conta nos comentários do vídeo.