Wie kann ich Datei-E / A-Vorgänge eines Prozesses in den Speicher oder in eine andere Datei umleiten?

495
anddero

Nehmen wir an, ich habe eine Datei namens file.txt und einen laufenden Prozess mit PID 12345, der manchmal liest und manchmal in diese Datei schreibt.

  1. Gibt es eine Möglichkeit, den Prozess mit PID 12345 zu täuschen, um zu lesen oder in den Speicher zu schreiben (von einem anderen Prozess zugewiesen), jedes Mal, wenn versucht wird, in file.txt zu lesen oder zu schreiben ?

  2. Gibt es eine Möglichkeit, den Prozess zum Narren zu bringen und in eine andere Datei zu schreiben (wie file2.txt )?

Unter Windows .

Gleiche Frage für Unix / Linux.

0
Die einfache E / A-Umleitung ist in Unix / Linux und Windows ähnlich. Etwas wie das, was Sie wollen, wenn es überhaupt möglich ist, wird wahrscheinlich sehr unterschiedlich sein. Ich schlage vor, dass Sie diese Frage so bearbeiten, dass sie nur Windows verwendet, und eine zweite, ausschließlich Linux-Frage stellen, und diese verknüpfen. Die Linux-Frage könnte auf [Unix & Linux Stack Exchange] (https://unix.stackexchange.com) besser abschneiden. Scott vor 7 Jahren 0
[Sie müssen den Aufruf der Windows-API einhaken] (https://software.intel.com/en-us/articles/intercepting-system-api-calls) Евгений Новиков vor 7 Jahren 0
Wenn Sie gelernt haben, wie Sie eine Datei ersetzen können, können Sie [RAMdisk] verwenden (https://www.tekrevue.com/tip/create-10-gbs-ram-disk-windows/). Евгений Новиков vor 7 Jahren 0

0 Antworten auf die Frage