windows – 什么是REBASE.EXE的替代品?
我需要重新设置我用我的程序安装的DLL文件组,因为它是一个32位程序,地址空间现在太碎片了.还有一个问题是,由于基地址与某些DLL冲突,整个DLL在冷启动时被请求分页到RAM中,因此加载器可以对它们进行重新绑定.有些DLL是我们编译过的;其他人来自第三方.
我想要做的是有一个工具rebase给定一组DLL,以便DLL组占用一个连续的内存块.然后,在编译安装程序之前运行此工具,并将重新定义的DLL安装在应用程序的专用目录中. 据我所知,Windows SDK附带的REBASE.EXE工具确实做到了.给它一些DLL,然后重新定义它们. 不幸的是… Windows Software Development Kit (SDK) for Windows 8 Consumer Preview说:
现在怎么办?我不想开始使用明显过时的工具,并且将在下一版本的Windows中消失.假设我正在读这个,那么使用ReBase.exe有什么替代品?我想限制自己使用Windows SDK和/或Visual Studio附带的工具,而不是引入第三方工具和/或编写我自己的rebase代码. 或者,我是否以错误的方式处理整个问题?
editbin.exe附带VS2010并具有/ REBASE选项.
C:Program Files (x86)Microsoft Visual Studio 10.0VC>editbin Microsoft (R) COFF/PE Editor Version 10.00.40219.01 Copyright (C) Microsoft Corporation. All rights reserved. usage: EDITBIN [options] [files] options: /ALLOWBIND[:NO] /ALLOWISOLATION[:NO] /BIND[:PATH=path] /DYNAMICBASE[:NO] /ERRORREPORT:{NONE|PROMPT|QUEUE|SEND} /HEAP:reserve[,commit] /LARGEADDRESSAWARE[:NO] /NOLOGO /NXCOMPAT[:NO] /REBASE[:[BASE=address][,BASEFILE][,DOWN]] /RELEASE /SECTION:name[=newname][,[[!]{CDEIKOMPRSUW}][A{1248PTSX}]] /STACK:reserve[,commit] /SUBSYSTEM:{BOOT_APPLICATION|CONSOLE|EFI_APPLICATION| EFI_BOOT_SERVICE_DRIVER|EFI_ROM|EFI_RUNTIME_DRIVER| NATIVE|POSIX|WINDOWS|WINDOWSCE}[,#[.##]] /SWAPRUN:{[!]CD|[!]NET} /TSAWARE[:NO] /VERSION:#[.#] 正如Mark指出你要关闭ASLR,你可以通过使用/ DYNAMICBASE来做:否 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-xp – 如果USB驱动器丢失,如何防止数据访问?
- 简单的Windows邮件服务器推荐
- ui-automation – Microsoft UI Automation:调用模式异常
- windows-7 – 在Windows 7 64位上的Outlook 2010“无法打开
- .net core 定时任务
- windows-runtime – 如何确定GridView中哪些项目在当前滚动
- Windows 7 – 从Windows 7开发Metro UI(Windows 8)
- windows-7 – 在Windows 7 -32位操作系统上安装MVC3时出错
- windows-7 – 在顶部绘制带有文字的视频
- Windows下的2017 最新版 MyEclipse启动出现:a java runtim