4 minute read

After some time running this website, it’s fair I publicly answer to the questions that I received most often. Like an F.A.Q., with something spicy here and there.

This is the last post for 2025, or Year 0.

0- Year Zero

Yes, like an array. It starts with 0.

My Analytic Number Theory tutor hates me. With passion.

Seriously: conceptualising the void is probably one of the greatest inventions of mankind. Like fire. Like the wheel. Like beer.

Opensource, macOS, and the like

Now relax. Take a deep breath. I know that this topic can cause friction and I actually don’t care about that, but I don’t wanna spend my (little) spare time in flame wars.

Do I have something against Opensource? Hah, nice one. In principle, no. In principle, the foundations of knowledge should be accessible by everybody, positively oriented to a common growth, and all the reasons you read in any blog ran by a FOSS-friend.

The downside is under your eyes. Point your browser to GitHub and start looking for Opensource projects. Shoot in the barrel, blindly select a dozen of these projects. Now look better. If you’re lucky you will find:

  • some really lame code. The majority
  • executables (when lucky) that don’t really solve problems - just show off of the fact you can write print("Hello Python")
  • Noise. Tons of noise.

In other words - what is meant to be a noble act of sharing knowledge easily becomes confusing noise. Making more mess on an Internet that is already messy as it could be.

I think that there should be a threshold. Quality-wise, and meaning-wise. Nobody cares if you can write "hello python" or if you can adapt a mergesort in javascript. It’s academia, not source. There are wonderful opensource projects - the ones I love the most being OpenBSD and FreeBSD. pf is probably the best piece of software I ever used. Same goes for nmap - it’s still one of my inspiration sources when I write CLI. That’s where one learns. Indeed, I understand we still need tutorial - that’s totally fine by me, but… they’re tutorials!

As for 0tH: it is written in pure Rust. No expect, no panics. It’s quite an effort. But here’s the thing: 0tH is where I sharpen my Rust skills. As counter-intuitive as it can sound: 0tH is not a toy-project. It’s a tool I started writing when I enrolled to a (now in eternal hiatus) Offensive Security course. I deliberately decided to write it after reading the course material and a book, namely Practical Binary Analysis: Build Your Own Linux Tools for Binary Instrumentation, Analysis, and Disassembly (my eternal gratitude if you buy it from the link). I decided I needed some tools to do what I do for a living: security analyses).

otool is great, but at least the last time I benchmarked it, it’s a order of magnitude slower that 0tH (plus, it gives less contents) jtool/jtool2 - well, this is a totally different beast. I personally admire Jonathan Levin’s work, and this software is great. But its aim was different that 0tH’s, plus also jtool2 is not opensource.

Finally: I am keen on releasing the whole code after I am done with it. But according to the filtering concept I mentioned before - I’ll release it when it’ll reach a level of quality matching my standards.

Requests

Deliberately reinterpreting the text of a message I received:

“Yo, nice tools on the site. When r u gonna drop the actual exploits for 0tH? I tried running it on a binary but it just shows text, where is the ‘pwn’ button?”

(something was lost on translation)

Answer: Never. I don’t give hand grenades to monkeys, sorry.

What will the next year bring

More tools.

I have Godzilla-ions of ideas to implement, guys. And not only command line tools. At the moment I am writing:

  • a malware inquisitor (yes, try to figure out what it does. Spoiler: the mascotte is called Torqui, from Torquemada - and if you want to draw it, feel free! I’d love to draw it myself, but my skills are comparable to a blind sloth’s)
  • a better FailToBan. Running this website has elicited the need to have something better that FailToBan. It’ll be Rust. It’ll be OpenSource. And still I am good-hearted. I could have trolled the community by releasing opensourced ASM, or Smalltalk, or any other exotic language. Perhaps Monicelli would have been a brilliant choice.
  • For sure, 0tH2027.
  • Something I need to deal with LLMs. LLMs are as great as messy. One wants to have some tools to keep a bit of order in the exported files. So… at this point it has not yet a name (in my hard disk, its folder is called ABC at the moment), but sooner or later I’ll create some lore around it. It’s an ObjectiveC project (because I want to torture myself, sometimes. Seriously: I prefer ObjectiveC to Swift because Swift short-circuits my brain overfilled with Rust - the similarity between the languages comes with a price)

More posts. Hopefully.

I will invest more in the series:

  • Apple Defences
  • Reversing 101
  • and something new - the current codename is “Reverse with me”. The underlying idea is:
    • taking a (dead?) piece of cloud-connected hardware
    • understanding how it communicates with your phones or other IoT components
    • reversing the software
    • writing better (iOS, mainly) clients.

Some knowledge. Got so many books to finish reading. Many of them not even being CS-related. Nor Math related…

Conclusion

Will the next year be amazing?

Fuck, no! Did you ever see an “amazing year”? As for my experience - it’s not possible. And I am ok with that.

I will just keep on building, hacking, and have fun doing so.