<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xml:base="http://ibolcode.net/dmo-blog" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" >  <channel>      <atom:link href="http://ibolcode.net/dmo-blog/rss.xml" rel="self" type="application/rss+xml" />
     		              <title>DMO Blog Tempus Fugit</title>
		              <link>http://ibolcode.net/dmo-blog</link>
	                      <description>Security, Programming, Embedded, Linux... Just Hacking</description>
		              <language>en</language><item>
<title>How to unload a LD_PRELOAD library the hard way</title>
<link>http://ibolcode.net/dmo-blog/2025-11-how-to-unload-a-ld-preload-library-the-hard-way</link>
<description>![CDATA[&lt;p&gt;Some days ago in the 0x00sec discord channel, somebody asked how to
remove a library from memory. That person was trying to inject some code
in a program using &lt;code&gt;LD_PRELOAD&lt;/code&gt; to get some code executed
automatically, however, after doing its stuff the library stayed in
memory even after deleting the file in the disk. In other words, it was
still visible in &lt;code&gt;/proc/PID/maps&lt;/code&gt;.&lt;/p&gt;]]</description>
<pubDate>Tue, 25 Nov 2025 00:00:00 +0100</pubDate>
<category>![CDATA[]]</category>
<guid isPermaLink="false">http://ibolcode.net/dmo-blog/2025-11-how-to-unload-a-ld-preload-library-the-hard-way</guid>
<guid isPermaLink="false">/2025-11-how-to-unload-a-ld-preload-library-the-hard-way at http://ibolcode.net/dmo-blog</guid>
</item>
<item>
<title>Java vs C Network Programming. Revisiting Selectors (poll & epoll)</title>
<link>http://ibolcode.net/dmo-blog/2021-06-java-vs-c-network-programming--revisiting-selectors-poll-and-epoll</link>
<description>![CDATA[I have titled this article as java vs C, but it won&#039;t have much java. However, as we will see in a sec Java does not really use &lt;code&gt;select&lt;/code&gt; to implement selectors and therefore I feel like I have to add this extra post for completeness&lt;/p&gt;]]</description>
<pubDate>Tue, 29 Jun 2021 00:00:00 +0200</pubDate>
<category>![CDATA[]]</category>
<guid isPermaLink="false">http://ibolcode.net/dmo-blog/2021-06-java-vs-c-network-programming--revisiting-selectors-poll-and-epoll</guid>
<guid isPermaLink="false">/2021-06-java-vs-c-network-programming--revisiting-selectors-poll-and-epoll at http://ibolcode.net/dmo-blog</guid>
</item>
<item>
<title>GNU/EDMA Tutorial. Objects and Classes</title>
<link>http://ibolcode.net/dmo-blog/2021-06-gnuedma-tutorial--objects-and-classes</link>
<description>![CDATA[&lt;p&gt;GNU/EDMA is library that implements several object oriented features in plain C. Its last version was 0.18.6 and there is a new 0.19.1 which fixes some bugs and is more functional. Version 0.18.6 added some functions that have not been documented elsewhere so I have decided to write a tutorial in case someone wants to use the system&lt;/p&gt;]]</description>
<pubDate>Sat, 19 Jun 2021 00:00:00 +0200</pubDate>
<category>![CDATA[]]</category>
<guid isPermaLink="false">http://ibolcode.net/dmo-blog/2021-06-gnuedma-tutorial--objects-and-classes</guid>
<guid isPermaLink="false">/2021-06-gnuedma-tutorial--objects-and-classes at http://ibolcode.net/dmo-blog</guid>
</item>
<item>
<title>Fixing GNU/EDMA to work on 64bits platforms</title>
<link>http://ibolcode.net/dmo-blog/2021-06-fixing-gnuedma-to-work-on-64bits-platforms</link>
<description>![CDATA[&lt;p&gt;I&#039;m very happy to announce that I have finally updated GNU/EDMA to support 64 bits platforms. Unfortunately I signed off as maintainer earlier this year so I still do not know how to release the update. In any case I will explain in this post what was the problem and how I solved it.&lt;/p&gt;]]</description>
<pubDate>Wed, 09 Jun 2021 00:00:00 +0200</pubDate>
<category>![CDATA[]]</category>
<guid isPermaLink="false">http://ibolcode.net/dmo-blog/2021-06-fixing-gnuedma-to-work-on-64bits-platforms</guid>
<guid isPermaLink="false">/2021-06-fixing-gnuedma-to-work-on-64bits-platforms at http://ibolcode.net/dmo-blog</guid>
</item>
<item>
<title>Java vs C Network Programming. Binary Protocols and Vectorized IO</title>
<link>http://ibolcode.net/dmo-blog/2021-06-java-vs-c-network-programming--binary-protocols-and-vectorized-io</link>
<description>![CDATA[&lt;p&gt;So far we have been using text strings as the basis for our protocols, but sometimes you may be interested in using binary protocols. Overall, a binary protocol is more efficient and depending on your application may be the right choice. However, binary protocols are not that straightforward and have their own peculiarities.&lt;/p&gt;]]</description>
<pubDate>Tue, 01 Jun 2021 00:00:00 +0200</pubDate>
<category>![CDATA[]]</category>
<guid isPermaLink="false">http://ibolcode.net/dmo-blog/2021-06-java-vs-c-network-programming--binary-protocols-and-vectorized-io</guid>
<guid isPermaLink="false">/2021-06-java-vs-c-network-programming--binary-protocols-and-vectorized-io at http://ibolcode.net/dmo-blog</guid>
</item>
<item>
<title>Java vs C Network Programming. Select and Selectors</title>
<link>http://ibolcode.net/dmo-blog/2021-05-java-vs-c-network-programming--select-and-selectors</link>
<description>![CDATA[&lt;p&gt;Single client servers work fine for simple applications but in more complex cases when multiple connections need to be managed at the same time, you will end writing a multi-thread application that takes up much more resources than needed. Let&#039;s see how to write this kind of applications in an efficient way.&lt;/p&gt;]]</description>
<pubDate>Wed, 26 May 2021 22:00:29 +0200</pubDate>
<category>![CDATA[]]</category>
<guid isPermaLink="false">http://ibolcode.net/dmo-blog/2021-05-java-vs-c-network-programming--select-and-selectors</guid>
<guid isPermaLink="false">/2021-05-java-vs-c-network-programming--select-and-selectors at http://ibolcode.net/dmo-blog</guid>
</item>
<item>
<title>Java vs C Network Programming. Java NIO Buffers</title>
<link>http://ibolcode.net/dmo-blog/2021-05-java-vs-c-network-programming--java-nio-buffers</link>
<description>![CDATA[&lt;p&gt;In the previous instalment of this series we built a TCP echo server using standard Java sockets and also the direct operating system syscalls in a C version. Both programs looked very similar. In this instalment we are going to explore the Java NIO package which offers some advantages.&lt;/p&gt;]]</description>
<pubDate>Mon, 24 May 2021 08:12:27 +0200</pubDate>
<category>![CDATA[]]</category>
<guid isPermaLink="false">http://ibolcode.net/dmo-blog/2021-05-java-vs-c-network-programming--java-nio-buffers</guid>
<guid isPermaLink="false">/2021-05-java-vs-c-network-programming--java-nio-buffers at http://ibolcode.net/dmo-blog</guid>
</item>
<item>
<title>C vs Java Network Programming. Echo Server</title>
<link>http://ibolcode.net/dmo-blog/2021-05-c-vs-java-network-programming--echo-server</link>
<description>![CDATA[&lt;p&gt;In my current journey to master Java again I decided to explore network programming as a way to practice. I&#039;m used to code network application in plain old C, so in these posts I will be comparing Java and C so you can have some starting points for your transition in either direction.&lt;/p&gt;
]]</description>
<pubDate>Wed, 19 May 2021 00:00:00 +0200</pubDate>
<category>![CDATA[]]</category>
<guid isPermaLink="false">http://ibolcode.net/dmo-blog/2021-05-c-vs-java-network-programming--echo-server</guid>
<guid isPermaLink="false">/2021-05-c-vs-java-network-programming--echo-server at http://ibolcode.net/dmo-blog</guid>
</item>
<item>
<title>Everything you never wanted to know about stack canaries</title>
<link>http://ibolcode.net/dmo-blog/2021-03-everything-you-never-wanted-to-know-about-stack-canaries</link>
<description>![CDATA[&lt;p&gt;Yes, you have read it right. Unless you are a compiler or a exploit developer you do not really want to know anything about stack canaries. You just need to know they exists and will prevent stack overflows. But if you want to know how they work in detail, then keep reading.&lt;/p&gt;]]</description>
<pubDate>Tue, 30 Mar 2021 00:00:00 +0200</pubDate>
<category>![CDATA[]]</category>
<guid isPermaLink="false">http://ibolcode.net/dmo-blog/2021-03-everything-you-never-wanted-to-know-about-stack-canaries</guid>
<guid isPermaLink="false">/2021-03-everything-you-never-wanted-to-know-about-stack-canaries at http://ibolcode.net/dmo-blog</guid>
</item>
<item>
<title>Concurrency. Atomics and Memory Models</title>
<link>http://ibolcode.net/dmo-blog/2021-03-concurrency--atomics-and-memory-models</link>
<description>![CDATA[&lt;p&gt;We had already briefly talked about &lt;em&gt;atomics&lt;/em&gt; to implement a mutex. However, the use of &lt;em&gt;atomics&lt;/em&gt; in the general case can be a bit tricky and fires some low level synchronisation issues that the programmer needs to be able to control. This is what the memory models are for.&lt;/p&gt;]]</description>
<pubDate>Wed, 24 Mar 2021 00:00:00 +0100</pubDate>
<category>![CDATA[]]</category>
<guid isPermaLink="false">http://ibolcode.net/dmo-blog/2021-03-concurrency--atomics-and-memory-models</guid>
<guid isPermaLink="false">/2021-03-concurrency--atomics-and-memory-models at http://ibolcode.net/dmo-blog</guid>
</item>
</channel></rss>
