<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Gianluca Pacchiella (Posts about WIP)</title><link>https://ktln2.org/</link><description></description><atom:link href="https://ktln2.org/categories/wip.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2025 &lt;a href="mailto:gp@ktln2.org"&gt;Gianluca Pacchiella&lt;/a&gt; </copyright><lastBuildDate>Wed, 31 Dec 2025 10:36:34 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Visual complex analysis: first chapter exercises</title><link>https://ktln2.org/2024/visual-complex-analysis-1st-chapter-exercise/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;"Visual complex analysis" it's a very good book, with really good exercises.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/2024/visual-complex-analysis-1st-chapter-exercise/"&gt;Read more…&lt;/a&gt; (26 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>geometry</category><category>math</category><category>WIP</category><guid>https://ktln2.org/2024/visual-complex-analysis-1st-chapter-exercise/</guid><pubDate>Sun, 24 Dec 2023 10:21:08 GMT</pubDate></item><item><title>Reusing old shit: laptop keyboard</title><link>https://ktln2.org/reusing-old-keyboard/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;Here we are with another experiment in reusing otherwise trash-destined
electronics material; in this episode we are going to refurbish a keyboard,
from the recovering of the internal "matrix" to the design of the PCB destined
as the controller board, to finally reworking of an existing firmware to create
a new USB keyboard.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/reusing-old-keyboard/"&gt;Read more…&lt;/a&gt; (9 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>arduino</category><category>AVR</category><category>keyboard</category><category>WIP</category><guid>https://ktln2.org/reusing-old-keyboard/</guid><pubDate>Fri, 02 Jul 2021 00:00:00 GMT</pubDate></item><item><title>Reusing old shit: creating a BSP using Yocto for the Samsung Galaxy S (S5PV210)</title><link>https://ktln2.org/2021/01/31/yocto-samsung-galaxy-s/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;In this post I'll describe my esperiments in reusing my old Samsung Galaxy S;
don't expected anything sophisticated, it's more a brain dump.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/2021/01/31/yocto-samsung-galaxy-s/"&gt;Read more…&lt;/a&gt; (21 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>embedded</category><category>WIP</category><category>yocto</category><guid>https://ktln2.org/2021/01/31/yocto-samsung-galaxy-s/</guid><pubDate>Sun, 31 Jan 2021 00:00:00 GMT</pubDate></item><item><title>Reusing old shit: lcd screen</title><link>https://ktln2.org/2021/01/31/reuse-old-laptop-screen/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;It's happened in the past that someone gifted me of very old (and not working
anymore) laptops that otherwise would have been thrown in the garbage; my idea
for them was of reusing some parts that are more valuable: battery, disks,
    keyboards, etc...&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/2021/01/31/reuse-old-laptop-screen/"&gt;Read more…&lt;/a&gt; (3 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>LCD</category><category>LVDS</category><category>old shit</category><category>WIP</category><guid>https://ktln2.org/2021/01/31/reuse-old-laptop-screen/</guid><pubDate>Sun, 31 Jan 2021 00:00:00 GMT</pubDate></item><item><title>Modern cryptography: exercises chapter 3 'Private-key encryption'</title><link>https://ktln2.org/2020/12/31/modern-crypto-exercises-chapter-3/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;These are some solved exercises of chapter 3 of the book &lt;a href="http://www.cs.umd.edu/~jkatz/imc.html"&gt;"Introduction to
