rizinorg / ideas

Features that would be nice to have but they are not in the roadmap
3 stars 0 forks source link

Rizin/Cutter integration/cooperation with GNU Poke #48

Open XVilka opened 1 year ago

XVilka commented 1 year ago

http://www.jemarch.net/poke

GNU poke is an interactive, extensible editor for binary data. Not limited to editing basic entities such as bits and bytes, it provides a full-fledged procedural, interactive programming language designed to describe data structures and to operate on them.

,----
| (poke) dump
| 76543210  0011 2233 4455 6677 8899 aabb ccdd eeff  0123456789ABCDEF
| 00000000: 7f45 4c46 0201 0100 0000 0000 0000 0000  .ELF............
| 00000010: 0100 3e00 0100 0000 0000 0000 0000 0000  ..>.............
| 00000020: 0000 0000 0000 0000 0802 0000 0000 0000  ................
| 00000030: 0000 0000 4000 0000 0000 4000 0b00 0a00  ....@.....@.....
| 00000040: 5548 89e5 b800 0000 005d c300 4743 433a  UH.......]..GCC:
| 00000050: 2028 4465 6269 616e 2036 2e33 2e30 2d31   (Debian 6.3.0-1
| 00000060: 382b 6465 6239 7531 2920 362e 332e 3020  8+deb9u1) 6.3.0 
| 00000070: 3230 3137 3035 3136 0000 0000 0000 0000  20170516........
| (poke) load elf
| (poke) var ehdr = Elf64_Ehdr @ 0#B
| (poke) ehdr.e_ident
| struct {
|   ei_mag=[0x7fUB,0x45UB,0x4cUB,0x46UB],
|   ei_class=0x2UB,
|   ei_data=0x1UB,
|   ei_version=0x1UB,
|   ei_osabi=0x0UB,
|   ei_abiversion=0x0UB,
|   ei_pad=[0x0UB,0x0UB,0x0UB,0x0UB,0x0UB,...],
|   ei_nident=0x0UB#B
| }
`----