重定義編譯DLL文件的基地址

字號(hào):

許多VB開發(fā)者都知道應(yīng)該在工程屬性對(duì)話框的“編譯”功能頁(yè)面中定義一個(gè)DLL基地址數(shù)值。這不同于工程中任何其他DLL或OCX的基地址。
    當(dāng)操作沒有源代碼的編譯DLL或者OCX文件時(shí),可以使用EDITBIN程序修改它的基地址。EDITBIN程序隨Visual Studio安裝后就有了,可以在主Visual Studio目錄的VC98\BIN目錄下找到它。比如,以下代碼重新設(shè)定一個(gè)編譯DLL文件的基地址為12000000(16進(jìn)制):
    EDITBIN /REBASE:BASE=0x12000000 myfile.dll
    同樣,EDITBIN程序?qū)蓤?zhí)行文件也有一些處理技巧。
    以下是該程序支持的完整功能選項(xiàng)列表(使用EDITBIN /? 可以列出這些):
    /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