ES_DiVerify
ES_DiVerify (in libogc ES_Identify, ioctl 0x1C) ist ein Befehl des ES-Moduls von IOS. Er prüft Ticket und TMD eines Titels und übernimmt anschließend dessen Identität: IOS setzt UID und GID des PowerPC-Prozesses auf die Werte aus der TMD. Der Code auf dem PPC läuft danach mit den Rechten dieses Titels und darf zum Beispiel dessen Dateien im NAND lesen und schreiben.
Gedacht ist der Befehl für das Laufwerksmodul DI, das ihn beim Öffnen einer Spielpartition aufruft. DI bekommt dabei ein Handle auf den entschlüsselten Title-Key und die Content-Hashes aus dem TMD zurück. Homebrew-Software übernimmt die Rechte eines fremden Titels - meist die des Systemmenüs - indem sie dessen Ticket und TMD übergibt. In Verbindung mit dem Trucha Bug, der die Signaturprüfung aushebelt, lässt sich die Identität eines beliebigen Titels annehmen.
Die IOS-Updates vom 23. Oktober 2008, welche v.a. den Trucha Bug behoben, führten auch Beschränkungen für ES_DiVerify ein: ES vergleicht nun die UID des Aufrufers und nimmt den Befehl nur noch von DI an. Software auf dem PPC bekommt -1017 (ES_EINVAL) zurück. Dasselbe gilt für den verwandten Befehl ES_DiVerifyWithTicketView (0x3B). Viele Custom IOS sowie Patches, die on-the-fly über HW_AHBPROT eingespielt werden, entfernen diesen Vergleich wieder.