coolbho3000

Abusing DPPt PRNG

38 posts in this topic

I only just found this out. Apparently this has been going on at Smogon for a while. A quick skim of the article reveals the various mechanisms that seed the PRNG (DS system time, etc.) and how to exploit them to get flawless/shiny Pokemon.

http://www.smogon.com/forums/showthread.php?t=52180

SCV's article and code are credited. :)

[Edit by evandixon]

Smogon recently changed their forum system. Here's the new link (thanks to LEGOanimal22 for the link):

http://smogon.com/forums/threads/rng-research.61090/

Edited by evandixon

Share this post


Link to post
Share on other sites

Things like specific natures are possible too.

I wonder if there is a way to use it to find a specific pokemon.

Share this post


Link to post
Share on other sites
Things like specific natures are possible too.

I wonder if there is a way to use it to find a specific pokemon.

If the way the encounter check uses the PRNG is known, then yeah.

This could potentially be used to manipulate ANY random event, even Legendary PID and IVs.

Share this post


Link to post
Share on other sites

I am hoping this will be cracked for wonder cards as well, if that is possible (I successfully got a 31/7/31/31/31/31 Manaphy, but that's because Manaphy eggs are created using method 1). I have been doing it a lot for legendaries.

Also, date/time is now something important to account for when doing legitimacy checks on legendaries. Some spreads are simply not obtainable on some dates.

Share this post


Link to post
Share on other sites
I am hoping this will be cracked for wonder cards as well, if that is possible (I successfully got a 31/7/31/31/31/31 Manaphy, but that's because Manaphy eggs are created using method 1). I have been doing it a lot for legendaries.

Also, date/time is now something important to account for when doing legitimacy checks on legendaries. Some spreads are simply not obtainable on some dates.

This is a very interesting thread. So if i have a legal wild/legendary doesn't match the date of the programm is easily detectable ? And for my legal hatched ? Should i recreate all my pokemon now :( ?

I'd like to have more info about ;)

Share this post


Link to post
Share on other sites
Also, date/time is now something important to account for when doing legitimacy checks on legendaries. Some spreads are simply not obtainable on some dates.

Syberia, that's brilliant.

Gold88, this is not something that Nintendo would ever check for, I'm almost positive, and I don't believe it's "easily detectable" either, but I'll bet Sabresite will want to include an algorithm for it in Legality Checker / PokéMod.

Share this post


Link to post
Share on other sites

Great, i was already going to delete my pokemon... thx :).

Btw admitting Nintendo doesn't check it, are you able to distinguish a legal legendary/hatched/wild (whatever date it has) from a legit one ?

Cause i've tried to match some legit pokemon date and i found nothing.

Edited by Gold88

Share this post


Link to post
Share on other sites

The more I think about using dates for legality checking, the year doesn't matter (you can theoretically get any year by adjusting your delay), but day definitely does. For example, for any year, my Manaphy was simply not obtainable between 5/7 and 6/1.

For breeding, there are so many different spreads at so many different offsets, and so many ways to make the same IV combination on a baby, that I don't think it would be much use.

Share this post


Link to post
Share on other sites

Btw i'd like to attach you some of my legal pokemon, if Syberia can check whatever doesn't match the legality. And if there's a method to legalize them.

- EDIT - I've removed the hatched because using a bit that program i've seen it's impossible distinguish a legal by a legit one, there are billion of combinations LOL and almost ever you find yours.

For the Legendaries i'll wait for your response

annizapdos.pkm

annizapdos2.pkm

annicresselia.pkm

annimoltres.pkm

annizapdos.pkm

annizapdos2.pkm

annicresselia.pkm

annimoltres.pkm

Edited by Gold88

Share this post


Link to post
Share on other sites

For soft-"hack checking" lengendaries you will almost have to know if the person was soft resetting or if it was a random catch. It's pretty easy to catch someone who claims to have soft reset as the Frame number will be ridiculously high. I'd also use the initial seed finder (jiggling the HOURS and using a month of 11, as I believe that will get all days/hours/seconds) to locate the initial seed. It only goes back 1,000 RNG calls, so if it's not found and the person claims to have soft reset it then it is BS.

The interesting thing, though, is that not all Method 1 spreads are possible. I will work on code to get a rough estimate of how many are not one day.

Share this post


Link to post
Share on other sites

Mmh, i've tried to read how to use RNG reporter, reading the 100+ pages too, but i haven't understood too much eheh :), i'd wish a little explanation. Btw, about my pokemon above :D ?

