c ++ Visual Studio 2010 Exe in der Ressource erhalten Rebased?

8

Hat jemand bemerkt, dass wenn Sie eine Exe als Ressource importieren, wird es rebased und scheint auch, dass seine PE-Header neu aufgebaut wird?

Es gibt Zeiten, in denen das irritiert. Weiß jemand, wie man das Rebasing deaktiviert!?

Schritte zum Reproduzieren in C ++:

1) Kompiliere eine Hallo-Welt und setze die Basisadresse (in den Eigenschaften) auf 0x1000000

2) Machen Sie ein zweites Projekt und schließen Sie die Hallo Welt in Ressourcen ein. Stellen Sie auch die Basisadresse wie oben beschrieben manuell ein.

3) Baue zweites Projekt

4) Extrahiere die EXE aus den Ressourcen und überprüfe sie mit einem Pe-Editor! Es wird auf 0x400000 zurückgesetzt. Warum?!

    
Ray 27.09.2011, 05:45
quelle

2 Antworten

1

Wie fügen Sie die EXE als Ressource in das zweite Projekt ein?

Mit diesen definiert:

%Vor%

Wenn ich die ausführbare Datei in meiner RC-Datei als Verweis auf die ursprüngliche Datei referenziere, z. B .:

%Vor%

Nach der Extraktion wird meine eingebettete EXE-Ressource nicht rebasiert, sondern behält bei, womit ich sie erstellt habe.

    
Joe 04.10.2011, 16:37
quelle
0

Sie könnten an einem Binär-Builder interessiert sein, der Ihre EXE-Datei als ein Array ohne Vorzeichen char [] verdeckt. Auf diese Weise hat VisualStudio keine Chance, auf Ihre Ressourcen zuzugreifen.

Zum Beispiel: Ссылка

    
xryl669 25.01.2012 16:35
quelle

Tags und Links