Normalerweise ist die Basisadresse eines Programms 0x00400000, allerdings kann diese Adresse auf Grund von ASLR auch nicht konstant sein, also bei jedem Start des Programms verschieden.
Um die Basisadresse zu bekommen wenn die Adresse dynamisch ist musst du die Windows Api Funktionen CreateToolhelp32Snapshot, Module32First und Module32Next benutzten um das Module Handle des Programms zu bekommen, dieses Module Handle ist die Basis Adresse.
Wenn du eine DLL in den Prozess Injizierst kannst du auch einfach die GetModuleHandle Funktion benutzten.
Beispiel Code wie man CreateToolhelp32Snapshot etc benutzt findest du