I.. DIOT-2014 en linux

16 Dec 2016
Favio

Nunca te ah pasado que decides formatear tu computadora, instalas una distribución de linux y ni siquiera consideraste dejar una partición para Windows. Todo muy bien, todo resulta adecuado, pero llega el momento en que te da un golpe la realidad y recuerdas que ya llego el momento de hacer tu declaración mensual de impuestos con el SAT.

Como sabrán los que se dedican a hacer sus propias declaraciones, hay una cosa espantosa que se llama la Declaración Informativa de Operaciones con Terceros donde le decimos a SAT, con que proveedores tuvimos operaciones durante el mes.

Para hacer esta declaración SAT nos provee de un programa espantoso hecho en java, que solo corre en Windows, llamado DIOT versión 2014 Aquí. Si ,desde el 2014 que no actualizan este arcaico pedazo de software desarrollado en un lenguaje que es precisamente multiplataforma, ¡Pero que solo lo ofrecen para Windows!.

Busque en Internet que alternativas hay para esto, y lo único que encontré fue este post. Aquí nuestro amigo sube los archivos jar y un script sh para correr la clase principal del programa, todo bien hasta allí, abre la ventana, pero al generar una nueva declaración empiezan los errores (No encuentra formularios, no encuentra rutas, nombres de archivos etc.)

Pues resulta, después de correr decompiladores de java (Jad y CFR) encontré que el programa genera e intenta leer archivos, estas rutas las encuentras en el código hardcoded y no distinguen entre mayúsculas y minúsculas, que los sistemas de archivos mas comunes en linux, si distinguen entre mayúsculas y minúsculas, por lo que modifique esas secciones y recompile lo que se pudo (Los decompiladores no son infalibles).

Un día de estar revisando esto, puedo decir que ya funciona correctamente, valida y encripta para enviarle nuestra declaración a SAT.

Si alguien mas sufre por estas situaciones dejo aquí el paquete listo para correr en linux (Probado con JVM 1.8.0)

DIOT-2014-linux

Descomprimir y correr:

> ./run-diot.sh


ó

> bash run-diot.sh

Blog Comments powered by Disqus.

Siguiente