- EDIT- Well, nevermind xD, reading the topic on Smogon and seeing/analizing some soft-resetted/random catch/etc legit (many, 90% about doesn't appear on rng lol) pokemon in various trading topic seems, or is, impossible to dinstiguish a legit (whatever date) from a legal one (whatever date).

Edited by Gold88

Share this post


Link to post
Share on other sites

Um, correct me if I'm wrong, but I'm fairly sure date/time don't matter at all, as long as the date/time is after the event where the Pokemon could have been obtained. Once you save the Wondercard and transfer the Pokemon to the Pokemart, won't the guy be there until you claim the Pokemon? So you could take days, weeks, or even months to get it from the guy who is in the Pokemart, and then it will register that you obtained it on that day, which, even though the event isn't running, still makes the Pokemon completely legal?

Share this post


Link to post
Share on other sites

I don't think you dig. They're referring to the date used to determine the seed that the game's PRNG uses to generate PIDs for Pokémon encountered in-game (and possibly event / Wonder Card Pokémon). Not to be confused with what date Pokémon are actually available to be obtained on, which is a different way of checking legality / legitimacy.

The important thing is that no matter what the date is on the Pokémon's Trainer Memo page, the former method is (theoretically) still valid; as you said, the latter is not so much.

Share this post


Link to post
Share on other sites

I thought that the stats of a Wonder Card Pokemon with a dynamic PID weren't determined until you claim them from the deliveryman. Therefore if you claim them at a later date, won't it still use the seed from the later date as well?

Share this post


Link to post
Share on other sites

I do not claim to be an expert in these matters, but yes, I believe that is how it works. Still, the date on the Trainer Memo would be the date claimed from the green man (and therefore the seed date) anyway, wouldn't it? Thus the possibility of using the date as a means of legality / legitimacy checking still stands.

Share this post


Link to post
Share on other sites

By the way i'm seeing is not so simple check the legitimacy through the date. I'm noticing for many legit pokemon mine and not (only wild/legend, since for the hatched is an useless method and legal/legit are indistinguishable) with nice ivs seems impossible to find date/legitimacy through the program :), maybe because the catch is random or not much planned as those completed through rng reporter. This doesn't mean they're not legit ofc, i guess.

Share this post


Link to post
Share on other sites
I do not claim to be an expert in these matters, but yes, I believe that is how it works. Still, the date on the Trainer Memo would be the date claimed from the green man (and therefore the seed date) anyway, wouldn't it? Thus the possibility of using the date as a means of legality / legitimacy checking still stands.

Not sure we're on the same page here, so I'll give two examples, using the TRU Regigigas.

Let's say a player got the event logged, and saved before talking to the delivery guy. He then shuts his game off, and waits until today to claim his Regigigas.

Now, let's say a player today downloaded the event and got it working with Pokesav, and claimed his Regigigas from the guy today as well.

Both are claimed from the delivery man on the same day, thus they both use the same date seed for the RNG. But one was an actual event, and the other was a downloaded event/wondercard. Thus, the date seed can't be used as a valid check, as far as I can tell.

Share this post


Link to post
Share on other sites

EDIT: I must be the most obtuse person in the world. You're simply saying that the date cannot be used to verify legitimacy as oppsed to legality. However, to be honest the latter is much more important to many people, and it is still very possible (theoretically) to check the legality using the date.

I see your point though.

Edited by codemonkey85

Share this post


Link to post
Share on other sites
Thus, the date seed can't be used as a valid check, as far as I can tell.

I agree with you on this point. I've understood that checking some very good legit wild/legend pokemon, not finding their date/spread :). For the event there isn't any problem i think.

Share this post


Link to post
Share on other sites

I guess theoretically you could leave your game running for days/years before you actually claim the pokemon, throwing off the caught date/seed relationship, but honestly who would do that?

Share this post


Link to post
Share on other sites
I guess theoretically you could leave your game running for days/years before you actually claim the pokemon, throwing off the caught date/seed relationship, but honestly who would do that?

If you save before you claim the pokemon from the deliveryman, can't you claim it, reload, claim it again, and keep going until you get stats/Nature you like for the dynamic ones?

And, codemonkey, if they download the event through Pokesav, the game does the seed calculations based on the current date, which, as I showed, results in a legal Pokemon, so you can't check legality based on the date see of any of the downloaded events.

Share this post


Link to post
Share on other sites

I hate to keep this going, but I think the distinction between the terms "legality" and "legitimacy" is being lost here. You can check for legality, because there are still certain spreads that are impossible on a give date. But you cannot verify the legitimacy, since you do not know if the Wonder Card was downloaded or not.

Or am I not understanding something?

Share this post


Link to post
Share on other sites

A downloaded Wonder Card uses spreads that are determined by the game's RNG, so you should always have the proper seed for the day, and thus you would never get the impossible spreads. Those are only a factor if you manually edited the Pokemon.

So would changing the date in your DS change your RNG spread too?

Share this post


Link to post
Share on other sites

Well, it would change the spread by changing the seed, but it would have no effect on the relationship between the two (as far as I can tell). Which is why I agree that this relationship does not make a valid means of checking legitimacy. Like Syberia said, I think the only way to throw this relationship off other than hacking is to leave your DS on for a while (or claim the Pokémon just after midnight?).

Although, that doesn't seem as sound a test as it did before, now that I think about it.

Share this post


Link to post
Share on other sites

Er, unless I am missing some new development here Wondercard PIDs are still something of a mystery. Additionally, it is 100% confirmed that there is no correlation between PID and IVs (similar to eggs) because abusers have gotten the same IVs through abuse on many different PIDs.

Wondercard IVs are "Method 1", or maybe a better way to say it is that IVs are generated through two sequential calls to the PRNG, though.

Now for regular legends I am finding that you don't even need a date to know which ones are hacked IF the person claimed to have soft reset them. It's real obvious when you back track through the seeds and there are none found within 1000 calls that could have reasonably been initial seeds. Remember the RNG does not run in quiet caves at all, so soft resets should have a good initial seed within a few reverse rng calls.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now