androguard.decompiler package¶
Subpackages¶
- androguard.decompiler.dad package
- Submodules
- androguard.decompiler.dad.dast module
JSONWriter
JSONWriter.add()
JSONWriter.get_ast()
JSONWriter.get_cond()
JSONWriter.visit_cond_node()
JSONWriter.visit_ins()
JSONWriter.visit_loop_node()
JSONWriter.visit_node()
JSONWriter.visit_return_node()
JSONWriter.visit_statement_node()
JSONWriter.visit_switch_node()
JSONWriter.visit_throw_node()
JSONWriter.visit_try_node()
array_access()
array_creation()
array_initializer()
assignment()
binary_infix()
cast()
dummy()
expression_stmt()
field_access()
if_stmt()
jump_stmt()
literal()
literal_bool()
literal_class()
literal_double()
literal_float()
literal_hex_int()
literal_int()
literal_long()
literal_null()
literal_string()
local()
local_decl_stmt()
loop_stmt()
method_invocation()
parenthesis()
parse_descriptor()
return_stmt()
statement_block()
switch_stmt()
throw_stmt()
try_stmt()
typen()
unary_postfix()
unary_prefix()
var_decl()
visit_arr_data()
visit_decl()
visit_expr()
visit_ins()
write_inplace_if_possible()
- androguard.decompiler.dad.basic_blocks module
- androguard.decompiler.dad.control_flow module
- androguard.decompiler.dad.dataflow module
- androguard.decompiler.dad.decompile module
- androguard.decompiler.dad.graph module
GenInvokeRetName
Graph
Graph.add_catch_edge()
Graph.add_edge()
Graph.add_node()
Graph.all_preds()
Graph.all_sucs()
Graph.compute_rpo()
Graph.draw()
Graph.get_ins_from_loc()
Graph.get_node_from_loc()
Graph.immediate_dominators()
Graph.number_ins()
Graph.post_order()
Graph.preds()
Graph.remove_ins()
Graph.remove_node()
Graph.sucs()
bfs()
construct()
dom_lt()
make_node()
simplify()
split_if_nodes()
- androguard.decompiler.dad.instruction module
ArrayExpression
ArrayLengthExpression
ArrayLoadExpression
ArrayStoreInstruction
AssignExpression
AssignExpression.get_lhs()
AssignExpression.get_rhs()
AssignExpression.get_used_vars()
AssignExpression.has_side_effect()
AssignExpression.is_call()
AssignExpression.is_propagable()
AssignExpression.remove_defined_var()
AssignExpression.replace()
AssignExpression.replace_lhs()
AssignExpression.replace_var()
AssignExpression.visit()
BaseClass
BinaryCompExpression
BinaryExpression
BinaryExpression2Addr
BinaryExpressionLit
CastExpression
CheckCastExpression
ConditionalExpression
ConditionalZExpression
Constant
FillArrayExpression
FilledArrayExpression
IRForm
IRForm.get_lhs()
IRForm.get_rhs()
IRForm.get_type()
IRForm.get_used_vars()
IRForm.has_side_effect()
IRForm.is_call()
IRForm.is_cond()
IRForm.is_const()
IRForm.is_ident()
IRForm.is_propagable()
IRForm.remove_defined_var()
IRForm.replace()
IRForm.replace_lhs()
IRForm.replace_var()
IRForm.set_type()
IRForm.visit()
InstanceExpression
InstanceInstruction
InvokeDirectInstruction
InvokeInstruction
InvokeRangeInstruction
InvokeStaticInstruction
MonitorEnterExpression
MonitorExitExpression
MoveExceptionExpression
MoveExpression
MoveResultExpression
NewArrayExpression
NewInstance
NopExpression
Param
RefExpression
ReturnInstruction
StaticExpression
StaticInstruction
SwitchExpression
ThisParam
ThrowExpression
UnaryExpression
Variable
- androguard.decompiler.dad.node module
- androguard.decompiler.dad.opcode_ins module
Op
adddouble()
adddouble2addr()
addfloat()
addfloat2addr()
addint()
addint2addr()
addintlit16()
addintlit8()
addlong()
addlong2addr()
aget()
agetboolean()
agetbyte()
agetchar()
agetobject()
agetshort()
agetwide()
andint()
andint2addr()
andintlit16()
andintlit8()
andlong()
andlong2addr()
aput()
aputboolean()
aputbyte()
aputchar()
aputobject()
aputshort()
aputwide()
arraylength()
assign_binary_2addr_exp()
assign_binary_exp()
assign_cast_exp()
assign_cmp()
assign_const()
assign_lit()
checkcast()
cmpgdouble()
cmpgfloat()
cmpldouble()
cmplfloat()
cmplong()
const()
const16()
const4()
constclass()
consthigh16()
conststring()
conststringjumbo()
constwide()
constwide16()
constwide32()
constwidehigh16()
divdouble()
divdouble2addr()
divfloat()
divfloat2addr()
divint()
divint2addr()
divintlit16()
divintlit8()
divlong()
divlong2addr()
doubletofloat()
doubletoint()
doubletolong()
fillarraydata()
fillarraydatapayload()
fillednewarray()
fillednewarrayrange()
floattodouble()
floattoint()
floattolong()
get_args()
get_variables()
goto()
goto16()
goto32()
ifeq()
ifeqz()
ifge()
ifgez()
ifgt()
ifgtz()
ifle()
iflez()
iflt()
ifltz()
ifne()
ifnez()
iget()
igetboolean()
igetbyte()
igetchar()
igetobject()
igetshort()
igetwide()
instanceof()
inttobyte()
inttochar()
inttodouble()
inttofloat()
inttolong()
inttoshort()
invokedirect()
invokedirectrange()
invokeinterface()
invokeinterfacerange()
invokestatic()
invokestaticrange()
invokesuper()
invokesuperrange()
invokevirtual()
invokevirtualrange()
iput()
iputboolean()
iputbyte()
iputchar()
iputobject()
iputshort()
iputwide()
load_array_exp()
longtodouble()
longtofloat()
longtoint()
monitorenter()
monitorexit()
move()
move16()
moveexception()
movefrom16()
moveobject()
moveobject16()
moveobjectfrom16()
moveresult()
moveresultobject()
moveresultwide()
movewide()
movewide16()
movewidefrom16()
muldouble()
muldouble2addr()
mulfloat()
mulfloat2addr()
mulint()
mulint2addr()
mulintlit16()
mulintlit8()
mullong()
mullong2addr()
negdouble()
negfloat()
negint()
neglong()
newarray()
newinstance()
nop()
notint()
notlong()
orint()
orint2addr()
orintlit16()
orintlit8()
orlong()
orlong2addr()
packedswitch()
remdouble()
remdouble2addr()
remfloat()
remfloat2addr()
remint()
remint2addr()
remintlit16()
remintlit8()
remlong()
remlong2addr()
return_reg()
returnobject()
returnvoid()
returnwide()
rsubint()
rsubintlit8()
sget()
sgetboolean()
sgetbyte()
sgetchar()
sgetobject()
sgetshort()
sgetwide()
shlint()
shlint2addr()
shlintlit8()
shllong()
shllong2addr()
shrint()
shrint2addr()
shrintlit8()
shrlong()
shrlong2addr()
sparseswitch()
sput()
sputboolean()
sputbyte()
sputchar()
sputobject()
sputshort()
sputwide()
store_array_inst()
subdouble()
subdouble2addr()
subfloat()
subfloat2addr()
subint()
subint2addr()
sublong()
sublong2addr()
throw()
ushrint()
ushrint2addr()
ushrintlit8()
ushrlong()
ushrlong2addr()
xorint()
xorint2addr()
xorintlit16()
xorintlit8()
xorlong()
xorlong2addr()
- androguard.decompiler.dad.util module
- androguard.decompiler.dad.writer module
Writer
Writer.dec_ind()
Writer.end_ins()
Writer.inc_ind()
Writer.space()
Writer.str_ext()
Writer.visit_alength()
Writer.visit_aload()
Writer.visit_assign()
Writer.visit_astore()
Writer.visit_base_class()
Writer.visit_binary_expression()
Writer.visit_cast()
Writer.visit_catch_node()
Writer.visit_check_cast()
Writer.visit_cond_expression()
Writer.visit_cond_node()
Writer.visit_condz_expression()
Writer.visit_constant()
Writer.visit_decl()
Writer.visit_fill_array()
Writer.visit_filled_new_array()
Writer.visit_get_instance()
Writer.visit_get_static()
Writer.visit_ins()
Writer.visit_invoke()
Writer.visit_loop_node()
Writer.visit_monitor_enter()
Writer.visit_monitor_exit()
Writer.visit_move()
Writer.visit_move_exception()
Writer.visit_move_result()
Writer.visit_new()
Writer.visit_new_array()
Writer.visit_node()
Writer.visit_nop()
Writer.visit_param()
Writer.visit_put_instance()
Writer.visit_put_static()
Writer.visit_return()
Writer.visit_return_node()
Writer.visit_return_void()
Writer.visit_short_circuit_condition()
Writer.visit_statement_node()
Writer.visit_super()
Writer.visit_switch()
Writer.visit_switch_node()
Writer.visit_this()
Writer.visit_throw()
Writer.visit_throw_node()
Writer.visit_try_node()
Writer.visit_unary_expression()
Writer.visit_variable()
Writer.write()
Writer.write_ext()
Writer.write_ind()
Writer.write_ind_visit_end()
Writer.write_ind_visit_end_ext()
Writer.write_inplace_if_possible()
Writer.write_method()
string()
- Module contents
Submodules¶
androguard.decompiler.decompiler module¶
- class androguard.decompiler.decompiler.DecompilerDAD(vm, vmx)¶
Bases:
object
- display_all(_class)¶
- display_source(m)¶
- get_all(class_name)¶
- get_ast_class(_class)¶
- get_ast_method(m)¶
- get_source_class(_class)¶
- get_source_class_ext(_class)¶
- get_source_method(m)¶
- class androguard.decompiler.decompiler.DecompilerDed(vm, bin_ded='ded.sh', tmp_dir='/tmp/')¶
Bases:
object
- display_all(_class)¶
- display_source(method)¶
- get_all(class_name)¶
- get_source_class(_class)¶
- get_source_method(method)¶
- class androguard.decompiler.decompiler.DecompilerDex2Fernflower(vm, bin_dex2jar='dex2jar.sh', bin_fernflower='fernflower.jar', options_fernflower={'asc': '1', 'dgs': '1'}, tmp_dir='/tmp/')¶
Bases:
object
- display_all(_class)¶
- display_source(method)¶
- get_all(class_name)¶
- get_source_class(_class)¶
- get_source_method(method)¶
- class androguard.decompiler.decompiler.DecompilerDex2Jad(vm, bin_dex2jar='dex2jar.sh', bin_jad='jad', tmp_dir='/tmp/')¶
Bases:
object
- display_all(_class)¶
- display_source(method)¶
- get_all(class_name)¶
- get_source_class(_class)¶
- get_source_method(method)¶
- class androguard.decompiler.decompiler.DecompilerDex2WineJad(vm, bin_dex2jar='dex2jar.sh', bin_jad='jad', tmp_dir='/tmp/')¶
Bases:
object
- display_all(_class)¶
- display_source(method)¶
- get_all(class_name)¶
- get_source_class(_class)¶
- get_source_method(method)¶
- class androguard.decompiler.decompiler.DecompilerJADX(vm, vmx, jadx='jadx', keepfiles=False)¶
Bases:
object
- display_all(_class)¶
???
- Parameters:
_class –
- Returns:
- display_source(m)¶
This method does the same as get_source_method but prints the result directly to stdout
- Parameters:
m – EncodedMethod to print
- Returns:
- get_all(class_name)¶
???
- Parameters:
class_name –
- Returns:
- get_source_class(_class)¶
Return the Java source code of a whole class
- Parameters:
_class – ClassDefItem object, to get the source from
- Returns:
- get_source_method(m)¶
Return the Java source of a single method
- Parameters:
m – EncodedMethod Object
- Returns:
- class androguard.decompiler.decompiler.Dex2Jar(vm, bin_dex2jar='dex2jar.sh', tmp_dir='/tmp/')¶
Bases:
object
- get_jar()¶
- exception androguard.decompiler.decompiler.JADXDecompilerError¶
Bases:
Exception
Exception for JADX related problems