Rebase compiled DLLs

Many VB developers know that they should specify a DLL Base Address value – in the Compile tab of the Project Properties dialog box – that is different from the base address of any other DLL or OCX used in the project.

When you are working with a compiled DLL or OCX for which you don’t have the source code, you can change its base address using the EDITBIN utility that comes with Visual Studio (Find it in the VC98BIN directory under the main Visual Studio directory). For example, here’s how you can rebase a compiled DLL at address 12000000 hex:

EDITBIN /REBASE:BASE=0x12000000 myfile.dll

The EDITBIN utility lets you perform some other neat tricks with executable files. This is the complete list of the options it supports (use EDITBIN /? to recall this list when you need it):

     /BIND[:PATH=path]     /HEAP:reserve[,commit]     /LARGEADDRESSAWARE[:NO]     /NOLOGO     /REBASE[:[BASE=address][,BASEFILE][,DOWN]]     /RELEASE     /SECTION:name[=newname][,[[!]{cdeikomprsuw}][a{1248ptsx}]]     /STACK:reserve[,commit]     /SUBSYSTEM:{NATIVE|WINDOWS|CONSOLE|WINDOWSCE|POSIX}[,#[.##]]     /SWAPRUN:{[!]CD|[!]NET}     /VERSION:#[.#]     /WS:[!]AGGRESSIVE

You can find additional information about this utility on MSDN.

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: