diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2012-12-10 23:41:09 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2012-12-10 23:41:09 (GMT) |
commit | 79ec14ee5c1cea5c4ad345a7047b47b9205fc29e (patch) | |
tree | 0596bb4b7910964ef96c3705c80ec5dba677eeb0 /plugins/androhelpers/androhelpers.c | |
parent | 42420cfa1f406a5f0a9f062b258ece72098635b5 (diff) |
Took care of Dalvik switch cases.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@299 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'plugins/androhelpers/androhelpers.c')
-rw-r--r-- | plugins/androhelpers/androhelpers.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/plugins/androhelpers/androhelpers.c b/plugins/androhelpers/androhelpers.c index f7360f8..c61ce02 100644 --- a/plugins/androhelpers/androhelpers.c +++ b/plugins/androhelpers/androhelpers.c @@ -27,7 +27,11 @@ #include <string.h> +#include <format/dex/dex.h> + + #include "params.h" +#include "switch.h" #include "try_n_catch.h" @@ -92,16 +96,25 @@ bool execute_action_on_binary(GPluginModule *plugin, GLoadedBinary *binary, Plug { bool result; /* Bilan à retourner */ + if (!G_IS_DEX_FORMAT(g_loaded_binary_get_format(binary))) + return false; + result = true; if (action == PGA_BINARY_DISASSEMBLED) result &= replace_parameters(binary); else if (action == PGA_BINARY_LINKED) + { + result &= extract_switch_info(binary, true); result &= process_exception_handlers(binary, true); + } else if (action == PGA_BINARY_PRINTED) + { + result &= extract_switch_info(binary, false); result &= process_exception_handlers(binary, false); + } return result; |