you can avoid this problem it by creating new files instead of
rewriting the same file (so new dlopen calls will open the correct
library).
BTW I think that libraries could also be mapped as private instead of
shared, so changes on the .so will not affect the running program with
the loaded library.

2008/5/21 pancake <[EMAIL PROTECTED]>:
> On Wed, 2008-05-21 at 12:38 +0200, sha0 sha0 wrote:
>> Hi,
>>
>> If radare is being used, and then apply changes with "make install",
>> when radare tryes to do a debug_close() a segfault will appear.
>>
>
> Thats not a bug, thats normal. this happens with all dynamic libraries,
> they are mapped in memory, so any disk change will alter all the running
> process with dlopened files.
>
> I dont know if it's exploitable, but is cool :)
>
> I found this 'feature' few days while working with gstreamer pipelines
> and reinstalling plugins on top of one of the running ones. Producing
> random segmentation faults and exceptions. (maybe putting a
> fullbreakpointed library will make the process trap) :)
>
> Did you ever played with this? Looks interesting .. dynamic library code
> injection in runtime. ;)
>
>> The cause is this Makefile's line:
>>
>> -cp -rf src/plug/hack/*.${SHARED_EXT} ${LIBDIR}/radare
>
>
> I have changed the ABI, so you need to make clean before.
>
> --pancake
> _______________________________________________
> radare mailing list
> [email protected]
> http://lists.nopcode.org/listinfo.cgi/radare-nopcode.org
>



-- 
====
jid: [EMAIL PROTECTED]
_______________________________________________
radare mailing list
[email protected]
http://lists.nopcode.org/listinfo.cgi/radare-nopcode.org

Reply via email to