Further two heuristics were implemented:
- detection of api calls for propagating arguments for DbgSetAutoComment()
- functionbody finder for marking functions with DbgSetAutoFunction()
the analysis will start at the OEP and will move hand over hand along a rope every instruction. Conditional branches like jnz, je, jz, jg will be registered for further analysis. Uncond. jumps like "ret", "jmp" or unknown OpCodes will finish the analyse of the current sub-flow-graph.
This will allow:
- easy and fast xRefs
- "do not run into garbage code" like data in code segement
- a graph view ;-)
- robust heuristics for switch cases and loop detection
- easier api-call argument propagation
- updating of the graph when patching instructions without a complete rebuild
WARNING: THIS IS HIGH EXPERIMENTAL CODE! I THINK OR PRAY THAT IT IS CORRECT. I DIDN'T CHECKED IT!