Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Memory high address crash #2

Open
justnonamenoname opened this issue Feb 18, 2020 · 13 comments
Open

Memory high address crash #2

justnonamenoname opened this issue Feb 18, 2020 · 13 comments

Comments

@justnonamenoname
Copy link

justnonamenoname commented Feb 18, 2020

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

@orca-zhang
Copy link
Member

Thanks for your feedback.

@orca-zhang
Copy link
Member

I'll reproduce it and try to fix it.

@justnonamenoname
Copy link
Author

Seems like you have no time for this
I can donate for this

@Bit00009
Copy link

Bit00009 commented Dec 1, 2020

any news on this? @orca-zhang

@orca-zhang
Copy link
Member

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. : (

@justnonamenoname
Copy link
Author

@orca-zhang
paypal?

@orca-zhang
Copy link
Member

@orca-zhang
Copy link
Member

orca-zhang commented Feb 1, 2022

If you enable memory high address allocation - x64Call will crash

I've tried to reproduce, but failed.

Please give me more information about it.

  1. exe linker param: PLATFORM x64 or x86?
  2. vs version
  3. sample code
    • which class is used: X64Call or ProcessWriter or YAPICall? argument count is less than 7?

@justnonamenoname
Copy link
Author

justnonamenoname commented Feb 2, 2022

  1. 32bit exe loadlibrary in 64bit exe
  2. 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);
}

@orca-zhang
Copy link
Member

OK, I'll check it.

@orca-zhang
Copy link
Member

The host binary is 64bit exe, and try to load 32bit dll into a 32 bit exe?

@justnonamenoname
Copy link
Author

32bit exe load 64bit dll to 64bit exe

@orca-zhang
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants