There was a question about this a year ago, but the answer doesn't explain how to do it in C/C++:
I'm not talking about module start address, which we can get using GetModuleHandle(module)
I'm talking about the start of text section of a DLL inside a process, so when i inject a process (using dll injection) i can get the starting address of a target DLL and patch part of its instructions, basically i know the offset of a instruction inside the DLL's file on disk, and i just want to find the start of text section and add to it that offset so i can patch it by injecting into the process that loaded it
and the offset of that part inside the PE file is different from disk, for example in a test program that i checked the offset in disk was 0x300 and on memory was 0x1000 (32 bit app)
so how can i do this that can work in both 32 bit and 64 bit apps?