this post was submitted on 26 Jun 2026
194 points (99.0% liked)

Asklemmy

54780 readers
217 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy πŸ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~

founded 7 years ago
MODERATORS
 

I once pirated a book because I didn't want to get it from another room.

you are viewing a single comment's thread
view the rest of the comments
[–] tunetardis@piefed.ca 44 points 5 days ago (3 children)

I once pirated a book because I didn’t want to get it from another room.

I pirated a game I legit bought. This was way back in the days when some games had this annoying copy protection where you had to look up words from the manual before you could play. Enter the 3rd word on line 7 of page 28. This sort of thing.

It got old really fast, so I disassembled the binary and saw where it was calling on a random number generator to select the page. I changed just 1 assembly instruction so that the generator would always return 0. Then it said look up so-and-so and the word turned out to be "time". After that, all I had to do was enter "time" at launch and I tossed out the manual.

[–] Aninjanameddaryll@sopuli.xyz 24 points 5 days ago

That's a lot of work in the short term to be lazy in the long, and I am impressed

[–] Hadriscus@jlai.lu 6 points 5 days ago (1 children)

You can disassemble programs like that? and see what's inside? can you explain like I'm four and three quarters?

[–] CanadaPlus@lemmy.sdf.org 6 points 5 days ago (1 children)

Yes. Assembly is barely abstracted from the actual machine instructions, to the point where the process of translating it is easily reversible. Reading assembly code is a thing all on it's own, though.

There's specialised software available for this kind of reverse-engineering now, too, if you're doing something more complicated than just looking for and cutting out a system call.

[–] tunetardis@piefed.ca 5 points 5 days ago (1 children)

Yeah. At the lowest level, the CPU reads a program as a bunch of numbers, where each number is a very simple instruction such as "add 2 values together". Assembly language is a more human-readable version of machine code, where you can see something more like add r1,r2 instead of 35397176 or whatever numeric code means "add the value in register 1 to 2" for some hypothetical processor. (Registers are where the processor keeps values loaded in from the RAM.)

So in my case, if I saw that the program was making some system call to the random number generator and the calling conventions used by the operating system always put the return value in register 0, I could replace the call with something like clr r0 (clear the value in register 0). It's a pretty simple hack. So the "generator" now always generates zero.

These days, programs are often code-signed and if you start messing around like that, they'll get flagged as malware. But it worked fine back in those open and trusting days.

[–] CanadaPlus@lemmy.sdf.org 1 points 3 days ago* (last edited 3 days ago) (1 children)

Isn't there a way to manually whitelist modified software on your AV, if it's your own machine?

With modern software, there's also the problem of just learning whatever weird stack the game is running on, to know where to look.

[–] tunetardis@piefed.ca 1 points 3 days ago

That's a good question. It may depend on the platform?

Right now, I'm doing most of my coding on a Mac. I noticed I get into trouble when trying to move the program to another machine. The OS seems to tag the executable with some metadata that runs afoul of Gatekeeper. Removing said metadata seems to get you past that. But that's for in-house software that has never been registered with Apple or anything. I've never actually tried modifying a program that has been registered, so I'm not sure if there are any extra levels to this?

[–] prole@lemmy.blahaj.zone 2 points 4 days ago (1 children)

I pirated a game I legit bought.

I would argue that this is not possible.

[–] communism@lemmy.ml 5 points 4 days ago (1 children)

It definitely is, and I've done it several times.

One example is Minecraft, which I legit bought but no longer legitimately own, because when Microsoft took over they forced people to make Microsoft accounts and no longer allow Mojang accounts to be used to authenticate. Because I didn't make a Microsoft account, I no longer own the game, so now I play a pirated copy because I can no longer legitimately play it.

Another example is some games made by studios that went bust and there's no longer any legit distributor of the game, so the only copy you can download is a pirated copy.

It's still piracy if it circumvents the intended method of distribution and validation that you own a licence.

[–] prole@lemmy.blahaj.zone 1 points 3 days ago* (last edited 3 days ago) (1 children)

Piracy cannot happen if it's fair use. And this is fair use (I'm referring to downloading a game you already own, not the thing about dead studios).

Piracy is the intention/result, not the method. If you bought a video game, you own it and are allowed to own a backup of it. How you get that backup is irrelevant

[–] communism@lemmy.ml 1 points 3 days ago (1 children)

In the first example, it is not fair use, because you don't buy digital copies of gamesβ€”you buy a licence to play the game. My Minecraft licence would have been revoked when I didn't create a Microsoft account. Game companies can impose whatever conditions on a game licence they like (so long as the condition is not otherwise illegal).

[–] prole@lemmy.blahaj.zone 1 points 3 days ago (1 children)

And you have case law to back this up?

[–] communism@lemmy.ml 1 points 3 days ago (1 children)

Case law is specific to jurisdiction. I don't know where you live, and I've not said where I live. The way buying and selling most digital copies of games is through buying and selling licences, though some software you do pay for the download itself rather than paying for a licence. That doesn't require case law; that's literally just what it is, like how if I sign a contract I don't need case law to demonstrate that what I've signed is a contract, it just is. Case law adjudicates matters of law which are in dispute, not figuring out whether a spade is a spade.

[–] prole@lemmy.blahaj.zone 0 points 2 days ago* (last edited 2 days ago) (1 children)

Yeah just because you say "this is not in dispute," doesn't make it true. The reason there appears to be no dispute is because video game companies haven't brought a suit against anyone for this specific thing. Until then, it's nebulous and completely up for debate.

Video game manufacturers have lost several emulation suits in the past, and I would not be one bit surprised if that's the reason why they never tried to go after this in courts.

Bleem! successfully won their countersuit against Sony because of fair use.

It doesn't hurt that there is this precedent regarding VHS:

https://en.wikipedia.org/wiki/Sony_Corp._of_America_v._Universal_City_Studios%2C_Inc.

Until Nintendo or Sony, etc actually tries to sue someone for doing it, then it's up for dispute.

[–] communism@lemmy.ml 1 points 2 days ago (1 children)

What I'm saying is not in dispute is the fact that you buy licences to play games and that licences can be revoked. Both of those are objective fact. It's a separate question as to whether or not a given state wants to enact punishment against a former licence holder.

[–] prole@lemmy.blahaj.zone 0 points 1 day ago (1 children)

It's not objective fact unless it's been tested in court. And this has not.

[–] communism@lemmy.ml 1 points 1 day ago (1 children)

That's an insane litmus test of objective fact. I'd say a significant amount of court rulings go blatantly against reality lmfao.

You can't test things in court that aren't disputed because someone has to dispute it... Who's gonna dispute that a contract is a contract? Read the text it says when you buy a game. It says what it says. No court can say a document doesn't say the words it literally explicitly says.

[–] prole@lemmy.blahaj.zone 1 points 11 hours ago* (last edited 11 hours ago)

Well I'm sorry that you don't understand case law, but that's exactly how it works in situations like this.

Who's gonna dispute that a contract is a contract?

Nobody now, because that's a precedent that's already been set. In a court.

Something that has not happened for the situation we're talking about.

Edit: to be clear, it's not necessarily true that nobody would dispute that actually. There are likely numerous cases regarding identifying the validity of a contract on the books, which is how we know exactly what one is.

If someone were to come up with an interesting enough situation that warrants a new case, then that outcome would be added to the list of cases that define what a contract is (do a Google search, there are already a whole bunch like that).

That's literally how the court system works.