28 June 2012

String dalam memori

Andaikan x ada array of char dan
*x='saya'
ini bermaksud

x[0] = 's' ; >> 0x73 << dlm python : hex(ord('s'))
x[1] = 'a' ; >> 0x61
x[2] = 'y' ; >> 0x79
x[3] = 'a' ; >> 0x61

dalam memori:
alamatdata
0x904F000
73
0x904F001
61
0x904F002
79
0x904F003
61
Perhatikan: data dalam memori tak terbalik pun, berbanding kalau type adalah dword, atau word(artikel sebelum ni)

Jadi kalau panggil ReadProcessMemory
-pada alamat 0x904F000
-sebanyak 4 byte
-hasil >> 0x73617961

dalam kes ni tak perlu nak reverse alamat (or anything yg related to LITTLE-ENDIAN) sebab char adalah 1 byte.

No comments:

Post a Comment

Terima kasih