Wenn ich den strings
Befehl für die ausführbare Datei in den meisten OS X-Apps (• .app/Contents/MacOS/
•) ausführe, erhalte ich eine Liste mit Routinennamen, möglichen versteckten Einstellungen usw. Wenn ich den Befehl für die ausführbare Dock-Datei ausführe, erhalte ich Datenmüll. Was unterscheidet die ausführbare Dock-Datei von den meisten anderen Mac-Programmen?
Dies liegt daran, dass viele OS X-Binärdateien verschlüsselt sind. Sie werden in Echtzeit von „Don't Steal Mac OS X.kext“ in Ihrem /System/Library/Extensions entschlüsselt. Ich weiß nicht, warum Apple das macht. Der Get-Info-String der Datei:
Der Zweck dieser Apple-Software besteht darin, urheberrechtlich geschütztes Material von Apple vor unbefugter Vervielfältigung und Verwendung zu schützen. Sie dürfen diese Datei weder ganz noch teilweise kopieren, modifizieren, zurückentwickeln, öffentlich anzeigen, öffentlich aufführen, unterlizenzieren, übertragen oder weiterverteilen. Wenn Sie eine Kopie dieser Apple-Software erhalten haben und keine gültige Lizenz von Apple haben, um sie zu verwenden, zerstören oder löschen Sie sie bitte sofort von Ihrem Computer.
Es ist sehr üblich, ein Programm zu komprimieren und zu reduzieren, das ein wesentlicher Bestandteil des Systems ist und die ganze Zeit läuft.
Zeichenfolgen werden zur Erleichterung des Debuggings belassen, beanspruchen jedoch zusätzlichen Speicherplatz, den der Computer beim Ausführen nicht benötigt. Es ist immer ein Kompromiss, zu entscheiden, ob Debugging-Informationen aus einer ausführbaren Datei entfernt werden sollen, aber in diesem Fall (oder im Kernel oder anderen Kernfunktionen) kann dies dazu dienen, die Ausführungsgeschwindigkeit zu optimieren, unabhängig davon, ob es das Debuggen oder Poken etwas schwieriger macht oder nicht im Inneren eines Programms.
Wir werden den Grund dafür wahrscheinlich nicht kennen, aber es ist üblich, Apps im Laufe der Zeit zu testen und diejenigen auszuwählen, die die meiste CPU-Zeit verbrauchen, sodass Sie nur den Code optimieren, der dies erfordert, anstatt alles zu optimieren .
bot47
Lri