Live data from Hacker News

Legalizing gay marriage in Crusader Kings III with Ghidra

waffleironer.medium.com

171–180 of 183 posts

Re: Legalizing gay marriage in Crusader Kings III with Ghidra

#171

Earlier quoted context omitted.

When I was a kid, this is the first thing I did that I'd call programming, but it was to use a hex editor on my Warcraft (the original game, yeah) save files to give myself more gold and wood. I had a friend teach me how to convert to hex, learned about LSB/MSB then away I went. It's amazing how cheating or tweaking a game can spark a lot of interest professionally.

Ah, I recall in high school we made a localized version of Warcraft by hexediting the strings in the executable - though with this approach it was a pain in cases when you needed longer words than English had.

Wow that’s so amazing! I bet it was a bit like code golf trying to find appropriate words to fit in the space. It’d be funny if you had it all still around.

Re: Legalizing gay marriage in Crusader Kings III with Ghidra

#172
post #132

Earlier quoted context omitted.

There is a very big difference between a wedding and a marriage. I don't understand why this confuses so many people, but it does.

In some languages the same word means both, e.g. the Italian “matrimonio”

English has wedlock.

Re: Legalizing gay marriage in Crusader Kings III with Ghidra

#173
post #23
post #2

It seems odd to me. Paradox is a Swedish company, and Sweden is a fairly liberal country. Same-sex marriage was legalized in 2009, and even the Church of Sweden gave the go-ahead on performing same-sex marriages the same year. The game logic around this is simple enough that changing two byes fixes it, so it's not a technical issue. What gives?

I suspect it has approximately nothing to do with what the patch implemented. And a lot more to do with it being effectively a guide to reverse-engineering the game executable. Paradox makes multiplayer games. They probably saw this as How To Cheat 101. As to not wanting to do the work to make it implementable without a binary patch, well, it's just not in the game. I can imagine hesitance to start modifying the game…

They host How to Cheat 101.[1]

[1] https://ck3.paradoxwikis.com/Console_commands

Re: Legalizing gay marriage in Crusader Kings III with Ghidra

#174
post #23

Earlier quoted context omitted.

I suspect it has approximately nothing to do with what the patch implemented. And a lot more to do with it being effectively a guide to reverse-engineering the game executable. Paradox makes multiplayer games. They probably saw this as How To Cheat 101. As to not wanting to do the work to make it implementable without a binary patch, well, it's just not in the game. I can imagine hesitance to start modifying the game…

They host How to Cheat 101.[1] [1] https://ck3.paradoxwikis.com/Console_commands

You can’t use those in multiplayer... unless you reverse engineer the game and patch the cheat checks oout...

Re: Legalizing gay marriage in Crusader Kings III with Ghidra

#175

Earlier quoted context omitted.

Code is not people.

There's a philosophical discussion here longer than a comment can afford but the bottom line isn't "code is not people". While I took GP's "wife" remark as a joke, I feel like you're implying that as long as it's "not people" it's a free for all. Like someone "exploring" how it feels like to spend your money, wear your watch, and drive your car. Since this is a digital world, hacking doesn't have to lead to a loss fo…

> But making it available online to the general public is no longer exploration.

Why not? I'd argue the opposite: that making something available online to the general public is the first step toward maximizing exploration - in particular, enabling exploration beyond the limits of your own imagination/ability.

Re: Legalizing gay marriage in Crusader Kings III with Ghidra

#176
post #108

I don't know anything about reverse engineering but why can't you just change the IF in the decompiled C++? Why do you need to mess around with the assembly instructions?

I reverse engineered some games trying to fix them. If they were made in ASM? Well, then it is easy, what you get from the decompiler is probably very close to what went into the compiler. C? It gets harder, but decompilation to C is possible, you lose function names and whatnot but that is alright. C++? Then you are 100% screwed, virtual functions, polymorphism, etc... it all becomes just a huge mess, if they used s…

