Breaking the 1114 limit in POC #6
Replies: 6 comments 2 replies
-
Hey, i think it's not going to be an exact value that you can replace in hex editor.
It's more like they start at a random index to obfuscate stuff. My guess is that the POC variables related to the card limit are similar structured? Maybe this helps you. |
Beta Was this translation helpful? Give feedback.
-
Interesting. Viewing at the code, would those appear as values pretty close to eachother? Not sure what exact value would be BEGIN and END at 4007 and 7039+1 respectively. Perhaps if I translated these values into hex, find their format in the YGO2 exe and then search for a similar thing in POC, just with it's own values One things that does help is that there's a mentioned of the exact number of cards but without tokens and 1 other. So I could try to look for 1109 instead of 1114 in POC exe. Also, there are 5 tokens, so along with 5504, there should be 04 nearby. |
Beta Was this translation helpful? Give feedback.
-
What about this sting of numbers 55 04 8B C7 5F C1 E0 04 03 C2 5E 89 45 08 5D 5B 83 C4 0C C2 0C 00 8B 45 08 89 55 04 Starts at 50917.... You have 55 04 (1109), then 04 very close and then again 55 04 pretty close But honestly, even opening ygo2.exe from 2006, I couldn't find any sufficiently close appearance of values 4007, 2659 and 779...or to be more precise A70F, 630A and 0B03. |
Beta Was this translation helpful? Give feedback.
-
I even tried some light analysis of poc and ygo2 in ghidra...honestly, it's gonna take someone much smarter to figure this out... Seeing this uncompiled code from ygo2, I would say it's probably possible but finding it is like searching for a needle in a haystack without even knowing what a needle was. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Niiiice! |
Beta Was this translation helpful? Give feedback.
-
So, since YGO 2005-11 .bin database files are fully compatible with all versions of the POC games, I've been trying to break the 1114 limit that is probably set in the engine. Can't be 100% sure, but no edit of any of the bin files made any difference.
So far, I've searched for any instance of 1114 in hex (5A04) in all three engines and there's quite a bit of results. Trough some elimination, I've tried replacing some with 2350 in hex (2E09) which is the size of 05-11 YGO card database. I skipped a fair number of instances with repeating patterns after 5A04.
I'm guessing a limit of this kind wouldn't have to be repeated over 20 times in the engine. Even if it was there for every bin file individually, which would be extremely superfluous, it would still need at best 8-9 repeats, especially since the engine references different languages not by separate strings to bins, but by an automatic extension recognition (eng, spa, ita...etc)
One instance crashed the game, others made no difference.
Next I tried the last line position in the .bin databases in hex (08B5 for 1114 cards and 125D for 2350 cards). I theory, the POC engine could be programmed to read up to a specific line in the bin files. Again, not much progress was made there. Another problem was that although POC engine had quite a few instances of 5A04 and 08B5, YGO engine ususally didn't have any for 2E09 or 125D but then again, by that time, perhaps they changed it to have no limit when it came to the card slot/database size.
Then last slotted card. POC - Slime Token (8307), YGO - Gear Golem (F30B)
Last I tried highest internal indexed cards in each game, for POC that would be Launcher Spider (5509 in hex) and for YGO it's Gear Golem (F30B in hex). Perhaps the POC games were limited to the highest inside index after which they stop. Again, no additioanl cards appeared.
This thread is mostly for brainstorming. Perhaps one of the mentioned methods was the solution, I just did it wrong, calculated the hex wrong or missed something. Perhaps someone will have a better idea based on these attempts.
Beta Was this translation helpful? Give feedback.
All reactions