Czy ktoś zauważył, że jeśli importujesz exe jako zasób, zostaje on ponownie utworzony i wydaje się, że jego nagłówek PE zostanie odbudowany?C++ visual studio 2010 exe w zasobie get Rebased?
Są chwile, kiedy to jest irytujące. Czy ktokolwiek wie, jak wyłączyć ponowne przesyłanie !?
kroki do odtworzenia w C++:
1) sporządzić świat cześć i ręcznie ustawić jego adres bazowy (właściwości) do powiedzmy 0x1000000
2) dokonać drugiego projektu i obejmują świat powitania do zasoby. Ustaw również ręcznie swój adres bazowy jak powyżej.
3) budować drugi projekt
4), wyciąg exe z zasobów i sprawdzić go za pomocą edytora Pe! zostaje przywrócona do 0x400000. Czemu?!
według http://msdn.microsoft.com/en-us/library/hh7adf4f.aspx, możesz mieć problem z konfiguracją: proszę dodać parametry linkera . W każdym razie myślę, że jest mnóstwo programów, które mogą rebase PE, więc może rozważyć spróbować także ... –
editbin.exe o ile rozumiem, jest zewnętrzny program, który można uruchomić po kompilacji. Przebudowa nagłówka PE nie będzie miała żadnego wpływu na powyższą sytuację. Tęskniłeś za tym punktem. – Ray
Ani kompilator zasobów, ani interfejsy API zasobów nie wiedzą o plikach EXE. Traktują je tak samo jak kroplę bajtów. W związku z tym nie mogą nic zrobić, aby zmienić adres bazowy. Problem leży gdzie indziej. –