![]() |
miasm
Reverse engineering framework
|
Variables | |
| g = DiGraph() | |
| g1 = DiGraph() | |
| dominators = g1.compute_dominators(1) | |
| g2 = DiGraph() | |
| postdominators = g1.compute_postdominators(6) | |
| idoms = g1.compute_immediate_dominators(1) | |
| frontier = g1.compute_dominance_frontier(1) | |
| g3 = DiGraph() | |
| loops = set([(backedge, frozenset(body)) for backedge, body in g3.compute_natural_loops(1)]) | |
| sccs = set([frozenset(scc) for scc in g3.compute_strongly_connected_components()]) | |
| graph = DiGraph() | |
| Check str More... | |
| graph2 = DiGraph() | |
| graph4 = graph.copy() | |
| graph3 = DiGraph() | |
| j1 = MatchGraphJoker(name="dad") | |
| Build a MatchGraph using MatchGraphJoker. More... | |
| j2 = MatchGraphJoker(name="son") | |
| Modify restrictions. More... | |
| matcher = j1 >> j2 >> j1 | |
| Check '>>' helper. More... | |
| sols = list(matcher.match(graph)) | |
| j3 = MatchGraphJoker(name="sonson", restrict_in=False) | |
| components = graph.compute_weakly_connected_components() | |
| graph.components = graph.compute_weakly_connected_components() |
| graph.dominators = g1.compute_dominators(1) |
| graph.frontier = g1.compute_dominance_frontier(1) |
| graph.g = DiGraph() |
| graph.g1 = DiGraph() |
| graph.g2 = DiGraph() |
| graph.g3 = DiGraph() |
| graph.graph = DiGraph() |
Check str
Check restrict_in.
Ensure form
Match a simple graph
| graph.graph2 = DiGraph() |
| graph.graph3 = DiGraph() |
| graph.graph4 = graph.copy() |
| graph.idoms = g1.compute_immediate_dominators(1) |
| graph.j1 = MatchGraphJoker(name="dad") |
Build a MatchGraph using MatchGraphJoker.
Check building with 'add' helper.
Check solution combinaison (ie a -> b and b -> a)
| graph.j2 = MatchGraphJoker(name="son") |
Modify restrictions.
Check filter.
| graph.j3 = MatchGraphJoker(name="sonson", restrict_in=False) |
| graph.loops = set([(backedge, frozenset(body)) for backedge, body in g3.compute_natural_loops(1)]) |
| graph.postdominators = g1.compute_postdominators(6) |
| graph.sccs = set([frozenset(scc) for scc in g3.compute_strongly_connected_components()]) |
| graph.sols = list(matcher.match(graph)) |