Jump to content


Former Staff
  • Posts

  • Joined

  • Last visited

Everything posted by Poryhack

  1. Nice find(s)! I would bring this to Kaphotics' attention so he can include it in pkhex. You can submit a new 'issue' here and label it 'enhancement'.
  2. There's a bit more info from somebody that was using an arduino to read raw IR data here: https://projectpokemon.org/forums/showthread.php?34104-Emulating-Wifi-(Subdiscussion-of-Pkx-The-New-Pokemon-Format-For-Gen-6)&p=189158&viewfull=1#post189158 As for your approach, I'm not sure a phone will have the kind of low-level access to the IR unit that you'll need... You'll have to try it and see. EDIT: With unsigned code/homebrew now possible on the 3DS it may be possible to use the native 3DS IR libraries and see the data at a higher level (which means probably more coherent/recognizable/understandable). You can even use a leaked CTR SDK tool called IrCommunicatorChecker to capture some basic information. Documentation attached.
  3. I can't speak for Kaphotics, but IMO messy and ugly open source is better than closed source (no matter how beautiful). If you can integrate it with PKHex at all you should (especially if your existing code isn't out on github already); at least that way it's out in the open. Someone will come along and make it better. Maybe even you!
  4. As you admitted PKHex is the more expansive of the two. On top of that it's open source (I'm not sure what ever happened with PokeGen's source but I don't think it was made fully public). It probably makes more sense to expand on PKHex than PokeGen. If you have any experience with programming you can even do it yourself. If not, continue lobbying I suppose.
  5. Can you find the location in the ROM where this table is stored/loaded from and modify that for persistent adds?
  6. This is a great idea. The old way of ROM patching has become very unwieldy in the new age of ROMs with multiple levels of archived/compressed/encrypted directory structures. Forgive me for not digging deeper to answer these questions for myself, but how are you handling patching? Maybe you're already doing this, but I think the best way to accomplish it would be to dearchive/decompress/decrypt every constituent file in the ROM to it's logical end point (the raw data for one file) and apply patches using conventional delta methods to those files only. A "mod" could be a zipped collection of patch files in a file tree matching the original ROM along with MD5 hashes of the unmodified file for the sake of sanity checks before applying the patch. There could also be some type of config file detailing added/deleted files for the mods that go beyond edits to existing files. Obviously you're going the game-specific route here, but I think a generic version of this without all the fancy game-specific features that could work on any decrypted 3DS ROM would be very well received. EDIT: AFter another look though maybe I'm wrong about the game-specific part. Saw the screenshot and assumed with the sprites and whatnot that you were limiting it to the PMD games.
  7. In general if you have to ask something like this you're proving that you're not willing/able to follow through--because you're lacking the basic foundation of knowledge that you'd have to build off in order to do so. Normally I don't point this out because it comes off rather insensitive and elitist but it is an unfortunate truth. I guess I pointed it out today because what you're describing sounds an awful lot like a way to get an edge over other (unknown) players while online which is--with good reason--frowned upon around here. On the off chance I'm wrong about all the above, you have to start by finding a way to view the plaintext communications between your 3DS and whatever relevant domains it connects to. With the plaintext you can (probably with some effort) reverse engineer a client.
  8. Interesting. If I recall correctly this is much bigger than the last couple patches then right?
  9. In the past certain members here (can't recall exactly how now but the usual reverse-engineers, etc) have released a short summary of which files in the ROM have changed. This can give a much more specific idea of what changes Gamefreak made. Keep in mind that they have to support a pretty large online infrastructure. Not every change is gonna have any user-facing effects. That doesn't mean they're unnecessary. I'm a professional developer and I push out changes like that all the time.
  10. For what it's worth, NDS flashcards can be had for less than $10 shipped and they open up a whole world of opportunities. Well worth the money.
  11. I've gotten custom patches to work on Pokemon Bank. It should be possible with X/Y/whatever. I'd imagine that merging the patch into the ROM would work too (assuming you update some version strings and delete any legacy data on your system) but I can't say I've actually tried. When you say exinjector worked with OR, was that using exinjector on the patch or the game? To the best of my knowledge exinjector won't work for anything you have to install through devmenu because it breaks all kinds of signatures and hash checks. What I did with bank was hand-create my RSF to match it's original exheader parameters perfectly and build it as an unencrypted NCCH in makerom. Honestly using these premade game-agnostic RSFs everywhere is not really best practice; everything you need to create a perfect RSF can be read from the original exheader. There just aren't any tools out that that will do it for you.
  12. Damn this is an impressive find/solution for a 8 year old game. Props.
  13. Downgrading is only possible if you're already on an exploitable firmware (9.2.0-20 or lower for now).
  14. You can't expect exploits to remain unpatched this day in age. You have to either be wary and only update when you know it's safe or take the approach of the Gateway team and created an emulated version of your system storage that can be updated independently of the exploitable, non-emulated version. Depending on how desperate you are, you can always sell your 3DS and buy one that you know is running an older, exploitable firmware.
  15. I too would like an answer to the actual question you're asking, but I thought I'd suggest an alternative solution for you. If your firmware is still 9.2 or lower you can buy a Gateway and use it to create and boot an emulated image of your entire system that runs off the SD card (commonly referred to as emuNAND). Once you're booted into the emulated NAND you can update at will without overwriting your exploitable system (real) NAND. I don't know the specifics but I suspect that going online on your old 3DS wouldn't be a good idea after the transfer unless you can "untie" it from the online identity that you transferred to your New 3DS. Unfortunately, again, I don't know the specifics, but I think that is possible. Hope that's helpful. That you're even asking this means you must be on 9.5.0-22 or lower, hopefully you're 9.2.0-20 or lower so you can make this work for you!
  16. Yes if you can get a Gateway that will be the easiest option for texture editing. There is already quite a bit of information on that route if you look around. Gateway removes the signature checks on ROMs meaning that you can take your ROM and edit the textures directly giving you persistent edits. Knowledge of HTML is useful but not very relevant to programming in C or any other language. Editing the textures with any of the available tools for use with a Gateway won't require any programming experience.
  17. Injecting pokemon works because they are stored in the game's save file, which the game has read and write access to. Things like textures are stored in the game's ROM, which stands for read only (no write access) memory. Without write access to the ROM you can't make persistent changes to thing like textures. The closest you could get, and this is purely hypothetical, is to use the use the web browser exploit to overwrite the textures after they have been read from the ROM and are being temporarily stored in RAM. RAM stands for random access memory, and we have read and write access to it using the web browser exploit. The problem with writing to RAM is that things are only there temporarily. RAM is not persistent like the game's save file or ROM, so any changes you make will be gone the next time you start the game. Your changes may even disappear while you play the game if it determines that it no longer needs to hold those textures in memory. For all of those reasons and because it takes a significant amount of effort to develop these injection tools, I doubt you will see, as you put it, internet-based texture injection. If you want to take a stab at it yourself though, you are free to look at the source code for RAM2Sav as a starting point. You'll need to understand programming, specifically in C (a programming language), but it's never too early to start learning!
  18. Trust me when I say that this horse was beaten dead 5+ years ago, but calling RNG abuse legitimate is questionable. It's taking a shortcut to your end goal and going outside the way the game was designed to be played, and some people feel that is "cheating". I have always found RNG abuse to be a bit of an odd pursuit, but in this case I find it especially so. Even if you are of the mindset that a pokemon should be generated in-game why would you read the RNG state and then do X, Y, Z ingame to get it in the state you want? We have write access; you can just set it to the state you want using the exploit.
  19. Nice! You're getting this info by poking around the website right? I'm working on a way to MITM SSL communications from the games themselves which could yield some more interesting API items.
  20. Worth noting that there is nothing special about the blue card; any DS flashcart that isn't blocked in the 3DS firmware will work.
  21. If your 3DS is still on 9.2 you can actually use Gateway's exploit to dump your ROM without owning a Gateway red card. Just grab Gateway's Launcher.dat, place it on the 3DS internal SD, and launch the exploit through the browser. You'll boot into a Gateway-themed menu where one of the options is to dump a ROM. No Gateway red card is necessary until you want to return to the home menu with signature/cart checks patched out. I doubt there is any way to get the ROM header info from a save file, but I could be wrong.
  22. Attacking someone for using Gateway (especially when they clearly own legitimate copies of the game) is just as off-topic and entirely unjustified. Using a Gateway is a perfectly valid way to facilitate save editing and the only way to achieve a whole host of other things including ROM editing. Have you ever wondered how sites like Serebii end up with complete and reliable information (think learnsets, encounter data, etc, etc) on every pokemon the day new pokemon games come out? It's a result of reverse engineering efforts that wouldn't be possible in the 3ds generation without the exploits developed by the Gateway team. Do I think that Gateway is actively profiting off of piracy? Yes. Do I think that we should assume that everyone using a Gateway is a dirty pirate? No. Using a Gateway or exploits developed by the Gateway team is genuinely superior to using an actual cart; I would never disparage someone for it. On top of all that, I co-founded this site with the idea that it is none of your or my damn business what other people are doing. The rules here exist to prevent this site from being DMCA'd into oblivion not to enforce some bullshit morality code.
  23. No. Savedatafiler has no idea the Gateway is anything more than a retail cart; it wasn't created by the Gateway team or any homebrew developer. It was leaked from tools provided to official game developers by Nintendo. What you can do as an alternative is install an FTP server like ftpony or ftbrony on your 3ds; look for a .cia version of one of them and install it. When it's up and running you'll be able to use an FTP client (I personally use the one built in to Windows Explorer) to connect to your 3DS over your wireless LAN and move files back and forth between the 3ds and your computer.
  • Create New...