That depends on how much time you're willing to invest. The recently DMCA'd re3 project is a full decompilation of Grand Theft Auto 3 and Vice City, through a clever combination of all released versions (eg. the Android version leaked some symbols, Renderware signatures were somewhat recognizable on PC and PS2), pre-existing community knowledge (The mission script format had already been reversed which provided many clues by looking at its interpreter, many memory addresses were known by the modding community, etc.) and just a massive collective effort, it fully reversed the cpp game that is Grand Theft Auto 3 (and VC).

Re: Legalizing gay marriage in Crusader Kings III with Ghidra

#177
post #152

Earlier quoted context omitted.

This is what people don't get. Marriage is a concept with a unique purpose. Marriage is an institution that straight male humans and straight female humans invented to solve their coordination problem around heterosexual life-partnerships. Gay people should be entitled to the full rights of monogamous cohabitation (tax, adoption rights, inheritance etc) via civil partnerships. But not marriage.

For you, what is the difference between marriage and wedding?

A wedding is a ritual to celebrate the marriage between a man and a woman. Marriage itself is the lifelong bond, the wedding is a day or two of festivities to celebrate said bond.

Re: Legalizing gay marriage in Crusader Kings III with Ghidra

#178
post #141

Earlier quoted context omitted.

Considering the way you talk to people on here, "good culture" is as far away as I could imagine from anything you might be able to touch.

You may wish to reevaluate your approach to participation at Hacker News. When I encountered this thread and your insult here, I checked your profile and found many antagonistic and low-value comments over the past few days alone. Your history considerably weakens your position and suggests that I can skip reading your other comments in this thread, and your future comments and posts, without being likely to miss any…

This comment comes late, but I've recently learned that "just curious" without qualification is a fair indicator of hubris.

A self-described "curious" person will seek out connections where none exists, force others to entertain their "great ideas", and eventually arrive at what looks like knowledge but is merely an illusion borne of their pride.

If curiosity is not balanced by humility, anyone could end up like the GP. Wanting to know, but unable and unfit to know because all their inquiries are perverted by their own unerring, unconscious self-love.

Re: Legalizing gay marriage in Crusader Kings III with Ghidra

#179
post #154

Earlier quoted context omitted.

Changing JZ into JZ to the following address has the advantage of ease of editing: same length, same opcode, reliably copied, pasted and inspected value. A NOP sequence is more general but making it the wrong length is not impossible.

NOP on x86 is one byte. Patching out an instruction with a NOP is always possible. Further, not all jumps are equal; while you can certainly patch the assembly and let the assembler manage the variant selection and relocations etc., doing bytecode patching is a different story. You might have to change the jump instruction altogether depending on how "far" away the pointer is. Also, jumps hold conditions in most case…

It's more general, but also more invasive. Replacing jumps with another jump as discussed in the article leaves part of the original intent (the test or the address) intact, while a NOP sequence leaves no indication of what it replaces.

Re: Legalizing gay marriage in Crusader Kings III with Ghidra

#180

Earlier quoted context omitted.

You may wish to reevaluate your approach to participation at Hacker News. When I encountered this thread and your insult here, I checked your profile and found many antagonistic and low-value comments over the past few days alone. Your history considerably weakens your position and suggests that I can skip reading your other comments in this thread, and your future comments and posts, without being likely to miss any…

This comment comes late, but I've recently learned that "just curious" without qualification is a fair indicator of hubris. A self-described "curious" person will seek out connections where none exists, force others to entertain their "great ideas", and eventually arrive at what looks like knowledge but is merely an illusion borne of their pride. If curiosity is not balanced by humility, anyone could end up like the…

You may wish to bring that up to the site admins, who invoke curiosity as a primary purpose of Hacker News in various places. While it’s legitimate to wonder if it’s a sound direction, doing so here is unlikely to reach their attention. Consider dropping a note to them using the footer Contact link to let them know you’re concerned.
Post reply on HN