Umbasieren - Rebasing
In der Datenverarbeitung ist Rebasing der Prozess des Modifizierens von Daten basierend auf einem Verweis auf einen anderen. Es kann einer der folgenden sein:
Rebasing ist der Prozess, ein Shared-Library- Image so zu erstellen , dass es garantiert virtuellen Speicher verwendet, ohne mit anderen im System ladbaren Shared-Libraries in Konflikt zu geraten .
IBM VM/370 diskontinuierlich gespeicherte Segmente (DCSS) waren ein frühes Beispiel für diese Technik, die jedoch nicht als Rebasing bezeichnet wird . Die Technik wird häufig auf Win32- Plattformen verwendet, um den Overhead der Adressverlagerung von System- DLLs durch das Ladeprogramm zu vermeiden .
Einige Sicherheitserweiterungen für Linux / x86 verwenden Rebasing, um die Verwendung der folgenden Codeadressen zu erzwingen 0x00ffffff
, um ein 0x00
Byte in alle Codezeiger einzufügen ; Dadurch wird eine bestimmte Klasse von Pufferüberlauf- Sicherheitsproblemen beseitigt, die mit der unsachgemäßen Überprüfung von nullterminierten Strings zusammenhängen , die in der Programmiersprache C üblich sind .
Andere Verwendungen
- Rebasing ist das Verschieben von Änderungsmengen in einen anderen Zweig, wenn ein Revisionskontrollsystem verwendet wird, oder, in einigen Systemen, durch Synchronisieren eines Zweigs mit dem ursprünglichen Zweig durch Zusammenführen aller neuen Änderungen im letzteren mit dem ersteren. Zum Beispiel, Git und Darcs tun dies (aber Darcs erweitert das Konzept und nennt es „Patch - Kommutierung“).
- Der Mechanismus, den das Microsoft Exchange- oder Outlook- Umbasierungstool TZMOVE.EXE für die Sommerzeit (DST) verwendet, um Termindaten neu zu berechnen und neu zu planen, die von DST betroffen sind.
Siehe auch
- Umzug (Computer)
- Positionsunabhängiger Code
- Tragbare ausführbare Datei (PE)
- Hoher Speicherbereich (HMA)
- Dynamische Eliminierung von totem Code
Weiterlesen
- Levine, John R. (2000) [Oktober 1999]. Linker und Loader . Die Morgan Kaufmann Series in Software Engineering and Programming (1 Hrsg.). San Francisco, USA: Morgan Kaufmann . P. 218. ISBN 1-55860-496-0. OCLC 42413382 . Archiviert vom Original am 2012-12-05 . Abgerufen 2020-01-12 .Code: [1] [2] Errata: [3]
- Chen, Raymond (2004-12-17). "Wie hat Windows 95 DLLs umbasiert?" . Das Alte Neue .
- Riemersma, Thiadmer (2000-12-01). "Rebasing von Win32-DLLs" . Dr. Dobbs Tagebuch .
- Mark Baker (2004-03-25). "Optimieren von DLL-Lasten" . Dr. Dobbs Tagebuch .
- Caldato, Claudio (Februar 2006). "Verbesserung der Startzeit von Anwendungen" . MSDN-Magazin . Microsoft-Corporation .
- Biswas, Surupa (Mai 2006). "Die Leistungsvorteile von NGen" . MSDN-Magazin . Microsoft-Corporation .
- Pietrek, Matt (März 2002). "Ein eingehender Blick in das tragbare ausführbare Dateiformat von Win32, Teil 2" . MSDN-Magazin . Microsoft-Corporation .
- Asche, Rüdiger R. (1995-09-18). "Rebasing von Win32-DLLs: Die ganze Geschichte" . Archiviert vom Original am 2011-07-07.
- Robbins, John (2000). Debuggen von Anwendungen: Microsoft . Microsoft-Programmierserie. Microsoft-Presse . S. 34–36. ISBN 978-0-7356-0886-3.
- Thomas, Reji; Reddy, Bhasker (2006-08-14). "Dynamische Verknüpfung in Linux und Windows, Teil zwei" . Symantec Corp .