如何在Windows 7 x64上禁用ASLR,以便我的程序始终在相同的地址加载共享CRT?
piv4azn71#
以前,您必须选择允许链接器使用ASLR。现在,you have to opt out:
/DYNAMICBASE[:NO]
(Visual Studio 2012:配置属性->链接器->高级->“随机化基址”)你也可以做programmatically。
b4lqfgs42#
增强型缓解体验工具包( emmet )downloadable from Microsoft允许在系统或进程基础上启用/禁用ASLR。
djp7away3#
可以在HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\MoveImages中找到一个注册表设置,用于强制启用或禁用所有可执行文件和库的ASLR。
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\MoveImages
klr1opcd4#
在cmd/Batch中,您可以尝试添加以下两个值:
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v MoveImages /t REG_DWORD /d 0 /f REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel" /v MitigationOptions /t REG_BINARY /d "00000000000000000000000000000000" /f
关于powershell:
Get-Item -Path "C:\Program Files\Git\usr\bin\*.exe" | %{ Set-ProcessMitigation -Name $_.Name -Disable ForceRelocateImages }
或者在实验app的帮助下:
cd %tmp% wget http://www.didierstevens.com/files/software/setdllcharacteristics_v0_0_0_1.zip -o sdc.zip Expand-Archive -Path sdc.zip -DestinationPath ./ ./setdllcharacteristics.exe -d "C:\path\to\your\app.exe"
4条答案
按热度按时间piv4azn71#
以前,您必须选择允许链接器使用ASLR。现在,you have to opt out:
(Visual Studio 2012:配置属性->链接器->高级->“随机化基址”)
你也可以做programmatically。
b4lqfgs42#
增强型缓解体验工具包( emmet )downloadable from Microsoft允许在系统或进程基础上启用/禁用ASLR。
djp7away3#
可以在
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\MoveImages
中找到一个注册表设置,用于强制启用或禁用所有可执行文件和库的ASLR。klr1opcd4#
方法一(全局禁用)
在cmd/Batch中,您可以尝试添加以下两个值:
方法2 -仅针对特定应用禁用
关于powershell:
或者在实验app的帮助下: