generate ropchain in a generator manner instead of finding the "best" gadget. This allows us to handle cases where the "best" gadgets are conflict with each other and fail the longer chain generation. For example, memory setter relies on using register setters for several times. It's possible that the "best" register setters do not work. In those cases, finding the second best gadget may resolve the issue
support JOP in primitive way
clean up the code for a bit
add timeout mechanisms in gadget analyzer to prevent hangs during gadget analysis.
angrop does not handle conditional execution in arm properly, so we disable it at the moment.
many changes: