Well PokeMMO is a JAVA game project which basically is the original FireRed title for the GBA made online. They know this type of projects don't last long because of the copyrighted material used, but they somehow made their client extract resources from ROMS. So they don't offer any copyrighted material on their download. I wonder what technique they could be using for this? All I know is that they use LWJGL.
LWJGL is just used as a wrapper for graphics, input handling, audio etc. To extract the data from the roms, you need the specification of the ROM file format. The rom is a collection of data, that has been written by a certain rule set (the format specification). If you know this specification (by documentation or reverse engineering), you can open that file and extract the data.
You could do this with java, c, c++, c# or whatever language you like, that supports reading files.
You should find some information about the format on this page: http://nocash.emubase.de/gbatek.htm (look for the gba cartridges section).