yapi
yapi copied to clipboard
Memory high address crash
If you enable memory high address allocation - x64Call will crash
memory.reg (system need to restart to enable)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management] "AllocationPreference"=dword:00010000
I tried change 0x7e (jle singed) to 0x76 (jbe unsigned) , but it didn't help
Thanks for your feedback.
I'll reproduce it and try to fix it.
Seems like you have no time for this I can donate for this
any news on this? @orca-zhang
I've used MacOS for several years and the disk is not as big to install a windows docker yet.
BTW, I think I'm too lazy. But if you can donate for it, it may encourage me to make it better. : (
@orca-zhang paypal?
If you enable memory high address allocation - x64Call will crash
I've tried to reproduce, but failed.
Please give me more information about it.
- exe linker param: PLATFORM x64 or x86?
- vs version
- sample code
- which class is used:
X64Call
orProcessWriter
orYAPICall
? argument count is less than 7?
- which class is used:
- 32bit exe loadlibrary in 64bit exe
- VisualStudio2008
HANDLE Handle=OpenProcess(PROCESS_ALL_ACCESS,FALSE,id); if(Handle) { yapi::YAPICall CallLoadLibraryA(Handle,L"kernel32.dll","LoadLibraryA"); CallLoadLibraryA.Timeout(10000); CallLoadLibraryA.Dw64()(path); }
OK, I'll check it.
The host binary is 64bit exe, and try to load 32bit dll into a 32 bit exe?
32bit exe load 64bit dll to 64bit exe
I've tried both 64bit exe load 32bit dll to a 32 bit exe or 32bit exe load 64bit dll to 64bit exe, both haven't crash, is there any backtrace/stack info or try to check it in normal way.