2016-05-01 11 views
2

In der ausführbaren Datei bin ich Reverse-Engineering, gibt es mehrere Verweise auf einen Pfad in meinem D:\ drive. Ich habe jedoch keine D:\ drive verbunden. Ist es möglich, dass es eine temporäre Speicherstelle erstellt in die ausführbare Datei?IDA Pro: Reverse-Engineering Temp Speicher

Zum Beispiel gibt es eine Zeichenfolge:

D:\BuildAgent\...\bin\...\fileIWantToSee.jpg 

IDA glaubt sogar, dass die Symbolinformation in dem Laufwerk D ist, und versucht, es zu suchen, ohne Erfolg. Es gibt viele Fälle von Dateireferenzen innerhalb dieser Strings, und viele von ihnen mit einem Ende:

Line: **LINENUMBER** 

Wo würde ich zu versuchen, gehen zu finden, wo dieser Speicher ist? Vielen Dank!

EDIT: Könnte es in einem bestimmten Abschnitt sein?

+0

Es kann auch sein, dass dies Verweise auf Pfade * auf der Maschine des Entwicklers * sind (nicht verwendet, nur für Debug-Zwecke), insbesondere wenn sie in der ausführbaren Datei und nicht in der Laufzeit generierten Speicher sind. Wenn wir tatsächlich über Runtime-Set-Pfade sprechen, und es ist ein simulierter Speicher wie in der Antwort von Eugene vorgeschlagen, dann könnten Sie entweder nur den Speicher nach Strings durchsuchen, die in JPEG-Dateien vorkommen (zum Beispiel enthalten sie oft 'JFIF' oder 'Exif', beginnen mit Bytes' FF D8' und enden mit Bytes 'FF D9'), oder Sie könnten eine DLL schreiben, die GetOpenFileName aufruft und jede ausgewählte Datei exportiert mit [...] – CherryDT

+0

[...] Ihren eigenen Code um den Inhalt in eine andere Datei außerhalb dieses Pfades zu schreiben und die DLL in den Prozess zu injizieren. Angenommen, es handelt sich um ein System wie Eugene, sollte es Ihnen ermöglichen, die Datei außerhalb des versteckten Bereichs zu "kopieren". – CherryDT

+0

Eigentlich, jetzt, da ich Ihre Frage noch einmal gelesen habe, ist es sehr wahrscheinlich, dass dies Teil von Assertions ist, die den Dateipfad _der Quelldatei auf dem Computer des Programmautors enthalten, nicht deins_ und die Zeilennummer der Codezeile, in der die Assertion steht erledigt. Es gibt also keine Möglichkeit, zu diesen Dateien zu gelangen, sie existieren überhaupt nicht auf Ihrem Computer. Sag mal, ist die Dateiendung der betreffenden Datei wirklich '.jpg'? Oder vielleicht etwas wie '.pas' oder' .cpp'? Dies würde meine Theorie unterstützen. – CherryDT

Antwort

1

Ist es möglich, dass es eine temporäre Speicherstelle in der ausführbaren Datei erstellt?

Dies ist möglich. Es gibt mindestens ein Produkt (http://www.boxedapp.com/, eine Art unseres Mitbewerbers :), mit dem die Anwendung einen solchen Container erstellen kann - die Aufrufe von Datei-APIs werden von dem von diesem Produkt zur Anwendung hinzugefügten Code abgefangen, und dieser hinzugefügte Code verarbeitet bestimmte Pfade in eine andere Möglichkeit (Dateioperationen emulieren), wobei alle anderen Aufrufe an die Windows API übergeben werden.