<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.2.2">Jekyll</generator><link href="https://wouter.coekaerts.be/feed" rel="self" type="application/atom+xml" /><link href="https://wouter.coekaerts.be/" rel="alternate" type="text/html" /><updated>2026-09-29T14:05:04+02:00</updated><id>https://wouter.coekaerts.be/feed</id><title type="html">Wouter Coekaerts</title><subtitle>Wouter Coekaerts personal site</subtitle><author><name>wouter</name></author><entry><title type="html">Decapsulation: Breaking Java Strong Encapsulation</title><link href="https://wouter.coekaerts.be/2026/decapsulation" rel="alternate" type="text/html" title="Decapsulation: Breaking Java Strong Encapsulation" /><published>2026-09-29T02:00:00+02:00</published><updated>2026-09-29T02:00:00+02:00</updated><id>https://wouter.coekaerts.be/2026/decapsulation</id><author><name>wouter</name></author><category term="java" /><summary type="html"><![CDATA[Did you know you can call JNI without writing native code, patch bytecode without an agent, and use Unsafe without warnings? 11 sneaky ways into JDK internals through reflection, agents, FFM, type confusion, bytecode manipulation and more.]]></summary></entry><entry><title type="html">FlowTracker - Track data flowing through Java programs</title><link href="https://wouter.coekaerts.be/2024/flowtracker" rel="alternate" type="text/html" title="FlowTracker - Track data flowing through Java programs" /><published>2024-09-13T02:00:00+02:00</published><updated>2024-09-13T02:00:00+02:00</updated><id>https://wouter.coekaerts.be/2024/flowtracker</id><author><name>wouter</name></author><category term="java" /><summary type="html"><![CDATA[Announcing FlowTracker: a Java agent that tracks data flowing through Java programs]]></summary></entry><entry><title type="html">Breaking java.lang.String</title><link href="https://wouter.coekaerts.be/2023/breaking-string" rel="alternate" type="text/html" title="Breaking java.lang.String" /><published>2023-07-11T02:00:00+02:00</published><updated>2023-07-11T02:00:00+02:00</updated><id>https://wouter.coekaerts.be/2023/breaking-string</id><author><name>wouter</name></author><category term="java" /><category term="puzzle" /><summary type="html"><![CDATA[Let&apos;s abuse a bug in java.lang.String]]></summary></entry><entry><title type="html">Java Puzzle 10: No Dot - Solution</title><link href="https://wouter.coekaerts.be/2019/puzzle-no-dot-solution" rel="alternate" type="text/html" title="Java Puzzle 10: No Dot - Solution" /><published>2019-09-13T23:47:30+02:00</published><updated>2019-09-13T23:47:30+02:00</updated><id>https://wouter.coekaerts.be/2019/puzzle-no-dot-solution</id><author><name>wouter</name></author><category term="java" /><category term="puzzle" /><category term="solution" /><summary type="html"><![CDATA[Java challenge: Write Hello World without using a dot, backslash, or semicolon]]></summary></entry><entry><title type="html">The Java type system is broken</title><link href="https://wouter.coekaerts.be/2018/java-type-system-broken" rel="alternate" type="text/html" title="The Java type system is broken" /><published>2018-05-16T19:22:30+02:00</published><updated>2018-05-16T19:22:30+02:00</updated><id>https://wouter.coekaerts.be/2018/java-type-system-broken</id><author><name>wouter</name></author><category term="java" /><summary type="html"><![CDATA[The Java type system is broken]]></summary></entry><entry><title type="html">More serialization hacks with AnnotationInvocationHandler</title><link href="https://wouter.coekaerts.be/2015/annotationinvocationhandler" rel="alternate" type="text/html" title="More serialization hacks with AnnotationInvocationHandler" /><published>2015-11-09T12:10:24+01:00</published><updated>2015-11-09T12:10:24+01:00</updated><id>https://wouter.coekaerts.be/2015/annotationinvocationhandler</id><author><name>wouter</name></author><category term="security" /><category term="java" /><summary type="html"><![CDATA[In this post we take a look at two Java serialization vulnerability gadgets]]></summary></entry><entry><title type="html">Java Puzzle 9: Tweet - Solution</title><link href="https://wouter.coekaerts.be/2015/puzzle-tweet-solution" rel="alternate" type="text/html" title="Java Puzzle 9: Tweet - Solution" /><published>2015-02-10T06:43:56+01:00</published><updated>2015-02-10T06:43:56+01:00</updated><id>https://wouter.coekaerts.be/2015/puzzle-tweet-solution</id><author><name>wouter</name></author><category term="java" /><category term="puzzle" /><category term="solution" /><summary type="html"><![CDATA[Java puzzle, write A to win: class B extends A{B(Long i){new B(i/Long.compare(i,i));System.out.println(&quot;Win&quot;);}}]]></summary></entry><entry><title type="html">Java Puzzle 9: Tweet</title><link href="https://wouter.coekaerts.be/2015/puzzle-tweet" rel="alternate" type="text/html" title="Java Puzzle 9: Tweet" /><published>2015-02-02T18:38:01+01:00</published><updated>2015-02-02T18:38:01+01:00</updated><id>https://wouter.coekaerts.be/2015/puzzle-tweet</id><author><name>wouter</name></author><category term="java" /><category term="puzzle" /><summary type="html"><![CDATA[Short but challenging, a puzzle that fits in a tweet, exploring the power a superclass has over its subclass]]></summary></entry><entry><title type="html">Resurrecting a PhantomReference</title><link href="https://wouter.coekaerts.be/2015/resurrecting-phantomreference" rel="alternate" type="text/html" title="Resurrecting a PhantomReference" /><published>2015-01-20T23:11:56+01:00</published><updated>2015-01-20T23:11:56+01:00</updated><id>https://wouter.coekaerts.be/2015/resurrecting-phantomreference</id><author><name>wouter</name></author><category term="security" /><category term="java" /><summary type="html"><![CDATA[In this post, you'll learn about Java necromancy: how to resurrect objects back from the dead. We will abuse a recently fixed security bug in the JDK to trick the garbage collector to get ahold of an object to which no living object should have a connection.]]></summary></entry><entry><title type="html">Java Puzzle 7: Cookies - Solution</title><link href="https://wouter.coekaerts.be/2012/puzzle-cookies-solution" rel="alternate" type="text/html" title="Java Puzzle 7: Cookies - Solution" /><published>2012-08-12T23:43:23+02:00</published><updated>2012-08-12T23:43:23+02:00</updated><id>https://wouter.coekaerts.be/2012/puzzle-cookies-solution</id><author><name>wouter</name></author><category term="java" /><category term="puzzle" /><category term="solution" /><summary type="html"><![CDATA[Here's the solution to the cookies puzzle!]]></summary></entry></feed>