2012-09-06 15 views
23

Betrieb genommen Fern ein C++ Projekt auf einer in VMWare Win 7 Maschine heute Debuggen und war erstaunt, das folgende Muster auf einer zufällige Speicherstelle, um zu sehen:Visuelle Muster im Speicher?

enter image description here

Wer diesen Code könnte (es bin nicht ich!) und aus welchem ​​Grund ?? Ich bin nur neugierig, ob jemand so etwas gesehen hat.

+5

Ja, einverstanden. Diese sehen wie graue Farbmasken für vier Nullen aus. Es kann sich nur um einen Rest eines alten Bitmap-Puffers handeln. Machen Sie sich keine Sorgen, es sei denn, Sie sehen, dass 'QQ' und' = P' überall erscheinen. Dann sollten Sie vermuten, dass HAL9000 Ihre App durcheinander bringt. – paddy

+3

Zumindest ist es kein Logo für eine Hacker-Gruppe, die mit einem Rootkit verbunden ist. – tadman

+0

Dies ist ein hervorragendes Beispiel dafür, wie die Frequenzanalyse die Verschleierung verhindern kann. – Mehrdad

Antwort

22

Es sieht aus wie ein übertragenes Maske für eine Schriftart (jedes Zeichen in einer Schriftart (Schriftart + size + style) einmal im Speicher wiedergegeben, Blitted dann zu der Ausgangsfläche) 8bpp verwenden, was darauf hindeutet, Sie Schriftart haben Anti-Aliasing aktiviert.

Ich gehe davon aus, dass Ihr Projekt eine grafische Benutzeroberfläche enthält. Möglicherweise suchen Sie einen freigegebenen Speicherbereich, den GDI zum Speichern gerasterter Schriftarten verwendet.

Wenn nicht, dann ist dies möglicherweise nur übrig gebliebener Speicher von einem früheren Prozess oder einer OS-Komponente, die nicht auf Null gesetzt wurde, bevor sie von Ihrer Anwendung verwendet wurde.

+6

Vielleicht haben sie es ein wenig zu gut auf Null gesetzt. –

6

Es ist schwer zu sagen. Möglicherweise wird Speicher verwendet, um einige Schriftarten (in diesem Fall Nullen) oder sogar gepufferte Drucker oder Bildschirminhalte zu puffern.

+0

Es ist unwahrscheinlich, dass es von einem Bildschirm oder Fensterpuffer kommt, weil es 8bpp ist. – Dai

+1

Nun, ein modernes Display vorausgesetzt, haben Sie recht. Ich habe meine Antwort aktualisiert, um Drucker hinzuzufügen. –

+0

Super, danke! Wie könnte ich es natürlich vermissen? Ich dachte, ich werde verrückt, als ich es zum ersten Mal sah :) Zu viel Debugging :) – Isso