Learning Radare2 The last few days have been hectic because family. Even so, I managed to spend some time modifying Crossbow, my own RSS/ATOM reader, so that it uses Mini-xml instead of libmrss/libnxml. I think I wrote on this topic before, but the long story short is that I'm planning since long time to ditch libmrss/libnxml in favour of Mini-xml. I wrote a library named libeccio on the top of Mini-xml, and I'm trying to integrate it into Crossbow. The thing is not technically difficult, but it takes forever because family. I eventually managed to make it work! While running casual quality checks on the result, I figured the compiled binary embeds the filesystem paths where it was built. Classic issue, usually breaking reproducible builds, and often due to the use of the __FILE__ macro. I noticed the problem persists even after changing the code so that __FILE__ is not used, but I couldn't trivially figure out what kept adding it. The right tool for the job is a disassembler with xref support. I heard of Ghidra before, and I managed to get my answer in a couple of clicks on a very 90's Java GUI. In case you're curious, the problem was caused by a UTHash macro using assert(3). This whole story woke up my interest in binary analysis, and I even if the answer came from Ghidra, I started to be intrigued by Radare2. I suppose it qualifies as the most baroque software I've ever seen, but I find it fascinating. I found this article very good: https://www.megabeets.net/a-journey-into-radare-2-part-1