Por que não existe um descompilador Oracle Forms ou Reports?(Tecnicamente)
-
28-09-2019 - |
Pergunta
Não consigo entender por que não consigo encontrar essa ferramenta (decompilador Oracle Forms ou Reports)
É muito valioso porque muitas empresas usam sistemas baseados em Oracle.
Alguém sabe o que há de especial na estrutura dos arquivos no formato .FMX ou .REP que impede a construção de um descompilador para eles?
Solução
Dado o prémio de 1,3 mil milhões de dólares que acabaram de receber contra a SAP por violação de propriedade intelectual, a Oracle provavelmente não é a melhor pessoa para criticar.Ou uma empresa possui seus próprios sistemas desenvolvidos internamente, incluindo código-fonte, ou compra um aplicativo de terceiros (mais suporte) de uma grande empresa.Eles pagam muito por este último e uma grande empresa vai pensar duas vezes antes de fazer algo ilegal para enganar outra grande empresa.
Portanto, o mercado legítimo para esse tipo de software seria muito pequeno.
Do ponto de vista técnico, após o Forms 3.0, a 'fonte' também não é um texto simples, então você tem a dificuldade de trabalhar a decodificação do FMX em algo compreensível e depois remontá-lo em um FMB válido.
Além de múltiplas versões do Forms (lançamentos principais e conjuntos de patches individuais), criando executáveis que rodam em diversas plataformas.
Muito esforço, mercado pequeno, questões legais....
Sem recursos, mas vagas memórias.
Na época do Formulários 3.0, você podia editar manualmente os arquivos INP (o código-fonte, uma espécie de equivalente ao FMB), pois eram texto simples.
Quando eles mudaram para o FMB, lembro-me de ter pensado em converter o FMB para FMT (o formato de texto), fazer alterações e depois voltar novamente.Mas a conversão para um FMB que seria aceito foi um problema.Se você criar um .java a partir de um .class, obterá um arquivo que será executado por meio de um compilador e informará o que há de errado com o código-fonte (se houver).O compilador java foi projetado para pegar algo criado externamente (por exemplo, em um editor de texto) e analisá-lo e retornar quaisquer problemas de análise.
Se você criar manualmente um FMB e ele estiver errado, ocorrerá um erro ao carregar ou simplesmente travará.Ele não foi projetado para informar o que há de errado com o 'código-fonte' porque não se destina a carregar algo que foi criado externamente.
Portanto, construir um FMB válido (e muito menos um FMB a partir de um FMX) é complicado.
Analisar um FMX em um formato legível, em vez de um FMB, pode ser viável.Mas a grande maioria dos usuários do Forms terá o FMB e há mais casos de uso para analisar um FMB em algo utilizável em vez do FMX.E existem utilitários para fazer isso (incluindo a ferramenta de migração Forms-to-Apex da própria Oracle, além de alguns aplicativos de terceiros, como os da PITSS).
Outras dicas
Tenho certeza de que você respondeu sua própria pergunta: It's very valuable because many enterprises use oracle based systems.
Também é muito valioso para o Oracle que você não pode descompilar seus sistemas