15 June 2012

unicode kepada shellcode

biasa jumpa dalam javascript
%u16eb%u41b9%f4de

Ia adalah unicode, bersaiz 16 bit(2Byte)

Oleh kerana x86 adalah little-endian, so kalau dilihat dalam virtual memory akan jadi spt berikut:
eb 16 b9 41 de f4

extra:
dlm memory, 1 location(address) boleh isi 8 bit. 
Contoh 
  • alamat 13df000 : eb
  • alamat 13df001 : 16
  • alamat 13df002 : b9
  • alamat 13df003 : 41
  • alamat 13df004 : de
  • alamat 13df005 : f4

Dulu I wonder kenapa %u16eb jadi [eb 16]? org kata little-endian, so kena terbalikkan. Tapi kenapa [eb] tu tak diterbalikkan jadi [be] plak? Maknanya instead of [eb 16], jadi [be 61]?

Rupanya little-endian ni hanya pada susunan alamat memori je. Tapi 8 bit yg dlm alamat tersebut tetap sama je.

No comments:

Post a Comment

Terima kasih