in pwnlib there is a possibility to search for particular bytes, e.g. as follows for 0x66 byte:
print(next(p.elf.search(b'f')))
which in turn results in the following output:
4195268
Having this value it is possible to examine it as an address in radare2:
pd 1 @ 4195268
0x004003c4 666c insb byte [rdi], dx
And it refers properly to a sequence of bytes containing desired 'f' (0x66). However, this is neither a physical address nor a virtual one:
[0x00400520]> ?v 4195268
0x4003c4
[0x00400520]> ?p 4195268
0x000003c4
And I couldn't get it from radare2 directly. Instead, searching for bytes in r2 results in reference to virtual address, not to the value returned by ELF class from pwntools.
[0x00400520]> /x 66
0x004003c4 hit10_0 66
So, what is it actually an address of? And how I can get the same value returned by pwntools in radare2?
Thank you!