baoenzo

Export Fallen Doll

Jan 9th, 2022 (edited)
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.97 KB | None | 0 0
  1.  
  2. public void Export(string pathUE, bool isFD)
  3. {
  4. if (isFD)
  5. {
  6. List<string> temps = new List<string>();
  7. FileStream fs = new FileStream(pathUE, FileMode.Open);
  8. using (var reader = new BinaryReader(fs))
  9. {
  10. reader.BaseStream.Seek(0x35, SeekOrigin.Begin);
  11. for (int i = 0; i < 1353; i++)
  12. {
  13. reader.ReadInt64(); //unk
  14. long t = reader.ReadInt64();
  15. if (t != 22)
  16. {
  17. reader.ReadInt64();
  18. reader.ReadInt64();
  19. reader.ReadInt64();
  20. }
  21. else
  22. {
  23. reader.ReadInt64();
  24. }
  25. //5 bytes
  26. reader.ReadByte();
  27. int sizeText = reader.ReadInt32();
  28. if (sizeText < 0)
  29. {
  30. sizeText = sizeText * -2;
  31. byte[] data = reader.ReadBytes(sizeText);
  32. string a = Encoding.Unicode.GetString(data).Replace("\0", "[0]");
  33. if (a.Length != 0)
  34. temps.Add(a);
  35. else
  36. temps.Add("null");
  37. }
  38. else
  39. {
  40. byte[] data = reader.ReadBytes(sizeText);
  41. string a = Encoding.Default.GetString(data).Replace("\0", "[0]");
  42. if (a.Length != 0)
  43. temps.Add(a);
  44. else
  45. temps.Add("null");
  46. }
  47.  
  48. }
  49. }
  50.  
  51. try
  52. {
  53. File.WriteAllLines(Path.GetDirectoryName(ofd.FileName) + @"/dump.txt", temps);
  54. MessageBox.Show("Done!!", "Done!");
  55. }
  56. catch (Exception ex)
  57. {
  58. MessageBox.Show(ex.Message);
  59. }
  60. }
  61. else
  62. {
  63. List<string> temps = new List<string>();
  64. FileStream fs = new FileStream(pathUE, FileMode.Open);
  65. using (var reader = new BinaryReader(fs))
  66. {
  67. reader.BaseStream.Seek(0x39, SeekOrigin.Begin);
  68. for (int i = 0; i < 5194; i++)
  69. {
  70. reader.BaseStream.Seek(0x15, SeekOrigin.Current);
  71. int sizeText = reader.ReadInt32();
  72. if (sizeText < 0)
  73. {
  74. sizeText = sizeText * -2;
  75. byte[] data = reader.ReadBytes(sizeText);
  76. string a = Encoding.Unicode.GetString(data).Replace("\0", "[0]");
  77. a = a.Replace("\n", "[n]");
  78. if (a.Length != 0)
  79. temps.Add(a);
  80. else
  81. temps.Add("null");
  82. if (reader.ReadInt32() == 234 && reader.BaseStream.Position != reader.BaseStream.Length)
  83. {
  84. reader.BaseStream.Seek(0x10, SeekOrigin.Current);
  85. }
  86. }
  87. else
  88. {
  89. byte[] data = reader.ReadBytes(sizeText);
  90. string a = Encoding.Default.GetString(data).Replace("\0", "[0]");
  91. a = a.Replace("\n", "[n]");
  92. if (a.Length != 0)
  93. temps.Add(a);
  94. else
  95. temps.Add("null");
  96. if (reader.BaseStream.Position < reader.BaseStream.Length)
  97. {
  98. if (reader.ReadInt32() == 234)
  99. {
  100. reader.BaseStream.Seek(0x10, SeekOrigin.Current);
  101.  
  102. }
  103. }
  104. else
  105. break;
  106. }
  107.  
  108. }
  109. }
  110.  
  111. try
  112. {
  113. File.WriteAllLines(Path.GetDirectoryName(ofd.FileName) + @"/dump.txt", temps);
  114. MessageBox.Show("Done!!", "Done!");
  115. }
  116. catch (Exception ex)
  117. {
  118. MessageBox.Show(ex.Message);
  119. }
  120. }
  121. }
Add Comment
Please, Sign In to add comment