quarta-feira, 4 de setembro de 2013

Engenharia Reversar (descompilar) de Arquivos Jasper para JRXML


Rapazzz... não é que hoje o IReport conseguiu corromper um arquivo jrxml que estava quase pronto e passei o dia todo para implementar! Ainda bem que um herói, implementou o método writeReport na classe JRXmlWriter, que me permite 'descompilar' um arquivo jasper (jrxml compilado).

Veja como é simples. Você precisa carregar o objeto JasperReport  a ser compilado, e depois  passa-lo via parâmetro, junto com o diretório e nome do arquivo JRXML e seu tipo de codificação no método JRXmlWriter.writeReport.

File jasperFile = new File("D:\\java_lento_SQN.jasper");
        try {

            JasperReport report = (JasperReport) JRLoader.loadObject(jasperFile);

            JRXmlWriter.writeReport(report, "D:\\descompilado.jrxml", "UTF-8");

    } catch (JRException e) {

            e.printStackTrace();

    }
Pronto! você já tem um novo JRXML.

E como dizia um especialista em go horse process: 'por que informatica não é uma ciência exata?' (entendeu? nem eu!).

Nenhum comentário:

Postar um comentário