Year Zero
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
ABCat 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.