-
Notifications
You must be signed in to change notification settings - Fork 186
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
run_pe method not working for executables without .reloc table #63
Comments
Hello! It is possible to load them using RunPE method, but if and only if, we can manage to allocate within the target the exact base that is required by the payload. Sometimes, there is already something loaded at this address, so it is not free. If the previous main executable occupies it, we can free this space by unmapping the EXE (as it is done in a classic variant of RunPE). In my current implementation of RunPE, I don't unmap the original EXE, but load the payload alongside, and then update the base address in the PEB. This is a bit stealthier variant of RunPE. But it won't support your case. |
Hello, Yes i tried unmapping method it works for operating systems up to windows 11 24h2, as we discussed other issue, windows 11 24h2 throws an error 0xC0000141 STATUS_INVALID_ADDRESS. And patching of ntdll not working for fixed base executables. So thats not an issue for libpe. Thanks for your help. |
Hello,
I have an old executable which doesnt have any .reloc section, it was build with FIXED base address. When i tried to run it it says, Could not relocate the module.
I build Hello World Console App with FIXED address for testing.
runpe output.
Do we need to make some modifications for executables which doesnt have .reloc table, or we need to use alternative techniques?
The text was updated successfully, but these errors were encountered: