Changes to strip unused symbols from afl-frida-trace.so and hance remove v7 and its dependency on C++ (#1001)

Co-authored-by: Your Name <you@example.com>
This commit is contained in:
WorksButNotTested
2021-07-02 08:44:53 +01:00
committed by GitHub
parent a6cf9bb336
commit a8529de592
7 changed files with 86 additions and 36 deletions

View File

@ -9,142 +9,153 @@
#include "ranges.h"
#include "stats.h"
#include "util.h"
void js_api_done() {
__attribute__((visibility("default"))) void js_api_done() {
js_done = TRUE;
}
void js_api_error(char *msg) {
__attribute__((visibility("default"))) void js_api_error(char *msg) {
FATAL("%s", msg);
}
void js_api_set_entrypoint(void *address) {
__attribute__((visibility("default"))) void js_api_set_entrypoint(
void *address) {
entry_point = GPOINTER_TO_SIZE(address);
}
void js_api_set_persistent_address(void *address) {
__attribute__((visibility("default"))) void js_api_set_persistent_address(
void *address) {
persistent_start = GPOINTER_TO_SIZE(address);
}
void js_api_set_persistent_return(void *address) {
__attribute__((visibility("default"))) void js_api_set_persistent_return(
void *address) {
persistent_ret = GPOINTER_TO_SIZE(address);
}
void js_api_set_persistent_count(uint64_t count) {
__attribute__((visibility("default"))) void js_api_set_persistent_count(
uint64_t count) {
persistent_count = count;
}
void js_api_set_persistent_debug() {
__attribute__((visibility("default"))) void js_api_set_persistent_debug() {
persistent_debug = TRUE;
}
void js_api_set_debug_maps() {
__attribute__((visibility("default"))) void js_api_set_debug_maps() {
ranges_debug_maps = TRUE;
}
void js_api_add_include_range(void *address, gsize size) {
__attribute__((visibility("default"))) void js_api_add_include_range(
void *address, gsize size) {
GumMemoryRange range = {.base_address = GUM_ADDRESS(address), .size = size};
ranges_add_include(&range);
}
void js_api_add_exclude_range(void *address, gsize size) {
__attribute__((visibility("default"))) void js_api_add_exclude_range(
void *address, gsize size) {
GumMemoryRange range = {.base_address = GUM_ADDRESS(address), .size = size};
ranges_add_exclude(&range);
}
void js_api_set_instrument_libraries() {
__attribute__((visibility("default"))) void js_api_set_instrument_libraries() {
ranges_inst_libs = TRUE;
}
void js_api_set_instrument_debug_file(char *path) {
__attribute__((visibility("default"))) void js_api_set_instrument_debug_file(
char *path) {
instrument_debug_filename = g_strdup(path);
}
void js_api_set_prefetch_disable(void) {
__attribute__((visibility("default"))) void js_api_set_prefetch_disable(void) {
prefetch_enable = FALSE;
}
void js_api_set_instrument_no_optimize(void) {
__attribute__((visibility("default"))) void js_api_set_instrument_no_optimize(
void) {
instrument_optimize = FALSE;
}
void js_api_set_instrument_trace(void) {
__attribute__((visibility("default"))) void js_api_set_instrument_trace(void) {
instrument_tracing = TRUE;
}
void js_api_set_instrument_trace_unique(void) {
__attribute__((visibility("default"))) void js_api_set_instrument_trace_unique(
void) {
instrument_unique = TRUE;
}
void js_api_set_stdout(char *file) {
__attribute__((visibility("default"))) void js_api_set_stdout(char *file) {
output_stdout = g_strdup(file);
}
void js_api_set_stderr(char *file) {
__attribute__((visibility("default"))) void js_api_set_stderr(char *file) {
output_stderr = g_strdup(file);
}
void js_api_set_stats_file(char *file) {
__attribute__((visibility("default"))) void js_api_set_stats_file(char *file) {
stats_filename = g_strdup(file);
}
void js_api_set_stats_interval(uint64_t interval) {
__attribute__((visibility("default"))) void js_api_set_stats_interval(
uint64_t interval) {
stats_interval = interval;
}
void js_api_set_stats_transitions() {
__attribute__((visibility("default"))) void js_api_set_stats_transitions() {
stats_transitions = TRUE;
}
void js_api_set_persistent_hook(void *address) {
__attribute__((visibility("default"))) void js_api_set_persistent_hook(
void *address) {
persistent_hook = address;
}
void js_api_set_stalker_callback(const js_api_stalker_callback_t callback) {
__attribute__((visibility("default"))) void js_api_set_stalker_callback(
const js_api_stalker_callback_t callback) {
js_user_callback = callback;