.net 如果我想重新设置DLL的基址';s、 我该怎么做呢?
这是本书的延续 我正在测试是否重新调整.NET DLL的基址,并且对它们进行加密将在终端服务器的内存中为我提供更多的共享代码 然而,我的计划似乎有一个缺陷,那就是我似乎无法找到一种工作方法来计算一组工作地址 我想我能做的是:.net 如果我想重新设置DLL的基址';s、 我该怎么做呢?,.net,dll,rebasing,.net,Dll,Rebasing,这是本书的延续 我正在测试是否重新调整.NET DLL的基址,并且对它们进行加密将在终端服务器的内存中为我提供更多的共享代码 然而,我的计划似乎有一个缺陷,那就是我似乎无法找到一种工作方法来计算一组工作地址 我想我能做的是: 只要建造并修复一切 启动程序,确保已加载所有DLL 使用/R PROGRAMNAME获取运行实例当前正在使用的地址列表 使用重新映射的DLL的地址作为这些DLL的新基址 解开所有的东西,从1点开始 然而,这已经变成了一个练习,因为对某些DLL重新设置基址的行为显然改变了加载
有什么建议吗?您可以使用DUMPBIN(在Visual Studio中提供)找到DLL首选的加载地址和内存范围,并根据这些数字进行规划 dumpbin/headers将为您提供:
7DC90000 image base (7DC90000 to 7DD5FFFF)
如果您根据首选加载地址进行规划,您应该没有问题。您可以使用DUMPBIN(在Visual Studio中提供)找到DLL首选加载地址和内存范围,并根据这些数字进行规划 dumpbin/headers将为您提供:
7DC90000 image base (7DC90000 to 7DD5FFFF)
如果您根据首选加载地址进行计划,您应该不会有任何问题。您不是指海森堡,而是指薛定谔(即哥本哈根解释)。不确定性描述了一个系统中如何存在有限的已知信息集,哥本哈根是关于交互行为如何改变状态(非常松散)。“重定基址”折叠了代码波:)Linux等ELF系统上的prelink首先扫描系统上的每个共享库和二进制文件,然后计算最佳布局。在窗户上没有办法做到这一点吗?你不是指海森堡,你是指薛定谔(也就是哥本哈根解释)。不确定性描述了一个系统中如何存在有限的已知信息集,哥本哈根是关于交互行为如何改变状态(非常松散)。“重定基址”折叠了代码波:)Linux等ELF系统上的prelink首先扫描系统上的每个共享库和二进制文件,然后计算最佳布局。在Windows上没有办法做到这一点吗?