2012-09-06 15 views
23

iniziare il debug remoto di un progetto C++ oggi su una macchina Win 7 in esecuzione in VMWare ed era stupito di vedere il seguente modello su una posizione di memoria casuale:Schemi visivi in ​​memoria?

enter image description here

Chi potrebbe codificare questo (che non sono io!) e per quale motivo ?? Solo curioso se qualcuno ha visto qualcosa di simile.

+5

Sì, d'accordo. Sembrano maschere di colore a livello di grigio per quattro zeri. Può essere semplicemente lasciato da un vecchio buffer bitmap. Non preoccuparti se non inizi a vedere 'QQ' e' = P' appaiono ovunque. Quindi, dovresti sospettare che HAL9000 abbia problemi con la tua app. – paddy

+3

Almeno non è un logo per un gruppo di hacker in bundle con un rootkit. – tadman

+0

Questo è un fantastico esempio di come l'analisi della frequenza può sconfiggere l'offuscamento. – Mehrdad

risposta

22

Sembra una maschera renderizzata per un font (ogni carattere in un font (carattere tipografico + dimensione + stile) viene visualizzato una volta in memoria, quindi applicato alla superficie di output) utilizzando 8bpp, il che suggerisce che hai font anti-alias abilitato.

Suppongo che il tuo progetto riguardi una GUI, potresti cercare un'area di memoria condivisa che GDI utilizza per la memorizzazione di caratteri rasterizzati.

In caso contrario, questa potrebbe essere la memoria rimanente di un processo o componente del sistema operativo precedente non azzerato prima di essere utilizzato dall'applicazione.

+6

Forse l'hanno azzerato un po 'troppo bene. –

6

È difficile da dire. Probabilmente la memoria utilizzata per bufferizzare alcuni font (in questo caso, zeri), o persino i contenuti della stampante o dello schermo bufferizzati.

+0

È improbabile che provenga da un buffer di schermate o finestre perché è 8bpp. – Dai

+1

Bene, assumendo un display moderno, hai ragione. Ho aggiornato la mia risposta per includere le stampanti. –

+0

Fantastico, grazie! Certo, come potrei mancarlo. Ho pensato che stavo impazzendo quando l'ho visto per la prima volta :) troppo debugging :) – Isso