ich mit dem Chrome Native Client zu tun habe und einige Schwierigkeiten in den folgenden Punkten haben:Native Client Innen-/Außen Sandbox
Wie ich bisher verstanden, die ersten 64 KB des 256MB Nacl Segment gewidmet in die innere Sandbox. Diese innere Sandbox enthält das Trampolin und das Sprungbrett, die vom vertrauenswürdigen Code zum nicht vertrauenswürdigen Code und umgekehrt kommunizieren. Wenn ich in diesen ersten 64 KB bin, kann ich in die Mitte von 32 Byte Anweisungen springen? Zum Beispiel, wenn ich einen 32-Byte-Befehl im Trampolin habe, kann ich von diesem Instrument in die Mitte eines 32-Byte-Blocks im Trampolin springen (nicht 32 Bytes ausgerichtet)? Sind alle Anweisungen im Trampilin und im Sprungbrett ebenfalls 32 Byte ausgerichtet?
Kann ich kombinieren mehrere x86-Befehle in einen 32 Byte Nacl Befehl ausgerichtet (zum Beispiel setzen UND 0xffffffe0% eax und JMP EAX in einem 32-Byte-ausgerichtet Nacl-Befehl).
Ich habe verstanden, dass die Service-Laufzeit mit Prozess-Erstellung, Speicher-Management usw. befasst ist und dass über das Trampolin zugegriffen wird, wie genau der Trampolin-Befehl auf die Service-Laufzeit zugreift? wo befindet sich die Service-Laufzeit in der Speicherplattform? Wenn die Dienstlaufzeit beendet ist, kann auf nicht 32-Byte-Ausrichtung im Sprungbrett zugegriffen werden?
Was ist die eigentliche Aufgabe der äußeren Sandbox? Wie überwacht und filtert er die Systemaufrufe? Wenn es einen Fehler im Validator der inneren Sandbox gibt, in welchen Fällen kann er einen illegalen/bösartigen Befehl auffangen?
Vielen Dank an all