SplitSecondChecksumCheck.java 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package QuickVerifyCrap;
  2. import de.nplusc.izc.tools.baseTools.Tools;
  3. import java.nio.charset.StandardCharsets;
  4. import java.util.Locale;
  5. public class SplitSecondChecksumCheck {
  6. public static void main(String[] args) {
  7. String checkthis = "Environments\\Levels\\nem_training\\Cameras\\TakedownSequences\\TakeDownSequences.xml";
  8. long cs = wiggleChecksum(checkthis);
  9. System.out.println(cs);
  10. //1183085413 = 0x46847365
  11. }
  12. static long wiggleChecksum(String checksumtarget)
  13. {
  14. byte[] raw = checksumtarget.toLowerCase(Locale.ROOT).getBytes(StandardCharsets.UTF_8);
  15. long csum = 0;
  16. for(byte c:raw)
  17. {
  18. //long massagedChar = massage_character(c&0xFF);
  19. //System.out.println(c);
  20. csum =csum*0x1f+c;
  21. csum = csum&0xFFFFFFFFL;
  22. }
  23. //System.out.println(Long.toHexString(csum));
  24. return csum;
  25. }
  26. static long massage_character(int param_1)
  27. {
  28. //System.out.println(param_1);
  29. if (0x19 < param_1 - 0x41)
  30. {
  31. if (0xbf < (int)param_1)
  32. {
  33. if (param_1 == 0xd7)
  34. {
  35. return 0xd7;
  36. }
  37. if ((int)param_1 < 0xdf)
  38. {
  39. return param_1 + 0x20; //was LAB_005312fc:
  40. }
  41. if (0xff < (int)param_1)
  42. {
  43. if (0x137 < (int)param_1)
  44. {
  45. if (param_1 == 0x138)
  46. {
  47. return 0x138;
  48. }
  49. if (0x148 < (int)param_1)
  50. {
  51. if (param_1 == 0x149)
  52. {
  53. return 0x149;
  54. }
  55. if ((int)param_1 < 0x178)
  56. {
  57. return param_1 | 1; //was goto:LAB_0053132b:
  58. }
  59. if (param_1 == 0x178)
  60. {
  61. return 0xff;
  62. }
  63. if (0x17e < (int)param_1)
  64. {
  65. return param_1;
  66. }
  67. }
  68. return (param_1 & 1) + param_1;
  69. }
  70. //LAB_0053132b:
  71. return param_1 | 1;
  72. }
  73. }
  74. return param_1;
  75. }
  76. //LAB_005312fc:
  77. return param_1 + 0x20;
  78. }
  79. }