-
Notifications
You must be signed in to change notification settings - Fork 67
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
Windows PE custom initialization functions #56
Comments
Regarding the specific error, the following function call is invoked twice, with the same
As for how |
Sorry I made a stupid mistake. I patched a program that was already patched. So return entry will return to e9loader(). |
It should not be allowable to rewrite an already-rewritten binary. I have added a check to ensure this does not happen. |
Have you planned to implement init for Windows PE? I test init in some PE program and dll, maybe it can work. |
It really should be added, but to do it "properly" is a bit tricky and it is difficult to test (I do not use Windows). I will reopen the issue to remind myself that this is not yet addressed. |
I try to patch e9loader_pe.cpp and e9pe.cpp to support Windows PE custom initialization functions. It can work in f57a9d4.
But it can't work in 501a289.
It is my patch for 501a289, it can work in f57a9d4.
The Windows PE custom initialization functions execute in the end of
void *e9loader(PEB *peb, const struct e9_config_s *config)
. In 501a289, the e9loader will execute again after custom initialization functions so it will fail.the init() is
But I think it should return
return entry
after init(), what's wrong with my patch for 501a289?The text was updated successfully, but these errors were encountered: