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