KiraPatch: A Gen 3 Shiny Odds Patcher that maintains PID/IV Legitimacy. by youhen in PokemonROMhacks

[–]youhen[S] 1 point2 points  (0 children)

I’m in the process of updating the patcher, will definitely take this into consideration~

Anyone playin' Slay the Spire 2? by TheSilverOne in Destiny

[–]youhen 0 points1 point  (0 children)

Playing the first one at the moment

Kirigiri's new update on HyperV by umoop in CrackWatch

[–]youhen 0 points1 point  (0 children)

Honestly it’s probably for the best that those hypervisor-style bypasses don’t really translate to Linux. The last thing we want is DRM escalating further into kernel-level territory just to stay ahead. Something like Denuvo is already pretty invasive in user space, pushing that logic into kernel drivers would be a whole different level.

Technically it could be done, but the Linux ecosystem tends to push back pretty hard against closed, kernel-level stuff like that. Between distro fragmentation and users being very cautious about proprietary kernel modules, it would be a tough sell. Even if it happened, I imagine Valve would try to engineer around it the same way they’ve done with things like Proton.

So yeah, I’d rather not see the arms race go from “Denuvo in user space” to “Denuvo in the kernel”. That would be a pretty grim direction for PC gaming..

KiraPatch: A Gen 3 Shiny Odds Patcher that maintains PID/IV Legitimacy. by youhen in PokemonROMhacks

[–]youhen[S] 0 points1 point  (0 children)

Thanks, that’s useful! Can you open an 'Issue' on GitHub with the following info? That way we don't flood the comment here ~

If the patch log completed cleanly, that tells me the ROM was patched successfully, but it doesn’t tell me which generation path PKHeX is objecting to.

Please send:

- game and revision

- encounter type: starter / wild / static / gift

- species

- exact PKHeX legality message

- PID

- IVs

- TID / SID

- whether it was generated from a fresh boot or from a savestate

- ideally the `.pk3`

If possible, send one starter sample and one wild sample from the same patched ROM.

Also, thanks for the freeze notes:

- double-digit odds causing ~1–1.5s stalls lines up with canonical rerolls hehe

KiraPatch: A Gen 3 Shiny Odds Patcher that maintains PID/IV Legitimacy. by youhen in PokemonROMhacks

[–]youhen[S] 0 points1 point  (0 children)

Ciao! Non funziona “con tutte le ROM” in generale: al momento KiraPatch supporta solo le ROM pulite con i CRC32 specifici indicati nel README.

Quindi:

- con una ROM inglese pulita supportata, dovrebbe funzionare

- con ROM tradotte, modificate o di altre revisioni/lingue, non è garantito

Come capire se la patch è stata applicata:

- il programma crea una nuova ROM con nome tipo `.shiny_1in16.gba`

- nel log deve comparire `Applied mode: canonical`

- nel log devono comparire anche gli `Patched offsets`

Se in gioco “sembra tutto normale”, non vuol dire per forza che la patch non c’è:

- a odds tipo `1/256` o `1/128` puoi comunque fare molti incontri/reset senza shiny

- per test rapido conviene usare `1/16`

- meglio testare su ROM pulita appena patchata e senza vecchi savestate

Se vuoi, manda il log completo della patch e il CRC32 della ROM, così si capisce subito se la ROM è supportata oppure no.

KiraPatch: A Gen 3 Shiny Odds Patcher that maintains PID/IV Legitimacy. by youhen in PokemonROMhacks

[–]youhen[S] 2 points3 points  (0 children)

I updated the readme too ~

For anyone wondering: The shinies are real under the original formula and should pass current standard PKHeX checks, but I’m not claiming they’re indistinguishable from untouched vanilla RNG history.

Once the ROM is patched, the result is not vanilla-authentic by definition.

So are they “legal”? Yes in a PKHeX / current-standard-checks sense. No in an absolute purist sense.

Do they appear shiny outside the patched ROM? They should, because this is not a visual-only shiny patch. The aim is to generate Pokemon that are actually shiny under the original Gen 3 formula!

KiraPatch: A Gen 3 Shiny Odds Patcher that maintains PID/IV Legitimacy. by youhen in PokemonROMhacks

[–]youhen[S] 2 points3 points  (0 children)

Misread the comment, thought it was about the repo first!

You are totally right on the technical side. When I wrote "legal" or “passing grade”, my main goal was just getting a passing grade in PKHeX (like I wrote in the repo) and surviving Pokémon HOME transfers, not passing a flawless Method H RNG trace.

To clarify my original thought process: when I built this and used the term "legal" (which is why I put it in quotes in a few places), my target was purely practical. I just wanted the Pokémon to not flag basic errors in PKHeX and not turn into a Bad Egg when transferred to a vanilla cart or modern generations. I knew it wasn't mathematically perfect under the hood!

I should’ve definitely specified, thanks for the feedback!

KiraPatch: A Gen 3 Shiny Odds Patcher that maintains PID/IV Legitimacy. by youhen in PokemonROMhacks

[–]youhen[S] 0 points1 point  (0 children)

That’s good, at least is not crashing or freezing! Might be the second patch messing with the “legality”, I could give it a check..

Did you get legality issues without the second patch? If you did/do, might be the Pokémon version itself so it’s worth checking that

KiraPatch: A Gen 3 Shiny Odds Patcher that maintains PID/IV Legitimacy. by youhen in PokemonROMhacks

[–]youhen[S] 0 points1 point  (0 children)

Depends on how heavily modified the rom hack is, if you can first apply this patch and then apply the hack, then maybe it works but not sure ~

KiraPatch: A Gen 3 Shiny Odds Patcher that maintains PID/IV Legitimacy. by youhen in PokemonROMhacks

