androguard.decompiler package¶
Subpackages¶
- androguard.decompiler.dad package
- Submodules
- androguard.decompiler.dad.dast module
JSONWriterJSONWriter.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
GenInvokeRetNameGraphGraph.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
ArrayExpressionArrayLengthExpressionArrayLoadExpressionArrayStoreInstructionAssignExpressionAssignExpression.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()
BaseClassBinaryCompExpressionBinaryExpressionBinaryExpression2AddrBinaryExpressionLitCastExpressionCheckCastExpressionConditionalExpressionConditionalZExpressionConstantFillArrayExpressionFilledArrayExpressionIRFormIRForm.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()
InstanceExpressionInstanceInstructionInvokeDirectInstructionInvokeInstructionInvokeRangeInstructionInvokeStaticInstructionMonitorEnterExpressionMonitorExitExpressionMoveExceptionExpressionMoveExpressionMoveResultExpressionNewArrayExpressionNewInstanceNopExpressionParamRefExpressionReturnInstructionStaticExpressionStaticInstructionSwitchExpressionThisParamThrowExpressionUnaryExpressionVariable
- androguard.decompiler.dad.node module
- androguard.decompiler.dad.opcode_ins module
Opadddouble()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
WriterWriter.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:
ExceptionException for JADX related problems