modern cryptography"&lt;/a&gt; (second edition) by Jonathan Katz and Yehuda Lindell.
For chapter 2 go &lt;a href="https://ktln2.org/2018/02/06/modern-crypto-exercise-chapter2/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/2020/12/31/modern-crypto-exercises-chapter-3/"&gt;Read more…&lt;/a&gt; (10 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>cryptography</category><category>exercises</category><category>WIP</category><guid>https://ktln2.org/2020/12/31/modern-crypto-exercises-chapter-3/</guid><pubDate>Thu, 31 Dec 2020 00:00:00 GMT</pubDate></item><item><title>Notes on JavaScriptCore</title><link>https://ktln2.org/2020/08/25/javascriptcore/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;In this post I want to add some pratical notes (and maybe a new tool) to the
&lt;a href="http://phrack.com/papers/attacking_javascript_engines.html"&gt;paper from saelo&lt;/a&gt;
about exploiting modern browsers; in particular I'll focus on Webkit and as in
his paper, I'll deep dive into the source code of that version of webkit.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/2020/08/25/javascriptcore/"&gt;Read more…&lt;/a&gt; (30 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>browser</category><category>gdb</category><category>Webkit</category><category>WIP</category><guid>https://ktln2.org/2020/08/25/javascriptcore/</guid><pubDate>Tue, 25 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Reversing the USB update process of a device</title><link>https://ktln2.org/2020/05/04/reversing-usb-update-process/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;I'm again at it: I have a device that I want to know how it works and I started
to reverse it, this time without any particular reason if not curiosity.&lt;/p&gt;
&lt;p&gt;What I couldn't know was that I was entering a rabbit hole of biblic proportion
and this post is only the tip of the iceberg.&lt;/p&gt;
&lt;p&gt;In this post I want to describe without any particular order, how to reverse
a C++ application and the USB protocol that it uses to update the firmware
on the device. I don't think this will be useful to anyone, let me know in
case it has changed your life :)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/2020/05/04/reversing-usb-update-process/"&gt;Read more…&lt;/a&gt; (18 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>C++</category><category>ghidra</category><category>MFC</category><category>reversing</category><category>windows</category><category>WIP</category><guid>https://ktln2.org/2020/05/04/reversing-usb-update-process/</guid><pubDate>Mon, 04 May 2020 00:00:00 GMT</pubDate></item><item><title>Build embedded systems with buildroot</title><link>https://ktln2.org/2020/02/14/buildroot-getting-started/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;&lt;a href="https://buildroot.org/"&gt;Buildroot&lt;/a&gt; is an integration system used to obtain complete bootable
embedded systems; it uses a KConfig configuration mechanism (the &lt;code&gt;menuconfig&lt;/code&gt; thing).&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/2020/02/14/buildroot-getting-started/"&gt;Read more…&lt;/a&gt; (3 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>buildroot</category><category>embedded</category><category>Linux</category><category>WIP</category><guid>https://ktln2.org/2020/02/14/buildroot-getting-started/</guid><pubDate>Fri, 14 Feb 2020 00:00:00 GMT</pubDate></item><item><title>Tips and tricks in debugging kernel drivers in Linux</title><link>https://ktln2.org/2020/02/14/debugging-linux-kernel-drivers/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;This post includes a couple of notes about linux kernel debugging, in
particular the things that I keep forgetting.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/2020/02/14/debugging-linux-kernel-drivers/"&gt;Read more…&lt;/a&gt; (8 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>debug</category><category>kernel</category><category>Linux</category><category>programming</category><category>WIP</category><guid>https://ktln2.org/2020/02/14/debugging-linux-kernel-drivers/</guid><pubDate>Fri, 14 Feb 2020 00:00:00 GMT</pubDate></item><item><title>ELF file format and a pratical study of the execution view</title><link>https://ktln2.org/2019/10/28/elf/</link><dc:creator>Gianluca Pacchiella</dc:creator><description>&lt;div&gt;&lt;p&gt;In the post about &lt;a href="https://ktln2.org/2018/08/13/pratical-approach-exploitation/"&gt;pratical approach to binary exploitation&lt;/a&gt;
I talked of how an executable is a memory archive describing a (future) running process. In this post
I want to study how this memory archive is loaded in memory in a Linux system, in particular
my interest will be directed upon the most used format in *nix system, i.e. the &lt;strong&gt;Executable and linkage
format&lt;/strong&gt; (&lt;code&gt;ELF&lt;/code&gt;); for other systems, different formats are used: for example the Mac OS X uses the Mach format and
the Windows OS uses the PE format. It's reasonable to say that each platform has its own format,
and it's the main reason of compatibility issue in running binaries between different
operating systems.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ktln2.org/2019/10/28/elf/"&gt;Read more…&lt;/a&gt; (37 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>ELF</category><category>file format</category><category>Linux</category><category>WIP</category><guid>https://ktln2.org/2019/10/28/elf/</guid><pubDate>Mon, 28 Oct 2019 00:00:00 GMT</pubDate></item></channel></rss>