In Java, programs are being compiled into a portable binary format call bytecode. Every class is represented by a single class file containing class related data and bytecode instructions. Recently, more and more Java applications are routinely transmitted over the internet as compressed class file archives (i.e., zip files and jar files). However, instead of class files, the source code of applications is usually unavailable for the user, making it difficult to be understood and maintained. As a result, the development of techniques and tools to support analysis of Java bytecode programs is important. In this paper we describe a toolkit, called Kafer, that supports the development of software engineering tools for Java Bytecode programs. The Kafer is a prototype implementation of the techniques proposed in our previous work.