Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Memoria in linux

  1. #1

    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:

    codice:
    perl -e'
    $a = 222;
    $b = <stdin>;'
    e dando

    codice:
    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.

  2. #2
    Quel comando ti da gli indirizzi delle regioni di mappatura, non il loro contenuto...

    http://linux.die.net/man/5/proc

    Inoltre, dato che non puoi sapere a priori dove viene creata una variabile (specialmente nei linguaggi interpretati). Devi andare giù di C, che gestisce la memoria a basso livello, anche se non so se interferire con altri processi possa portare ad un segmentation fault oppure no.

    Se ne parla, comunque, in questo thread

    Daniele
    Non abbiamo ereditato il mondo dai nostri padri.
    L'abbiamo preso in prestito dai nostri figli.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.