because the compiler knows that the structure is located exactly 0x1AB bytes before the current function
This should be 0xF bytes before the current function, shouldn't it? I liked it.
24 karma · joined June 10, 2016
This should be 0xF bytes before the current function, shouldn't it? I liked it.
void *call_addr = (void *)CHECKSUM_CALL_ADDR;
to then casting the rvalue to a double void pointer here: void **target = (void **)CHECKSUM_CALL_ADDR;
(why not just void*) ? Also, even though mprotect() succeeds, I got a segfault.