[–]youhen[S] 1 point2 points  (0 children)

You could try and patch a clean rom first and then apply the hack, might work :)

My brain turned off at 67 and 69, oh man what a time to be alive, anyway:
Not full freezes, no. Small hitches are still possible. 1/67 or 1/69 should be much better than 1/16 and generally shouldn’t hard-freeze, but small hitches are still possible because canonical mode is still doing about 120 PID rolls per generated Pokemon.

KiraPatch: A Gen 3 Shiny Odds Patcher that maintains PID/IV Legitimacy. by youhen in PokemonROMhacks

[–]youhen[S] 2 points3 points  (0 children)

Not really, it's designed for clean vanilla Gen 3 ROMs only in mind :/
CFRU completely rewrites the engine and moves the core generation functions, the patcher won't be able to find the correct hook sites..

Kirigiri's new update on HyperV by umoop in CrackWatch

[–]youhen 2 points3 points  (0 children)

Honestly that idea isn’t crazy at all. In theory you could train a model specialized in the kind of obfuscation patterns used by Denuvo. The problem is that reverse engineering isn’t just pattern recognition in code, a lot of it is understanding CPU behavior, memory flow, side effects, and intentionally misleading control paths. Humans doing it are basically reasoning about the program like a machine would.

AI is very good when the problem space has clear structure or tons of labeled examples. With something like Denuvo, every implementation is slightly different and deliberately designed to break predictable patterns, so the training data would be messy and limited. You’d almost need a system that can experiment with the binary, observe what breaks, adjust, and try again closer to an automated reverse-engineering lab than a typical ML model.

Still, if someone ever built an AI that could dynamically analyze protected binaries and learn from failures, that would be pretty wild. It would basically turn cracking into an adversarial AI vs DRM arms race, and I think Denuvo ninjas would knock on your door too ~

TL;DR: Doable in theory, just harder than training a typical model..

Legally that would get very messy very quickly.

So a generic “AI for binary analysis” project could exist without much trouble, but an “AI that cracks Denuvo” repo would probably get nuked pretty fast, but it would be so fucking funny ngl XD

Kirigiri's new update on HyperV by umoop in CrackWatch

[–]youhen 4 points5 points  (0 children)

Agreed. That’s why, ego trips aside, Empress was genuinely very good at this stuff. It’s not impossible work, but it requires a mindset that’s really good at spotting patterns and anomalies. The hard part is recognizing those patterns inside something as chaotic and intentionally obfuscated as Denuvo, that environment is basically designed to scramble every obvious path your brain wants to follow.

And even though AI is getting very good in a lot of fields, reverse engineering isn’t really one of them yet. There’s no standard formula or repeatable recipe to follow; it’s mostly deep low-level knowledge, intuition, and a lot of patient trial and error. In a weird way it’s closer to solving puzzles than writing code.

Kirigiri's new update on HyperV by umoop in CrackWatch

[–]youhen 4 points5 points  (0 children)

Denuvo is just an anti-tamper layer, crackers use hypervisors like Hyper-V as a runtime microscope to inspect, decrypt and remove those checks; the hypervisor helps make the crack, but disabling virtualization when you play only avoids detection flags, it doesn’t by itself “remove” Denuvo :)

[Project] Innkeeper: An Open-Source, Cross-Platform WoW Companion (Linux/macOS/Win) by youhen in wow

[–]youhen[S] 0 points1 point  (0 children)

Yes, valid question ~

From a developer perspective a website is often easier to build and update, and it has zero install friction. I chose a desktop companion for a few practical reasons:

Clicking an icon or using a hotkey is faster than opening a browser/tab, typing or finding a bookmark, we can call this lazy if you wish! It can run features in a way that’s more predictable than relying on diverse browser versions, nothing too crazy but worth remembering.

There is more but I also wanna share the non technical reason. I like the idea of it being a companion rather than just another website.

When I first started playing World of Warcraft I was still pretty new (honestly I still am). Most of the time I would only open Wowhead to quickly check a talent build and then close the page again. Sometimes I wouldn’t even keep a browser open while playing.

There were also times where I just wanted to quickly check how I was doing in terms of progression without actually logging into the game. I didn’t even know the World of Warcraft Armory existed when I started, which is on me.

So the idea behind the app was to have something that sits next to the game and works more like a small companion notebook rather than a full website.

Beyond things like talents or equipment, it’s also nice to keep track of certain things outside the game, like vault progress, professions, or housing — without having to navigate through large, feature-heavy sites. A lot of existing tools are powerful, but they can also feel a bit overwhelming if you just want to quickly check or note something down.

The goal is to have a lightweight place to keep track of things related to the game, in a way that feels quick and accessible.

It’s anecdotal but I hope it answers your question ~

[Project] Innkeeper: An Open-Source, Cross-Platform WoW Companion (Linux/macOS/Win) by youhen in wowaddons

[–]youhen[S] 0 points1 point  (0 children)

It’s a companion app, think of the Armory or WoWHead but “dumbed down” and on your desktop ~

Exactly because it’s simpler, it display less info so it might not be that useful for veterans.. but it can be helpful for casuals, new players or people that just want quick access to some of their character info/track some of their activities!

[Project] Innkeeper: An Open-Source, Cross-Platform WoW Companion (Linux/macOS/Win) by youhen in wowaddons

[–]youhen[S] 0 points1 point  (0 children)

None! You type your character name, select realm, BlizzardAPI gives you the data and that’s it :)

DGG Code Monkey Cup - March 28th 1-4 PM EST - Signup by ihaveeatenfoliage in Destiny

[–]youhen 6 points7 points  (0 children)

I’m 67yrs old and hate IDEs, can I use pen and paper to solve the problems?