From 9de814e66a61c9c12c5889dc7891abd41e4ec575 Mon Sep 17 00:00:00 2001 From: mykola2312 <49044616+mykola2312@users.noreply.github.com> Date: Mon, 19 Aug 2024 09:12:55 +0300 Subject: [PATCH] rtdisasm_find_target works very well --- src/rtdisasm_test.c | 10 ++++++++-- src/rtdisasm_test_data.s | 11 ++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/rtdisasm_test.c b/src/rtdisasm_test.c index 70ff15e..37a0f22 100644 --- a/src/rtdisasm_test.c +++ b/src/rtdisasm_test.c @@ -11,7 +11,13 @@ int main() // int len = rtdisasm_analyze_single((const uint8_t*)test_1, size, NULL); // printf("rtdisasm_analyze_single: len %d\n", len); - int offset = rtdisasm_find_target((const uint8_t*)test_1, size, RT_TARGET_NOP); - printf("rtdisasm_find_target: offset %d\n", offset); + printf("RT_TARGET_NOP %d\n", rtdisasm_find_target((const uint8_t*)test_1, size, RT_TARGET_NOP)); + printf("RT_TARGET_RET %d\n", rtdisasm_find_target((const uint8_t*)test_1, size, RT_TARGET_RET)); + printf("RT_TARGET_RET_N %d\n", rtdisasm_find_target((const uint8_t*)test_1, size, RT_TARGET_RET_N)); + printf("RT_TARGET_INT3 %d\n", rtdisasm_find_target((const uint8_t*)test_1, size, RT_TARGET_INT3)); + printf("RT_TARGET_INT_N %d\n", rtdisasm_find_target((const uint8_t*)test_1, size, RT_TARGET_INT_N)); + printf("RT_TARGET_SYSENTER %d\n", rtdisasm_find_target((const uint8_t*)test_1, size, RT_TARGET_SYSENTER)); + printf("RT_TARGET_SYSCALL %d\n", rtdisasm_find_target((const uint8_t*)test_1, size, RT_TARGET_SYSCALL)); + return 0; } \ No newline at end of file diff --git a/src/rtdisasm_test_data.s b/src/rtdisasm_test_data.s index c2368c8..f848648 100644 --- a/src/rtdisasm_test_data.s +++ b/src/rtdisasm_test_data.s @@ -6,5 +6,14 @@ test_1: push %rax push (%rbp) - nop # target that rtdisasm must reach + # rt targets + nop + + ret + ret $0x1234 + + int3 + int $0x80 + sysenter + syscall test_1_end: