Intentar leer un .jar es como intentar leer un binario compilado de c, puedes hacerle reversing y todo pero nunca tendrás el código original.
Los archivos .jar son semicompilados, igual que un paquete semicompilado de .net, realmente no es una compilación a bajo nivel donde puedas inyectar todo a la memoria o hacer que la CPU lo interprete desde el kernel, los .jar son distintos, necesitan de una máquina virtual que los cargue, los interprete y los ejecute.
Asi que, no podrás leer y modificar el archivo jar a menos que lo descompiles e intentes crear un compilado nuevo. Debes buscar los fuentes .java, los .class realmente son objetos binarios semicompilados, como los archivos .a cuando compilas en c.
Dale un vistazo a esto:
http://java-decompiler.github.io/https://github.com/linchanggui/dex2jar-2.0Saludos.