Domanda

I want to find memory addresses that a exe file uses. I have the exe file and I want to have a list of addresses that it uses.

This must be done statically and without running the executable itself. Can anybody help me please?

Also, if you know a dynamic way to do it please tell me.

È stato utile?

Soluzione

You must look into the exe header. There is a list of addresses that the loader must adapt relative to the base address when an executable is run. This is called a relocation table. When you look into the exe via a disassembler like IDA you can assume a load address or the exe can specify it.

Normally addresses are relative, so even if you find an address once, it's not be guaranteed that it will always be in that same place. If a program is written or compiled with position independent code, then it doesn't rely on any absolute address.

Just for disassembling you can look at tools like IDA or similar.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top