androguard.decompiler.dad package¶
Submodules¶
androguard.decompiler.dad.ast module¶
This file is a simplified version of writer.py that outputs an AST instead of source code.
-
class
androguard.decompiler.dad.ast.JSONWriter(graph, method)¶ Bases:
object-
add(val)¶
-
get_ast()¶
-
get_cond(node)¶
-
visit_cond_node(cond)¶
-
visit_ins(op)¶
-
visit_loop_node(loop)¶
-
visit_node(node)¶
-
visit_return_node(ret)¶
-
visit_statement_node(stmt)¶
-
visit_switch_node(switch)¶
-
visit_throw_node(throw)¶
-
visit_try_node(try_node)¶
-
-
androguard.decompiler.dad.ast.array_access(arr, ind)¶
-
androguard.decompiler.dad.ast.array_creation(tn, params, dim)¶
-
androguard.decompiler.dad.ast.array_initializer(params, tn=None)¶
-
androguard.decompiler.dad.ast.assignment(lhs, rhs, op='')¶
-
androguard.decompiler.dad.ast.binary_infix(op, left, right)¶
-
androguard.decompiler.dad.ast.cast(tn, arg)¶
-
androguard.decompiler.dad.ast.dummy(*args)¶
-
androguard.decompiler.dad.ast.expression_stmt(expr)¶
-
androguard.decompiler.dad.ast.field_access(triple, left)¶
-
androguard.decompiler.dad.ast.if_stmt(cond_expr, scopes)¶
-
androguard.decompiler.dad.ast.jump_stmt(keyword)¶
-
androguard.decompiler.dad.ast.literal(result, tt)¶
-
androguard.decompiler.dad.ast.literal_bool(b)¶
-
androguard.decompiler.dad.ast.literal_class(desc)¶
-
androguard.decompiler.dad.ast.literal_double(f)¶
-
androguard.decompiler.dad.ast.literal_float(f)¶
-
androguard.decompiler.dad.ast.literal_hex_int(b)¶
-
androguard.decompiler.dad.ast.literal_int(b)¶
-
androguard.decompiler.dad.ast.literal_long(b)¶
-
androguard.decompiler.dad.ast.literal_null()¶
-
androguard.decompiler.dad.ast.literal_string(s)¶
-
androguard.decompiler.dad.ast.local(name)¶
-
androguard.decompiler.dad.ast.local_decl_stmt(expr, decl)¶
-
androguard.decompiler.dad.ast.loop_stmt(isdo, cond_expr, body)¶
-
androguard.decompiler.dad.ast.method_invocation(triple, name, base, params)¶
-
androguard.decompiler.dad.ast.parenthesis(expr)¶
-
androguard.decompiler.dad.ast.parse_descriptor(desc)¶
-
androguard.decompiler.dad.ast.return_stmt(expr)¶
-
androguard.decompiler.dad.ast.statement_block()¶
-
androguard.decompiler.dad.ast.switch_stmt(cond_expr, ksv_pairs)¶
-
androguard.decompiler.dad.ast.throw_stmt(expr)¶
-
androguard.decompiler.dad.ast.try_stmt(tryb, pairs)¶
-
androguard.decompiler.dad.ast.typen(baset, dim)¶
-
androguard.decompiler.dad.ast.unary_postfix(left, op)¶
-
androguard.decompiler.dad.ast.unary_prefix(op, left)¶
-
androguard.decompiler.dad.ast.var_decl(typen, var)¶
-
androguard.decompiler.dad.ast.visit_arr_data(value)¶
-
androguard.decompiler.dad.ast.visit_decl(var, init_expr=None)¶
-
androguard.decompiler.dad.ast.visit_expr(op)¶
-
androguard.decompiler.dad.ast.visit_ins(op, isCtor=False)¶
-
androguard.decompiler.dad.ast.write_inplace_if_possible(lhs, rhs)¶
androguard.decompiler.dad.basic_blocks module¶
-
class
androguard.decompiler.dad.basic_blocks.BasicBlock(name, block_ins)¶ Bases:
androguard.decompiler.dad.node.Node-
add_ins(new_ins_list)¶
-
add_variable_declaration(variable)¶
-
get_ins()¶
-
get_loc_with_ins()¶
-
number_ins(num)¶
-
remove_ins(loc, ins)¶
-
set_catch_type(_type)¶
-
-
class
androguard.decompiler.dad.basic_blocks.CatchBlock(node)¶ Bases:
androguard.decompiler.dad.basic_blocks.BasicBlock-
visit(visitor)¶
-
visit_exception(visitor)¶
-
-
class
androguard.decompiler.dad.basic_blocks.CondBlock(name, block_ins)¶ Bases:
androguard.decompiler.dad.basic_blocks.BasicBlock-
neg()¶
-
update_attribute_with(n_map)¶
-
visit(visitor)¶
-
visit_cond(visitor)¶
-
-
class
androguard.decompiler.dad.basic_blocks.Condition(cond1, cond2, isand, isnot)¶ Bases:
object-
get_ins()¶
-
get_loc_with_ins()¶
-
neg()¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.basic_blocks.LoopBlock(name, cond)¶ Bases:
androguard.decompiler.dad.basic_blocks.CondBlock-
get_ins()¶
-
get_loc_with_ins()¶
-
neg()¶
-
update_attribute_with(n_map)¶
-
visit(visitor)¶
-
visit_cond(visitor)¶
-
-
class
androguard.decompiler.dad.basic_blocks.ReturnBlock(name, block_ins)¶ Bases:
androguard.decompiler.dad.basic_blocks.BasicBlock-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.basic_blocks.ShortCircuitBlock(name, cond)¶ Bases:
androguard.decompiler.dad.basic_blocks.CondBlock-
get_ins()¶
-
get_loc_with_ins()¶
-
neg()¶
-
visit_cond(visitor)¶
-
-
class
androguard.decompiler.dad.basic_blocks.StatementBlock(name, block_ins)¶ Bases:
androguard.decompiler.dad.basic_blocks.BasicBlock-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.basic_blocks.SwitchBlock(name, switch, block_ins)¶ Bases:
androguard.decompiler.dad.basic_blocks.BasicBlock-
add_case(case)¶
-
copy_from(node)¶
-
order_cases()¶
-
update_attribute_with(n_map)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.basic_blocks.ThrowBlock(name, block_ins)¶ Bases:
androguard.decompiler.dad.basic_blocks.BasicBlock-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.basic_blocks.TryBlock(node)¶ Bases:
androguard.decompiler.dad.basic_blocks.BasicBlock-
add_catch_node(node)¶
-
num¶
-
visit(visitor)¶
-
-
androguard.decompiler.dad.basic_blocks.build_node_from_block(block, vmap, gen_ret, exception_type=None)¶
androguard.decompiler.dad.control_flow module¶
-
androguard.decompiler.dad.control_flow.catch_struct(graph, idoms)¶
-
androguard.decompiler.dad.control_flow.derived_sequence(graph)¶ Compute the derived sequence of the graph G The intervals of G are collapsed into nodes, intervals of these nodes are built, and the process is repeated iteratively until we obtain a single node (if the graph is not irreducible)
-
androguard.decompiler.dad.control_flow.identify_structures(graph, idoms)¶
-
androguard.decompiler.dad.control_flow.if_struct(graph, idoms)¶
-
androguard.decompiler.dad.control_flow.intervals(graph)¶ Compute the intervals of the graph Returns
interval_graph: a graph of the intervals of G interv_heads: a dict of (header node, interval)
-
androguard.decompiler.dad.control_flow.loop_follow(start, end, nodes_in_loop)¶
-
androguard.decompiler.dad.control_flow.loop_struct(graphs_list, intervals_list)¶
-
androguard.decompiler.dad.control_flow.loop_type(start, end, nodes_in_loop)¶
-
androguard.decompiler.dad.control_flow.mark_loop(graph, start, end, interval)¶
-
androguard.decompiler.dad.control_flow.mark_loop_rec(graph, node, s_num, e_num, interval, nodes_in_loop)¶
-
androguard.decompiler.dad.control_flow.short_circuit_struct(graph, idom, node_map)¶
-
androguard.decompiler.dad.control_flow.switch_struct(graph, idoms)¶
-
androguard.decompiler.dad.control_flow.update_dom(idoms, node_map)¶
-
androguard.decompiler.dad.control_flow.while_block_struct(graph, node_map)¶
androguard.decompiler.dad.dataflow module¶
-
class
androguard.decompiler.dad.dataflow.DummyNode(name)¶ Bases:
androguard.decompiler.dad.node.Node-
get_loc_with_ins()¶
-
-
androguard.decompiler.dad.dataflow.build_def_use(graph, lparams)¶ Builds the Def-Use and Use-Def (DU/UD) chains of the variables of the method.
-
androguard.decompiler.dad.dataflow.clear_path(graph, reg, loc1, loc2)¶ Check that the path from loc1 to loc2 is clear. We have to check that there is no side effect between the two location points. We also have to check that the variable reg is not redefined along one of the possible pathes from loc1 to loc2.
-
androguard.decompiler.dad.dataflow.clear_path_node(graph, reg, loc1, loc2)¶
-
androguard.decompiler.dad.dataflow.dead_code_elimination(graph, du, ud)¶ Run a dead code elimination pass. Instructions are checked to be dead. If it is the case, we remove them and we update the DU & UD chains of its variables to check for further dead instructions.
-
androguard.decompiler.dad.dataflow.group_variables(lvars, DU, UD)¶
-
androguard.decompiler.dad.dataflow.place_declarations(graph, dvars, du, ud)¶
-
androguard.decompiler.dad.dataflow.reach_def_analysis(graph, lparams)¶
-
androguard.decompiler.dad.dataflow.register_propagation(graph, du, ud)¶ Propagate the temporary registers between instructions and remove them if necessary. We process the nodes of the graph in reverse post order. For each instruction in the node, we look at the variables that it uses. For each of these variables we look where it is defined and if we can replace it with its definition. We have to be careful to the side effects some instructions may have. To do the propagation, we use the computed DU and UD chains.
-
androguard.decompiler.dad.dataflow.split_variables(graph, lvars, DU, UD)¶
-
androguard.decompiler.dad.dataflow.update_chain(graph, loc, du, ud)¶ Updates the DU chain of the instruction located at loc such that there is no more reference to it so that we can remove it. When an instruction is found to be dead (i.e it has no side effect, and the register defined is not used) we have to update the DU chain of all the variables that may me used by the dead instruction.
androguard.decompiler.dad.decompile module¶
-
class
androguard.decompiler.dad.decompile.DvClass(dvclass, vma)¶ Bases:
object-
get_ast()¶
-
get_methods()¶
-
get_source()¶
-
get_source_ext()¶
-
process(doAST=False)¶
-
process_method(num, doAST=False)¶
-
show_source()¶
-
-
class
androguard.decompiler.dad.decompile.DvMachine(name)¶ Bases:
object-
get_class(class_name)¶
-
get_classes()¶
-
process()¶
-
process_and_show()¶
-
show_source()¶
-
-
class
androguard.decompiler.dad.decompile.DvMethod(methanalysis)¶ Bases:
object-
get_ast()¶
-
get_source()¶
-
get_source_ext()¶
-
process(doAST=False)¶
-
show_source()¶
-
-
androguard.decompiler.dad.decompile.auto_vm(filename)¶
-
androguard.decompiler.dad.decompile.get_field_ast(field)¶
-
androguard.decompiler.dad.decompile.main()¶
androguard.decompiler.dad.graph module¶
-
class
androguard.decompiler.dad.graph.Graph¶ Bases:
object-
add_catch_edge(e1, e2)¶
-
add_edge(e1, e2)¶
-
add_node(node)¶
-
all_preds(node)¶
-
all_sucs(node)¶
-
compute_rpo()¶ Number the nodes in reverse post order. An RPO traversal visit as many predecessors of a node as possible before visiting the node itself.
-
draw(name, dname, draw_branches=True)¶
-
get_ins_from_loc(loc)¶
-
get_node_from_loc(loc)¶
-
immediate_dominators()¶
-
number_ins()¶
-
post_order()¶ Return the nodes of the graph in post-order i.e we visit all the children of a node before visiting the node itself.
-
preds(node)¶
-
remove_ins(loc)¶
-
remove_node(node)¶
-
sucs(node)¶
-
-
androguard.decompiler.dad.graph.bfs(start)¶
-
androguard.decompiler.dad.graph.construct(start_block, vmap, exceptions)¶
-
androguard.decompiler.dad.graph.dom_lt(graph)¶ Dominator algorithm from Lengaeur-Tarjan
-
androguard.decompiler.dad.graph.make_node(graph, block, block_to_node, vmap, gen_ret)¶
-
androguard.decompiler.dad.graph.simplify(graph)¶ Simplify the CFG by merging/deleting statement nodes when possible: If statement B follows statement A and if B has no other predecessor besides A, then we can merge A and B into a new statement node. We also remove nodes which do nothing except redirecting the control flow (nodes which only contains a goto).
-
androguard.decompiler.dad.graph.split_if_nodes(graph)¶ Split IfNodes in two nodes, the first node is the header node, the second one is only composed of the jump condition.
androguard.decompiler.dad.instruction module¶
-
class
androguard.decompiler.dad.instruction.ArrayExpression¶
-
class
androguard.decompiler.dad.instruction.ArrayLengthExpression(array)¶ Bases:
androguard.decompiler.dad.instruction.ArrayExpression-
get_type()¶
-
get_used_vars()¶
-
replace(old, new)¶
-
replace_var(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.ArrayLoadExpression(arg, index, _type)¶ Bases:
androguard.decompiler.dad.instruction.ArrayExpression-
get_type()¶
-
get_used_vars()¶
-
replace(old, new)¶
-
replace_var(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.ArrayStoreInstruction(rhs, array, index, _type)¶ Bases:
androguard.decompiler.dad.instruction.IRForm-
get_used_vars()¶
-
has_side_effect()¶
-
replace(old, new)¶
-
replace_var(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.AssignExpression(lhs, rhs)¶ Bases:
androguard.decompiler.dad.instruction.IRForm-
get_lhs()¶
-
get_rhs()¶
-
get_used_vars()¶
-
has_side_effect()¶
-
is_call()¶
-
is_propagable()¶
-
remove_defined_var()¶
-
replace(old, new)¶
-
replace_lhs(new)¶
-
replace_var(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.BaseClass(name, descriptor=None)¶ Bases:
androguard.decompiler.dad.instruction.IRForm-
is_const()¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.BinaryCompExpression(op, arg1, arg2, _type)¶ Bases:
androguard.decompiler.dad.instruction.BinaryExpression-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.BinaryExpression(op, arg1, arg2, _type)¶ Bases:
androguard.decompiler.dad.instruction.IRForm-
get_used_vars()¶
-
has_side_effect()¶
-
replace(old, new)¶
-
replace_var(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.BinaryExpression2Addr(op, dest, arg, _type)¶ Bases:
androguard.decompiler.dad.instruction.BinaryExpression
-
class
androguard.decompiler.dad.instruction.BinaryExpressionLit(op, arg1, arg2)¶ Bases:
androguard.decompiler.dad.instruction.BinaryExpression
-
class
androguard.decompiler.dad.instruction.CastExpression(op, atype, arg)¶ Bases:
androguard.decompiler.dad.instruction.UnaryExpression-
get_type()¶
-
get_used_vars()¶
-
is_const()¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.CheckCastExpression(arg, _type, descriptor=None)¶ Bases:
androguard.decompiler.dad.instruction.IRForm-
get_used_vars()¶
-
is_const()¶
-
replace(old, new)¶
-
replace_var(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.ConditionalExpression(op, arg1, arg2)¶ Bases:
androguard.decompiler.dad.instruction.IRForm-
get_lhs()¶
-
get_used_vars()¶
-
is_cond()¶
-
neg()¶
-
replace(old, new)¶
-
replace_var(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.ConditionalZExpression(op, arg)¶ Bases:
androguard.decompiler.dad.instruction.IRForm-
get_lhs()¶
-
get_used_vars()¶
-
is_cond()¶
-
neg()¶
-
replace(old, new)¶
-
replace_var(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.Constant(value, atype, int_value=None, descriptor=None)¶ Bases:
androguard.decompiler.dad.instruction.IRForm-
get_int_value()¶
-
get_type()¶
-
get_used_vars()¶
-
is_const()¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.FillArrayExpression(reg, value)¶ Bases:
androguard.decompiler.dad.instruction.ArrayExpression-
get_rhs()¶
-
get_used_vars()¶
-
is_propagable()¶
-
replace(old, new)¶
-
replace_var(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.FilledArrayExpression(asize, atype, args)¶ Bases:
androguard.decompiler.dad.instruction.ArrayExpression-
get_used_vars()¶
-
replace(old, new)¶
-
replace_var(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.IRForm¶ Bases:
object-
get_lhs()¶
-
get_rhs()¶
-
get_type()¶
-
get_used_vars()¶
-
has_side_effect()¶
-
is_call()¶
-
is_cond()¶
-
is_const()¶
-
is_ident()¶
-
is_propagable()¶
-
remove_defined_var()¶
-
replace(old, new)¶
-
replace_lhs(new)¶
-
replace_var(old, new)¶
-
set_type(_type)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.InstanceExpression(arg, klass, ftype, name)¶ Bases:
androguard.decompiler.dad.instruction.IRForm-
get_type()¶
-
get_used_vars()¶
-
replace(old, new)¶
-
replace_var(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.InstanceInstruction(rhs, lhs, klass, atype, name)¶ Bases:
androguard.decompiler.dad.instruction.IRForm-
get_lhs()¶
-
get_used_vars()¶
-
has_side_effect()¶
-
replace(old, new)¶
-
replace_var(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.InvokeDirectInstruction(clsname, name, base, rtype, ptype, args, triple)¶ Bases:
androguard.decompiler.dad.instruction.InvokeInstruction
-
class
androguard.decompiler.dad.instruction.InvokeInstruction(clsname, name, base, rtype, ptype, args, triple)¶ Bases:
androguard.decompiler.dad.instruction.IRForm-
get_type()¶
-
get_used_vars()¶
-
has_side_effect()¶
-
is_call()¶
-
replace(old, new)¶
-
replace_var(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.InvokeRangeInstruction(clsname, name, rtype, ptype, args, triple)¶ Bases:
androguard.decompiler.dad.instruction.InvokeInstruction
-
class
androguard.decompiler.dad.instruction.InvokeStaticInstruction(clsname, name, base, rtype, ptype, args, triple)¶ Bases:
androguard.decompiler.dad.instruction.InvokeInstruction-
get_used_vars()¶
-
-
class
androguard.decompiler.dad.instruction.MonitorEnterExpression(ref)¶ Bases:
androguard.decompiler.dad.instruction.RefExpression-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.MonitorExitExpression(ref)¶ Bases:
androguard.decompiler.dad.instruction.RefExpression-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.MoveExceptionExpression(ref, _type)¶ Bases:
androguard.decompiler.dad.instruction.RefExpression-
get_lhs()¶
-
get_used_vars()¶
-
has_side_effect()¶
-
replace_lhs(new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.MoveExpression(lhs, rhs)¶ Bases:
androguard.decompiler.dad.instruction.IRForm-
get_lhs()¶
-
get_rhs()¶
-
get_used_vars()¶
-
has_side_effect()¶
-
is_call()¶
-
replace(old, new)¶
-
replace_lhs(new)¶
-
replace_var(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.MoveResultExpression(lhs, rhs)¶ Bases:
androguard.decompiler.dad.instruction.MoveExpression-
has_side_effect()¶
-
is_propagable()¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.NewArrayExpression(asize, atype)¶ Bases:
androguard.decompiler.dad.instruction.ArrayExpression-
get_used_vars()¶
-
is_propagable()¶
-
replace(old, new)¶
-
replace_var(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.NewInstance(ins_type)¶ Bases:
androguard.decompiler.dad.instruction.IRForm-
get_type()¶
-
get_used_vars()¶
-
replace(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.NopExpression¶ Bases:
androguard.decompiler.dad.instruction.IRForm-
get_lhs()¶
-
get_used_vars()¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.Param(value, atype)¶ Bases:
androguard.decompiler.dad.instruction.Variable-
is_const()¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.RefExpression(ref)¶ Bases:
androguard.decompiler.dad.instruction.IRForm-
get_used_vars()¶
-
is_propagable()¶
-
replace(old, new)¶
-
replace_var(old, new)¶
-
-
class
androguard.decompiler.dad.instruction.ReturnInstruction(arg)¶ Bases:
androguard.decompiler.dad.instruction.IRForm-
get_lhs()¶
-
get_used_vars()¶
-
replace(old, new)¶
-
replace_var(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.StaticExpression(cls_name, field_type, field_name)¶ Bases:
androguard.decompiler.dad.instruction.IRForm-
get_type()¶
-
replace(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.StaticInstruction(rhs, klass, ftype, name)¶ Bases:
androguard.decompiler.dad.instruction.IRForm-
get_lhs()¶
-
get_used_vars()¶
-
has_side_effect()¶
-
replace(old, new)¶
-
replace_var(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.SwitchExpression(src, branch)¶ Bases:
androguard.decompiler.dad.instruction.IRForm-
get_used_vars()¶
-
replace(old, new)¶
-
replace_var(old, new)¶
-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.ThisParam(value, atype)¶ Bases:
androguard.decompiler.dad.instruction.Param-
visit(visitor)¶
-
-
class
androguard.decompiler.dad.instruction.ThrowExpression(ref)¶ Bases:
androguard.decompiler.dad.instruction.RefExpression-
visit(visitor)¶
-
androguard.decompiler.dad.node module¶
-
class
androguard.decompiler.dad.node.Interval(head)¶ Bases:
object-
add_node(node)¶
-
compute_end(graph)¶
-
get_end()¶
-
get_head()¶
-
-
class
androguard.decompiler.dad.node.LoopType¶ Bases:
object-
copy()¶
-
is_endless¶
-
is_posttest¶
-
is_pretest¶
-
-
class
androguard.decompiler.dad.node.MakeProperties(name, bases, dct)¶ Bases:
type
androguard.decompiler.dad.opcode_ins module¶
-
class
androguard.decompiler.dad.opcode_ins.Op¶ Bases:
object-
ADD= '+'¶
-
AND= '&'¶
-
CMP= 'cmp'¶
-
DIV= '/'¶
-
EQUAL= '=='¶
-
GEQUAL= '>='¶
-
GREATER= '>'¶
-
INTSHL= '<<'¶
-
INTSHR= '>>'¶
-
LEQUAL= '<='¶
-
LONGSHL= '<<'¶
-
LONGSHR= '>>'¶
-
LOWER= '<'¶
-
MOD= '%'¶
-
MUL= '*'¶
-
NEG= '-'¶
-
NEQUAL= '!='¶
-
NOT= '~'¶
-
OR= '|'¶
-
SUB= '-'¶
-
XOR= '^'¶
-
-
androguard.decompiler.dad.opcode_ins.adddouble(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.adddouble2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.addfloat(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.addfloat2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.addint(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.addint2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.addintlit16(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.addintlit8(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.addlong(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.addlong2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.aget(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.agetboolean(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.agetbyte(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.agetchar(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.agetobject(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.agetshort(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.agetwide(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.andint(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.andint2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.andintlit16(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.andintlit8(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.andlong(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.andlong2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.aput(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.aputboolean(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.aputbyte(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.aputchar(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.aputobject(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.aputshort(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.aputwide(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.arraylength(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.assign_binary_2addr_exp(ins, val_op, op_type, vmap)¶
-
androguard.decompiler.dad.opcode_ins.assign_binary_exp(ins, val_op, op_type, vmap)¶
-
androguard.decompiler.dad.opcode_ins.assign_cast_exp(val_a, val_b, val_op, op_type, vmap)¶
-
androguard.decompiler.dad.opcode_ins.assign_cmp(val_a, val_b, val_c, cmp_type, vmap)¶
-
androguard.decompiler.dad.opcode_ins.assign_const(dest_reg, cst, vmap)¶
-
androguard.decompiler.dad.opcode_ins.assign_lit(op_type, val_cst, val_a, val_b, vmap)¶
-
androguard.decompiler.dad.opcode_ins.checkcast(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.cmpgdouble(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.cmpgfloat(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.cmpldouble(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.cmplfloat(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.cmplong(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.const(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.const16(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.const4(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.constclass(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.consthigh16(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.conststring(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.conststringjumbo(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.constwide(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.constwide16(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.constwide32(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.constwidehigh16(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.divdouble(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.divdouble2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.divfloat(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.divfloat2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.divint(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.divint2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.divintlit16(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.divintlit8(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.divlong(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.divlong2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.doubletofloat(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.doubletoint(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.doubletolong(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.fillarraydata(ins, vmap, value)¶
-
androguard.decompiler.dad.opcode_ins.fillarraydatapayload(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.fillednewarray(ins, vmap, ret)¶
-
androguard.decompiler.dad.opcode_ins.fillednewarrayrange(ins, vmap, ret)¶
-
androguard.decompiler.dad.opcode_ins.floattodouble(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.floattoint(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.floattolong(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.get_args(vmap, param_type, largs)¶
-
androguard.decompiler.dad.opcode_ins.get_variables(vmap, *variables)¶
-
androguard.decompiler.dad.opcode_ins.goto(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.goto16(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.goto32(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.ifeq(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.ifeqz(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.ifge(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.ifgez(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.ifgt(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.ifgtz(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.ifle(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.iflez(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.iflt(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.ifltz(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.ifne(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.ifnez(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.iget(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.igetboolean(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.igetbyte(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.igetchar(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.igetobject(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.igetshort(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.igetwide(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.instanceof(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.inttobyte(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.inttochar(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.inttodouble(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.inttofloat(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.inttolong(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.inttoshort(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.invokedirect(ins, vmap, ret)¶
-
androguard.decompiler.dad.opcode_ins.invokedirectrange(ins, vmap, ret)¶
-
androguard.decompiler.dad.opcode_ins.invokeinterface(ins, vmap, ret)¶
-
androguard.decompiler.dad.opcode_ins.invokeinterfacerange(ins, vmap, ret)¶
-
androguard.decompiler.dad.opcode_ins.invokestatic(ins, vmap, ret)¶
-
androguard.decompiler.dad.opcode_ins.invokestaticrange(ins, vmap, ret)¶
-
androguard.decompiler.dad.opcode_ins.invokesuper(ins, vmap, ret)¶
-
androguard.decompiler.dad.opcode_ins.invokesuperrange(ins, vmap, ret)¶
-
androguard.decompiler.dad.opcode_ins.invokevirtual(ins, vmap, ret)¶
-
androguard.decompiler.dad.opcode_ins.invokevirtualrange(ins, vmap, ret)¶
-
androguard.decompiler.dad.opcode_ins.iput(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.iputboolean(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.iputbyte(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.iputchar(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.iputobject(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.iputshort(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.iputwide(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.load_array_exp(val_a, val_b, val_c, ar_type, vmap)¶
-
androguard.decompiler.dad.opcode_ins.longtodouble(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.longtofloat(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.longtoint(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.monitorenter(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.monitorexit(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.move(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.move16(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.moveexception(ins, vmap, _type)¶
-
androguard.decompiler.dad.opcode_ins.movefrom16(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.moveobject(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.moveobject16(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.moveobjectfrom16(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.moveresult(ins, vmap, ret)¶
-
androguard.decompiler.dad.opcode_ins.moveresultobject(ins, vmap, ret)¶
-
androguard.decompiler.dad.opcode_ins.moveresultwide(ins, vmap, ret)¶
-
androguard.decompiler.dad.opcode_ins.movewide(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.movewide16(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.movewidefrom16(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.muldouble(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.muldouble2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.mulfloat(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.mulfloat2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.mulint(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.mulint2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.mulintlit16(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.mulintlit8(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.mullong(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.mullong2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.negdouble(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.negfloat(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.negint(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.neglong(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.newarray(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.newinstance(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.nop(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.notint(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.notlong(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.orint(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.orint2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.orintlit16(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.orintlit8(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.orlong(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.orlong2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.packedswitch(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.remdouble(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.remdouble2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.remfloat(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.remfloat2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.remint(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.remint2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.remintlit16(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.remintlit8(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.remlong(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.remlong2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.return_reg(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.returnobject(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.returnvoid(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.returnwide(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.rsubint(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.rsubintlit8(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.sget(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.sgetboolean(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.sgetbyte(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.sgetchar(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.sgetobject(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.sgetshort(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.sgetwide(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.shlint(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.shlint2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.shlintlit8(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.shllong(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.shllong2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.shrint(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.shrint2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.shrintlit8(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.shrlong(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.shrlong2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.sparseswitch(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.sput(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.sputboolean(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.sputbyte(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.sputchar(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.sputobject(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.sputshort(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.sputwide(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.store_array_inst(val_a, val_b, val_c, ar_type, vmap)¶
-
androguard.decompiler.dad.opcode_ins.subdouble(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.subdouble2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.subfloat(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.subfloat2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.subint(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.subint2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.sublong(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.sublong2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.throw(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.ushrint(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.ushrint2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.ushrintlit8(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.ushrlong(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.ushrlong2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.xorint(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.xorint2addr(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.xorintlit16(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.xorintlit8(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.xorlong(ins, vmap)¶
-
androguard.decompiler.dad.opcode_ins.xorlong2addr(ins, vmap)¶
androguard.decompiler.dad.util module¶
-
androguard.decompiler.dad.util.build_path(graph, node1, node2, path=None)¶ Build the path from node1 to node2. The path is composed of all the nodes between node1 and node2, node1 excluded. Although if there is a loop starting from node1, it will be included in the path.
-
androguard.decompiler.dad.util.common_dom(idom, cur, pred)¶
-
androguard.decompiler.dad.util.create_png(cls_name, meth_name, graph, dir_name='graphs2')¶
-
androguard.decompiler.dad.util.get_access_class(access)¶
-
androguard.decompiler.dad.util.get_access_field(access)¶
-
androguard.decompiler.dad.util.get_access_method(access)¶
-
androguard.decompiler.dad.util.get_params_type(descriptor)¶ Return the parameters type of a descriptor (e.g (IC)V)
-
androguard.decompiler.dad.util.get_type(atype, size=None)¶ Retrieve the java type of a descriptor (e.g : I)
-
androguard.decompiler.dad.util.get_type_size(param)¶ Return the number of register needed by the type @param
-
androguard.decompiler.dad.util.merge_inner(clsdict)¶ Merge the inner class(es) of a class: e.g class A { … } class A$foo{ … } class A$bar{ … }
==> class A { class foo{…} class bar{…} … }
androguard.decompiler.dad.writer module¶
-
class
androguard.decompiler.dad.writer.Writer(graph, method)¶ Bases:
object-
dec_ind(i=1)¶
-
end_ins()¶
-
inc_ind(i=1)¶
-
space()¶
-
str_ext()¶
-
visit_alength(array)¶
-
visit_aload(array, index)¶
-
visit_assign(lhs, rhs)¶
-
visit_astore(array, index, rhs, data=None)¶
-
visit_base_class(cls, data=None)¶
-
visit_binary_expression(op, arg1, arg2)¶
-
visit_cast(op, arg)¶
-
visit_catch_node(catch_node)¶
-
visit_check_cast(arg, atype)¶
-
visit_cond_expression(op, arg1, arg2)¶
-
visit_cond_node(cond)¶
-
visit_condz_expression(op, arg)¶
-
visit_constant(cst)¶
-
visit_decl(var)¶
-
visit_fill_array(array, value)¶
-
visit_filled_new_array(atype, size, args)¶
-
visit_get_instance(arg, name, data=None)¶
-
visit_get_static(cls, name)¶
-
visit_ins(ins)¶
-
visit_invoke(name, base, ptype, rtype, args, invokeInstr)¶
-
visit_loop_node(loop)¶
-
visit_monitor_enter(ref)¶
-
visit_monitor_exit(ref)¶
-
visit_move(lhs, rhs)¶
-
visit_move_exception(var, data=None)¶
-
visit_move_result(lhs, rhs)¶
-
visit_new(atype, data=None)¶
-
visit_new_array(atype, size)¶
-
visit_node(node)¶
-
visit_nop()¶
-
visit_param(param, data=None)¶
-
visit_put_instance(lhs, name, rhs, data=None)¶
-
visit_put_static(cls, name, rhs)¶
-
visit_return(arg)¶
-
visit_return_node(ret)¶
-
visit_return_void()¶
-
visit_short_circuit_condition(nnot, aand, cond1, cond2)¶
-
visit_statement_node(stmt)¶
-
visit_super()¶
-
visit_switch(arg)¶
-
visit_switch_node(switch)¶
-
visit_this()¶
-
visit_throw(ref)¶
-
visit_throw_node(throw)¶
-
visit_try_node(try_node)¶
-
visit_unary_expression(op, arg)¶
-
visit_variable(var)¶
-
write(s, data=None)¶
-
write_ext(t)¶
-
write_ind()¶
-
write_ind_visit_end(lhs, s, rhs=None, data=None)¶
-
write_ind_visit_end_ext(lhs, before, s, after, rhs=None, data=None, subsection='UNKNOWN_SUBSECTION')¶
-
write_inplace_if_possible(lhs, rhs)¶
-
write_method()¶
-
-
androguard.decompiler.dad.writer.string(s)¶ Convert a string to a escaped ASCII representation including quotation marks :param s: a string :return: ASCII escaped string