diff options
author | Joey Jiao <joeyjiaojg@163.com> | 2021-01-14 21:47:00 +0800 |
---|---|---|
committer | Joey Jiao <joeyjiaojg@163.com> | 2021-01-20 15:46:41 +0800 |
commit | 6dc20fc298c28658ea988a74eb7d400115a3f78a (patch) | |
tree | 7da6adbcd21aeb138e26facd87197eb2b23d5b94 | |
parent | 868ef6c10c8137e0085789452a84435cd6b72f2f (diff) | |
download | afl++-6dc20fc298c28658ea988a74eb7d400115a3f78a.tar.gz |
afl_frida: fix target lib
-rw-r--r-- | utils/afl_frida/afl-frida.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/utils/afl_frida/afl-frida.c b/utils/afl_frida/afl-frida.c index 89a5b932..4a99d6ed 100644 --- a/utils/afl_frida/afl-frida.c +++ b/utils/afl_frida/afl-frida.c @@ -206,9 +206,17 @@ int main(int argc, char** argv) { GumStalker *stalker = gum_stalker_new(); - GumAddress base_address = gum_module_find_base_address(TARGET_LIBRARY); + GumAddress base_address; + if (argc > 2) + base_address = gum_module_find_base_address(argv[1]); + else + base_address = gum_module_find_base_address(TARGET_LIBRARY); GumMemoryRange code_range; - gum_module_enumerate_ranges(TARGET_LIBRARY, GUM_PAGE_RX, enumerate_ranges, + if (argc > 2) + gum_module_enumerate_ranges(argv[1], GUM_PAGE_RX, enumerate_ranges, + &code_range); + else + gum_module_enumerate_ranges(TARGET_LIBRARY, GUM_PAGE_RX, enumerate_ranges, &code_range); guint64 code_start = code_range.base_address; @@ -219,7 +227,11 @@ int main(int argc, char** argv) { base_address, code_start, code_end); if (!code_start || !code_end) { - fprintf(stderr, "Error: no valid memory address found for %s\n", + if (argc > 2) + fprintf(stderr, "Error: no valid memory address found for %s\n", + argv[1]); + else + fprintf(stderr, "Error: no valid memory address found for %s\n", TARGET_LIBRARY); exit(-1); |