• Our Discord server is open https://discord.gg/jbXn7uuH

Method Convert static addresses from tools like IDA PRO to RVA's for debuggers.

Yoda

First Blood
Joined: Dec 29, 2024
Messages: 10
Reaction score: 3
Points: 3
A simple tool to convert static addresses (relative to the start of the HEADER) to Relative Virtual Addresses (RVA).​

Usage​

<base_original>: Original base address (e.g., 0x140000000)
<base_target>: Target base address
<absolute_address>: Absolute address to convert



C:
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>

void print_usage() {
    printf("Usage: rva <base_original> <base_target> <absolute_address>\n");
    printf("  <base_original>       - Base Address (typically 0x140000000)\n");
    printf("  <base_target>         - Base address for converted absolute \n");
    printf("  <absolute_address>    - Absolute address\n");
}

int main(int argc, char *argv[]) {
    if (argc != 4) {
        print_usage();
        return 1;
    }

    uint64_t base_o = strtoull(argv[1], NULL, 16);
    uint64_t base_t = strtoull(argv[2], NULL, 16);
    uint64_t aa = strtoull(argv[3], NULL, 16);

    uint64_t result = base_t + (aa - base_o);

    printf("Result: 0x%llx\n", result);

    return 0;
}
 

Discord

Back
Top