radareorg / radare2

UNIX-like reverse engineering framework and command-line toolset
https://www.radare.org/
GNU Lesser General Public License v3.0
20.38k stars 2.97k forks source link

Kill section.c (iosections) #12701

Closed Maijin closed 5 years ago

Maijin commented 5 years ago

We need to kill section.c (iosections):

$ git grep r_io_section libr| grep -v /io/| grep  -v /include
libr/core/cbin.c:                   r_io_section_add (r->io, section->paddr, addr,
libr/core/cbin.c:       r_io_section_apply_bin (r->io, r->bin->cur->id, R_IO_SECTION_APPLY_FOR_ANALYSIS);
pmb:radare2 pancake$
radare commented 5 years ago

I have removed ALL the uses of RIOSection except the 2 pending function calls which are needed for RBin to work, because rbin uses iosection to notify io which maps to raise.. which seems a bit ridiculous and wrong its the last barrier to completly kill iosection. pls @ret2libc take a look at this so we can discuss for proper rbin fix

ret2libc commented 5 years ago

Ok I will.

Maijin commented 5 years ago

There is also still:

libr/io/desc.c: r_io_section_cleanup (io);
libr/io/desc.c: r_io_section_cleanup (io);
libr/io/io.c:   r_io_section_init (io);
libr/io/io.c:   r_io_section_fini (io);
libr/io/io.c:   r_io_section_init (io);
libr/io/io.c:   bnd->section_add = r_io_section_add;
libr/io/io.c:   r_io_section_fini (io);

And ofc sections.c itself to be checked

ret2libc commented 5 years ago

done

Maijin commented 5 years ago

Amazing!