Original-URL des Artikels: https://www.golem.de/news/linux-reverse-engineering-unter-windows-fuer-nouveau-1401-104248.html    Veröffentlicht: 29.01.2014 15:45    Kurz-URL: https://glm.io/104248

Linux

Reverse Engineering unter Windows für Nouveau

Einer der Nouveau-Entwickler hat eine Bibliothek zum PCI-Zugriff auf Windows portiert. So kann er Informationen über Nvidia-Karten erlangen, die nur unter Windows zur Verfügung stehen.

Für den Nouveau-Entwickler Samuel Pitoiset war es problematisch, an Informationen über die Graphic Counter der Nvidia-Tesla-Architektur heranzukommen: Diese lassen sich nur unter Windows mit Nvidias NVPerfkit abgreifen. Um die gewohnten Werkzeuge zum Reverse Engineering zu nutzen, portierte Pitoiset deshalb einfach die Bibliothek Libpciaccess. Den Patch dazu stellt der Entwickler nun bereit.

Die Nouveau-Entwickler nutzen die Envytools für ihre Arbeiten. Diese wiederum basieren auf Libpciaccess, über die direkt auf den PCI-Bus und -Geräte zugegriffen werden kann. Allerdings ist die Bibliothek nur auf Posix-Plattformen verfügbar, weshalb Pitoiset diese nun auf Windows portierte und mittels Cygwin nutzt. Eine Verwendung von MinGW (Minimalist GNU for Windows) hält der Pitoiset ebenfalls für möglich.

Die Portierung hängt außerdem von dem Werkzeug WinIO ab, mit dem sich auf die Ein- und Ausgabeports sowie auf Speicher unter Windows zugreifen lässt. Eine kurze Anleitung zur Verwendung der Bibliotheken findet sich im Quellcode-Repository von Libpciaccess. Getestet hat Pitoiset seine Portierung bisher aber nur mit der 32-Bit-Ausgabe von Windows 7, eine Testphase auf einem 64-Bit-System steht noch aus.

Pitoiset arbeitete in Googles Summer of Code 2013 an dem Reverse Engineering von Nvidias Tesla. Die Dokumentation der dabei erzielten Ergebnisse ist im Github-Repository des Entwicklers verfügbar. Dort finden sich auch Anfänge zur Dokumentation von Fermi und Kepler - den neueren Chips von Nvidia.  (sg)


Verwandte Artikel:
Geforce Partner Program: Nvidia soll Grafikkarten-Exklusivität erzwingen   
(09.03.2018, https://glm.io/133253 )
Betriebssysteme: Linux 4.16 schließt weitere Spectre- und Meltdown-Lücken   
(13.02.2018, https://glm.io/132729 )
Librem 5: Purism-Smartphone bekommt Smartcard für Verschlüsselung   
(09.03.2018, https://glm.io/133248 )
Bilderkennung: Roboter löst Rubik's Cube in 380 Millisekunden   
(08.03.2018, https://glm.io/133228 )
Lizenzbestimmungen: Linux-Kläger zieht Antrag gegen Elektronikhersteller zurück   
(08.03.2018, https://glm.io/133215 )

© 1997–2019 Golem.de, https://www.golem.de/