this post was submitted on 22 Dec 2023
84 points (90.4% liked)
Piracy: ꜱᴀɪʟ ᴛʜᴇ ʜɪɢʜ ꜱᴇᴀꜱ
54476 readers
408 users here now
⚓ Dedicated to the discussion of digital piracy, including ethical problems and legal advancements.
Rules • Full Version
1. Posts must be related to the discussion of digital piracy
2. Don't request invites, trade, sell, or self-promote
3. Don't request or link to specific pirated titles, including DMs
4. Don't submit low-quality posts, be entitled, or harass others
Loot, Pillage, & Plunder
📜 c/Piracy Wiki (Community Edition):
💰 Please help cover server costs.
Ko-fi | Liberapay |
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Everything is open source if you can read assembly
Machine code tells you what it's doing. Source code tells you why.
Only if they wrote why in it though, plenty of people (unfortunately myself included) fail or forget to add meaningful comments or they let their comments go stale when making changes by forgetting to update them (I do it a lot too), and some people also use horrible function names that don't make any sense.
So it only really applies to source code intended to be released where care was made to ensure it would be readable, it might not apply for source code never intended to be public, such as stolen, leaked, or posthumously released. In this case the only real benefit is that it can be recompiled on different architectures provided there isn't a dependency issue preventing that.
Source code without comments is still way easier to read than machine code.
And there are very likely comments anyways.
Multiple Devs will work on the same code for years and of course they need or at least appreciate comments.
But even if you can intuitively understand what the machine code is you'll still need to convert it by hand back into something more portable, or to the machine code of another platform you might want to run it on. There's not really an easy automated way to do that, even when playing dirty.
That's the hard part, getting it into a different form, such as from x86 to ARM or from 6502 RISC to x86.
More powerful decompilers would definitely be a very useful application of AI!