Newsgroup: it.comp.os.linux.development
Titolo: Memoria in linux

Salve sto cerando di realizzare un CheatEngine in python...
Dovendo edittare la memoria mi sono trovato ad esaminareil file
/prox/xxxx/maps dove xxxx č il PID del processo, ma non sono riuscito a
trovare i valori delle variabili: mi spiego meglio.
Ad esempio lanciato questo comando:
Code:
--------------------
 
  perl -e'
  $a = 222;
  $b = <stdin>;'
 
--------------------
e dando 
Code:
--------------------
 
  federico@crashoverflow:~$ cat /proc/`pidof perl`/maps
  08048000-0814d000 r-xp 00000000 08:04 49927      /usr/bin/perl
  0814d000-08151000 rw-p 00104000 08:04 49927      /usr/bin/perl
  08151000-08195000 rw-p 08151000 00:00 0          [heap]
  b7c0f000-b7c30000 rw-p b7c0f000 00:00 0 
  b7c30000-b7c6f000 r--p 00000000 08:04 133685     /usr/lib/locale/it_IT.utf8/LC_CTYPE
  b7c6f000-b7d50000 r--p 00000000 08:04 133688     /usr/lib/locale/it_IT.utf8/LC_COLLATE
  b7d50000-b7d51000 rw-p b7d50000 00:00 0 
  b7d51000-b7d5a000 r-xp 00000000 08:04 820672     /lib/tls/i686/cmov/
libcrypt-2.7.so
  b7d5a000-b7d5c000 rw-p 00008000 08:04 820672     /lib/tls/i686/cmov/
libcrypt-2.7.so
  b7d5c000-b7d83000 rw-p b7d5c000 00:00 0 
  b7d83000-b7ecc000 r-xp 00000000 08:04 820668     /lib/tls/i686/cmov/
libc-2.7.so
  b7ecc000-b7ecd000 r--p 00149000 08:04 820668     /lib/tls/i686/cmov/
libc-2.7.so
  b7ecd000-b7ecf000 rw-p 0014a000 08:04 820668     /lib/tls/i686/cmov/
libc-2.7.so
  b7ecf000-b7ed2000 rw-p b7ecf000 00:00 0 
  b7ed2000-b7ee6000 r-xp 00000000 08:04 820694     /lib/tls/i686/cmov/
libpthread-2.7.so
  b7ee6000-b7ee8000 rw-p 00013000 08:04 820694     /lib/tls/i686/cmov/
libpthread-2.7.so
  b7ee8000-b7eeb000 rw-p b7ee8000 00:00 0 
  b7eeb000-b7f0e000 r-xp 00000000 08:04 820676     /lib/tls/i686/cmov/
libm-2.7.so
  b7f0e000-b7f10000 rw-p 00023000 08:04 820676     /lib/tls/i686/cmov/
libm-2.7.so
  b7f10000-b7f12000 r-xp 00000000 08:04 820674     /lib/tls/i686/cmov/
libdl-2.7.so
  b7f12000-b7f14000 rw-p 00001000 08:04 820674     /lib/tls/i686/cmov/
libdl-2.7.so
  b7f16000-b7f17000 r--p 00000000 08:04 133686     /usr/lib/locale/it_IT.utf8/LC_NUMERIC
  b7f17000-b7f18000 r--p 00000000 08:04 133687     /usr/lib/locale/it_IT.utf8/LC_TIME
  b7f18000-b7f19000 r--p 00000000 08:04 133689     /usr/lib/locale/it_IT.utf8/LC_MONETARY
  b7f19000-b7f1a000 r--p 00000000 08:04 133691     /usr/lib/locale/it_IT.utf8/LC_MESSAGES/SYS_LC_MESSAGES
  b7f1a000-b7f1b000 r--p 00000000 08:04 133692     /usr/lib/locale/it_IT.utf8/LC_PAPER
  b7f1b000-b7f1c000 r--p 00000000 08:04 133693     /usr/lib/locale/it_IT.utf8/LC_NAME
  b7f1c000-b7f1d000 r--p 00000000 08:04 133694     /usr/lib/locale/it_IT.utf8/LC_ADDRESS
  b7f1d000-b7f1e000 r--p 00000000 08:04 133695     /usr/lib/locale/it_IT.utf8/LC_TELEPHONE
  b7f1e000-b7f1f000 r--p 00000000 08:04 133696     /usr/lib/locale/it_IT.utf8/LC_MEASUREMENT
  b7f1f000-b7f26000 r--s 00000000 08:04 893169     /usr/lib/gconv/gconv-modules.cache
  b7f26000-b7f27000 r--p 00000000 08:04 133697     /usr/lib/locale/it_IT.utf8/LC_IDENTIFICATION
  b7f27000-b7f29000 rw-p b7f27000 00:00 0 
  b7f29000-b7f2a000 r-xp b7f29000 00:00 0          [vdso]
  b7f2a000-b7f44000 r-xp 00000000 08:04 802835     /lib/
ld-2.7.so
  b7f44000-b7f46000 rw-p 00019000 08:04 802835     /lib/
ld-2.7.so
  bfcff000-bfd14000 rw-p bffeb000 00:00 0          [stack]
  federico@crashoverflow:~$ 
 
 
--------------------
non ho trovato 222 da nessuna parte...
come posso fare a trovare quel valore?
come posso modificarlo?
Grazie.
-- 
CrashOverflow
------------------------------------------------------------------------
CrashOverflow's Profile: 
http://www.linuxforum.it/member.php?userid=1273
View this thread: 
http://www.linuxforum.it/showthread.php?t=23733

 trovare i valori delle variabili: mi spiego meglio.
Perche` quel file ti dice quali blocchi di RAM (virtuale) vengono allocati 
dal tuo processo, quanto grossi sono, quali permessi di accesso hanno e 
quale "applicazione" (le librerie condivise, in pratica, oltre al tuo 
codice e all'interprete) l'ha allocata.
Ma non il loro contenuto.
Se vuoi vedere l'immagine (sempre virtuale) della RAM del processo devi 
guardare /proc/pid/mem, per esempio con un editor esadecimale. 
Bye.