Latest posts

  • Avoid a Mistake: Correctly Calculate Multiclass Accuracy

    Today I held a short laboratory which tackled different metrics used in evaluating classifiers. One of the tasks required that, given the performances of 2 classifiers as confusion matrices, the students will calculate the accuracy of the 2 models. One...


  • C# Predict the Random Number Generator of .NET

    This post targets to underline the predictability of the random… or better said pseudo-random number generator (PRNG) exposed by the .NET framework (aka the Random() class), under certain assumptions. Because of the nature of the implementation, 100% accuracy can be...


  • Evaluating the Robustness of OCR Systems

    In this article, I’m going to discuss about my Bachelor’s degree final project, which is about evaluating the robustness of OCR systems (such as Tesseract or Google’s Cloud Vision) when adversarial samples are presented as inputs. It’s somewhere in-between fuzzing...


  • Hot Patching C/C++ Functions with Intel Pin

    5 years ago, I said in one of my articles that I shall return, one day, with a method of hot patching functions inside live processes; So… I guess this is that day. What we’ll try to achieve here is...


  • Gradient Descent Simply Explained (with Example)

    So… I’ll try to explain here the concept of gradient descent as simple as possible in order to provide some insight of what’s happening from a mathematical perspective and why the formula works. I’ll try to keep it short and...


  • Bypassing ASLR and DEP - Getting Shells with pwntools

    Today, I’d like to take some time and to present a short trick to bypass both ASLR (Address Space Layout Randomization) and DEP (Data Execution Prevention) in order to obtain a shell in a buffer-overflow vulnerable binary. I’ve seen this...


  • C# Making a Neural Network that plays Flappy Bird

    All right, people; now that I’m done with the projects & finals for…a couple of days…I thought it would be a good idea to keep an old promise and finally publish this article too. It’s about how to make a...


  • C# Naive Bayes Basic OCR (w/ Example)

    Hello again; I’m back - once again sacrificing my time for homework so I can publish something that I find more interesting. So if anyone is still reading this: the whole article is about OCR (which stands for Optical Character...


  • C# Prevent Decompilation by Decrypting Source at Runtime

    Hello world! Today we continue the “Trolling the Decompiler” series (first part here: Prevent Reflector from Decompiling) but now with a more serious approach - this one should work on any decompiler. The point is: it is rather difficult to...


  • Hamming Error Correction - with Example

    This article will focus on Hamming codes - mainly, this represents an attempt to explain a little bit better how this method can help in detecting and correcting… 1 bit errors. This method is not really useful at “higher level”...


  • Virtual Piano Player in C#

    Short Announcement (skip this) Hello again, Unfortunately my summer holiday’s over… NOOOOOooo!! Ahem… so tomorrow I’ll start the 2nd year at the Faculty of Automatic Control & Computer Science. This means going back to the traditional 5 hours of sleep/night...


  • C# Send Data Between Processes (w/ Memory Mapped File)

    If you’re reading this right now you’re probably developing some application that has 2 or more processes and you want those processes to share some data with each other. There are multiple ways to pass data between processes (IPC), each...