Jump to content

marcos9191

Member
  • Posts

    62
  • Joined

  • Last visited

Everything posted by marcos9191

  1. I know perfectly how to work the trash bytes in all generations, if you really want my help for pokecheck, send me a pm. Also I have a list of combinations id / sid invalid in 4th gen.
  2. Remember that once hatched the egg, whether puts nickname or not, if you change the nicknames with nickname evaluator from the first pair of FF's the rest are pairs of 00's. And the same for the trash bytes of gba, you can change the nickname because the only requirement is the id/sid of trainer match with id/sid of pokémon.
  3. I think (only as a suggestion) you could add "provably because nick was changed after hatching" into the warning "This Pokémon is missing DPPt hatch trash bytes" and "This Pokémon is missing HG/SS hatch trash bytes", is the only legal chance to have them so if don't have DPPl or HG/SS trash bytes.
  4. This pokemon is valid because when you trade an egg the game changes the OT, tid, sid and game (country not change) This pokemon is hacks because the nature, gender or iv's speed is not same of the wonder card. You see this axew and compare with the others: https://www.pokecheck.org/?p=detail&uid=3031363 note: this axew obtained in english edition and before hatch I traded into a black 2 spanish edition In this link you can see it's the same (in this case is a squirtle egg event traded into white spanish version): https://www.pokecheck.org/?p=detail&uid=3020837
  5. Lack update the world12 pikachu spanish version, missing the title of the wonder card but the pokemon could be added because the type of pid is the same for all pikachu's that event: https://www.pokecheck.org/?p=detail&uid=2397789
  6. I need the trash bytes from gba games off all regions (except position 1 off hg-ss and position's 1-6 of pearl, all in spanish),ie, I need the trash bytes (including positions 1-6) from ddpl & hg-ss games in spanish, english, french, italy, german, korean and japanese except those mentioned above (If anyone has a list), To check the trash bytes from gba games with TeamChecker. Whether they serve me 4th or 5th gen, it would only replace the last 2 bytes per 0xFFFF
  7. I've solved: Method Rand: seed = (0x41C64E6D * seed + 0x6073) & 0xFFFFFFFF; return seed; and line to sequential to shuffle 0x08-0x87: temp = (long) (((pkm+(pkm[b+1]<<8)))^(rand())>>>16); Thank's to RubenPikachu and codemonkey85 for help me. Now only remains write check of team gradually and adapt it to the .sav file, in 3-4 weeks I hope to have a version with the basics checks.
  8. CODE; import java.io.*; import javax.swing.JFileChooser; //TeamCheck5Gen public class PokemonTeamCheck5Gen { //variables estaticas necesarias static long seed; public static void main(String[] args)throws Exception{ //Read encrypted pkm extracted from .sav (0x18E08 - 0x18E0B = pid poke 1) JFileChooser fileopen = new JFileChooser(); fileopen.setDialogTitle("Team Checker (Written by marcos91)"); if (fileopen.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){ File file = fileopen.getSelectedFile(); FileInputStream fis = new FileInputStream(file); DataInputStream input = new DataInputStream(fis); int[] pkm = new int[136]; for (int i=0; i<136; i++){ pkm[i] = input.readUnsignedByte(); } //PID String b0 = AddZeros(Integer.toHexString(pkm[0x00])); String b1 = AddZeros(Integer.toHexString(pkm[0x01])); String b2 = AddZeros(Integer.toHexString(pkm[0x02])); String b3 = AddZeros(Integer.toHexString(pkm[0x03])); String spid = b3+b2+b1+b0; long pid = Long.parseLong(spid,16); System.out.println(pid); //Checksum String b6 = AddZeros(Integer.toHexString(pkm[0x06])); String b7 = AddZeros(Integer.toHexString(pkm[0x07])); int checksum = Integer.parseInt(b7+b6,16); System.out.println(checksum); //Ordenar bloques ABCD int num = Math.round(((pid & 0x3E000) >> 0xD) % 24); String orden = ""; orden = OrdenABCD(num, orden); String ordenCopiar = orden; System.out.println(num + "=" + orden + "Inverso="+ ordenCopiar); //Desencriptar pkm seed = checksum; //inicializa la seed con el checksum long temp = 0; int b = 8; int[] x = new int[136]; for (b=8; b<136;){ char opc = orden.charAt(0); switch(opc){ case 'A': for (int j=8; j<0x28; j+=2){ [b] temp = (long)(((pkm[b]+(pkm[b+1]<<8)))^(rand())); x[j+1] = (byte)((byte)((temp & 0xFF00)>>>8)); x[j] = (byte)((byte) temp & 0xFF); b+=2;[/b] } System.out.println("a entrado en a"); orden = orden.replace("A",""); break; case 'B': for (int j=0x28; j<0x48; j+=2){ temp = (long)(((pkm[b]+(pkm[b][b+1]<<8)))^(rand())); x[j+1] = (byte)((byte)((temp & 0xFF00)>>>8)); x[j] = (byte)((byte) temp & 0xFF); b+=2;[/b] } System.out.println("a entrado en b"); orden = orden.replace("B",""); break; case 'C': for (int j=0x48; j<0x68; j+=2){ [b] temp = (long)(((pkm[b]+(pkm[b+1]<<8)))^(rand())); x[j+1] = (byte)((byte)((temp & 0xFF00)>>>8)); x[j] = (byte)((byte) temp & 0xFF); b+=2;[/b] } System.out.println("a entrado en c"); orden = orden.replace("C",""); break; case 'D': for (int j=0x68; j<0x88; j+=2){ temp = (long)(((pkm[b]+(pkm[b][b+1]<<8)))^(rand())); x[j+1] = (byte)((byte)((temp & 0xFF00)>>>8)); x[j] = (byte)((byte) temp & 0xFF); b+=2;[/b] } System.out.println("a entrado en d"); orden = orden.replace("D",""); break; } } //exportar String nombre = file.getAbsolutePath()+"exported"; FileOutputStream fos = new FileOutputStream(nombre); DataOutputStream modificar = new DataOutputStream(fos); //copiar primeros 8 bits (pid, 2 bits sin uso y checksum) for(int c=0; c<8; c++){ x[c] = pkm[c]; modificar.write(x[c]); } for(b=8; b<136;){ char opc2 = ordenCopiar.charAt(0); switch(opc2){ case 'A': for (int j=8; j<0x28; j++){ modificar.write(x[j]); b++; } ordenCopiar = ordenCopiar.replace("A",""); break; case 'B': for (int j=0x28; j<0x48; j++){ modificar.write(x[j]); b++; } ordenCopiar = ordenCopiar.replace("B",""); break; case 'C': for (int j=0x48; j<0x68; j++){ modificar.write(x[j]); b++; } ordenCopiar = ordenCopiar.replace("C",""); break; case 'D': for (int j=0x68; j<0x88; j++){ modificar.write(x[j]); b++; } ordenCopiar = ordenCopiar.replace("D",""); break; } } } } public static String AddZeros(String b){ if(b.length() == 1){ b = "0" + b; } return b; } //Metodo Rand public static Long rand(){ seed = (0x41C64E6D * seed + 0x6073) & 0xFFFFFFFF; return seed = seed>>>16; } public static String OrdenABCD(int num, String orden){ switch(num){ case 0: orden = "ABCD"; break; case 1: orden = "ABDC"; break; case 2: orden = "ACBD"; break; case 3: orden = "ACDB"; break; case 4: orden = "ADBC"; break; case 5: orden = "ADCB"; break; case 6: orden = "BACD"; break; case 7: orden = "BADC"; break; case 8: orden = "BCAD"; break; case 9: orden = "BCDA"; break; case 10: orden = "BDAC"; break; case 11: orden = "BDCA"; break; case 12: orden = "CABD"; break; case 13: orden = "CADB"; break; case 14: orden = "CBAD"; break; case 15: orden = "CBDA"; break; case 16: orden = "CDAB"; break; case 17: orden = "CDBA"; break; case 18: orden = "DABC"; break; case 19: orden = "DACB"; break; case 20: orden = "DBAC"; break; case 21: orden = "DBCA"; break; case 22: orden = "DCAB"; break; case 23: orden = "DCBA"; break; } return orden; } } Part of getting the pid, the checksum and inicial seed works, but something is not working (I think that is the part in bold) And also tried to run the program on the first generated file and generates another as the original
  9. Thank's for you help. I will try in the next days and will comment the results here.
  10. Use this application to correct trash bytes: http://projectpokemon.org/forums/showthread.php?19106-Release-v6-Trash-bytes-Fixer-BW-amp-BW2-(version-6) note: you need JRE to run the program.
  11. I want to make a "team checker" fifth generation physical tournament but there is a part that does not work well. The part of the block itself, but to decrypt the .sav file doesn't work. First I want to try a pkm extracted directly from the .sav file and then adapt it to the team. I followed this guide but for some reason I'm god at the result, for example bit 8 = c8 (encrypted) would have to get out 83 (decryption) but does not give me that number. Link of source code and reshiram (normal pkm and encrypted extracted from bw .sav): Anyone know what is wrong? I want to learn how it works ----------- public class PokemonTeamCheck5Gen { public static void main(String[] args)throws Exception{ //block a-b-c-d (0-24) Long pid = 3621399865L; int a = Math.round(((pid & 0x3E000) >> 0xD) % 24); System.out.println(a); //Read encrypted pkm extracted from .sav (0x18E08 - 0x18E0B = pid poke 1) JFileChooser fileopen = new JFileChooser(); fileopen.setDialogTitle("Team Checker (Written by marcos91)"); if (fileopen.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){ File file = fileopen.getSelectedFile(); FileInputStream fis = new FileInputStream(file); DataInputStream input = new DataInputStream(fis); int[] pkm = new int[136]; for (int i=0; i<136; i++){ pkm = input.read(); } //checksum = 0x27dd (dd27 in little endian) //Decrypt data //x[i+1] = x ^ Math.round((0x41C64E6D * 0xdd27 + 0x6073)); int[] x = new int[136]; for (int j=8; j<136; j++){ x[j] = x[j] ^ Math.round((0x41C64E6D * 0x27dd + 0x6073)); System.out.println(x[j]); } } } } TeamChecker..zip
  12. Sorry for the double post. TeamChecker..zip
  13. Program re-uploaded. Not been necessary to add what I said the other day, and it was not necessary to clear thinking that if he had to. I remember that improvements: -Added checksum calculation (thank's Kazowar for help me) -Added all pokémon from bw2 -Added special Zorua from bw and Manaphy from Ranger.
  14. Sorry to say need to add the location of the dream radar pokemon so remove this link and upload it again next tuesday.
  15. I published the last version (v6) with this upgrade's: -Added chekcum calculation, and don't need re-open an re-save the pkm file generated by the programm. -Added all pokémon from bw2 -Added special Zorua from bw and Manaphy from Ranger. With this version will be correct any pokémon from any generation and game.
  16. I understand and I apologize for being heavy, I thought they were added and it was a failure event to be eggs.
  17. I would like to say something, is explained in the image: http://www.mediafire.com/view/? These are events that I get hacked when legally can have data without any external manipulation: https://www.pokecheck.org/?p=detail&uid=2024157 https://www.pokecheck.org/?p=detail&uid=2038487 If nobody believes me, you try someone around here that inspires more confidence (I can not think of anything more to prove I'm not lying).
  18. For the Manaphy can be shiny legally obtaining egg must be "trade link (number 2002 in Pokesav)".
  19. A few days out new editions, I'll upload version 6 of the program including: BW pokes some that I forgot to add, the necessary pokes from bw2. For the checksum, until publication of the new version have to open and re-save the pkm file (serves any editor). About the trash bytes, the pokecheck has some faults and notify, these are the fourth generation eggs and japaneses pokes from gba. And I said that the trash bytes generated by the "TB Fixer" are correct, doing some tests. For example, for trash bytes fourth generation, I have relied on that when you change the name, the rest of trash bytes for pokemon name is 0x00 (which apply in my program) for the GBA got trash bytes a whole chain but with the Japanese pokes taken for invalid, with the rest not. I assure you that the trash bytes that my program generates are good, because they are based on things he does own game by changing the name. Even so, you can leave the link of that pokemon?
  20. Have if I find time and I get to work at it, I also want to finish the tb fixer and add some missing pokemon (the "especials" from bw2).
  21. All eggs (including events) change the location to be exchanged without hatching, so with the id, sid and ot. I tested it several times, you can check it yourself if you do not believe, sending an unhatched egg to another edition, you can verify that changes the location (i tested with ds lite and 3ds, with flashcard and original game respectively). edit: The original game is also changed, the only thing that remains is the region, including the Pokémon that are not initially shinys can be, and those who were shinys may cease to be, in both cases if the pokemon is changed with another edition.
  22. Swap the Japanese charmander before hatching-what my edition white (original), and uploaded it to pokecheck and I get to the meeting place is "hacked" when it is not because the egg pokes, even events, if exchanged the location is changed to "trade link". Someone may review this detail for pokemon are eggs event?
  23. The pokémon obtained in dream radar must meet the relationship pid-id-sid? Is to add this restriccion to pokemon dream radar generator. Thanks. Edit: Solved.
  24. Ok, thanks for the info. The attacks are the last 4 learning by level, for now I will do so and if there are any special attack or something I will update. In 3 or 4 days I will put to work in the program and will try to finalize it as soon as possible.
×
×
  • Create New...