Advertisement
Guest User

Untitled

a guest
Jul 8th, 2015
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.13 KB | None | 0 0
  1. package ui
  2. {
  3. import com.doogog.ui.UIObject;
  4. import com.adobe.crypto.MD5;
  5. import heroclickerlib.models.UserData;
  6. import swc.mainui.ImportScreenDisplay;
  7. import lib.ui.UIFunctionalityProvider;
  8. import lib.managers.TextManager;
  9. import flash.events.MouseEvent;
  10. import com.hurlant.util.Base64;
  11. import com.doogog.utils.GenericEvent;
  12. public class ImportScreen extends UIObject
  13. {
  14. public function ImportScreen(param1:UserData)
  15. {
  16. super();
  17. _userData = param1;
  18. setDisplay(new ImportScreenDisplay());
  19. }
  20. public static const TEXT_SPLITTER:String = "Fe12NAfA3R6z4k0z";
  21. public static const SALT:String = "af0ik392jrmt0nsfdghy0";
  22. public static function sprinkle(param1:String) : String
  23. {
  24. var _loc5_:* = NaN;
  25. var _loc4_:* = null;
  26. var _loc2_:Array = param1.split("");
  27. var _loc3_:Array = [];
  28. _loc5_ = 0.0;
  29. while(_loc5_ < _loc2_.length)
  30. {
  31. _loc3_[_loc5_ * 2] = _loc2_[_loc5_];
  32. _loc4_ = "1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
  33. _loc3_[_loc5_ * 2 + 1] = _loc4_.substr(Math.floor(Math.random() * (_loc4_.length - 1)),1);
  34. _loc5_++;
  35. }
  36. return _loc3_.join("");
  37. }
  38. public static function unSprinkle(param1:String) : String
  39. {
  40. var _loc4_:* = NaN;
  41. var _loc2_:Array = param1.split("");
  42. var _loc3_:Array = [];
  43. _loc4_ = 0.0;
  44. while(_loc4_ < _loc2_.length)
  45. {
  46. _loc3_[_loc4_ / 2] = _loc2_[_loc4_];
  47. _loc4_ = _loc4_ + 2;
  48. }
  49. return _loc3_.join("");
  50. }
  51. public static function toAntiCheatFormat(param1:String) : String
  52. {
  53. return sprinkle(param1) + "Fe12NAfA3R6z4k0z" + getHash(param1);
  54. }
  55. private static function getHash(param1:String) : String
  56. {
  57. var _loc2_:Array = param1.split();
  58. _loc2_.sort();
  59. var _loc3_:String = _loc2_.join();
  60. return MD5.hash(_loc3_ + "af0ik392jrmt0nsfdghy0");
  61. }
  62. public static function fromAntiCheatFormat(param1:String) : String
  63. {
  64. var _loc3_:Array = param1.split("Fe12NAfA3R6z4k0z");
  65. var _loc2_:String = unSprinkle(_loc3_[0]);
  66. if(getHash(_loc2_) != _loc3_[1])
  67. {
  68. throw new Error("Hash is bad");
  69. }
  70. else
  71. {
  72. return _loc2_;
  73. }
  74. }
  75. private var _userData:UserData;
  76. private function get _typedDisplay() : ImportScreenDisplay
  77. {
  78. return display as ImportScreenDisplay;
  79. }
  80. override protected function setup() : void
  81. {
  82. super.setup();
  83. UIFunctionalityProvider.provideBasicButton(_typedDisplay.okButton,onOkay,"Import");
  84. UIFunctionalityProvider.provideBasicButton(_typedDisplay.closeButton,onClose);
  85. _typedDisplay.input.addEventListener("click",onInputClicked,false,0,true);
  86. }
  87. public function clear() : void
  88. {
  89. TextManager.setText(_typedDisplay.input,"Paste data here...");
  90. }
  91. private function onOkay(param1:MouseEvent) : void
  92. {
  93. var _loc2_:String = _typedDisplay.input.text;
  94. if(_loc2_.search("Fe12NAfA3R6z4k0z") != -1)
  95. {
  96. _loc2_ = fromAntiCheatFormat(_loc2_);
  97. }
  98. else if(new Date().getTime() > 1.414361019E12)
  99. {
  100. throw new Error("Old format not supported anymore");
  101. }
  102. var _loc3_:UserData = new UserData();
  103. _loc3_.fromJson(Base64.decode(_loc2_));
  104. _userData.fromJsonObject(_loc3_.toJsonObject());
  105. _userData.dispatchEvent(new GenericEvent("reset_game"));
  106. ActionBar.needsUpdate = true;
  107. onClose(null);
  108. }
  109. private function onClose(param1:MouseEvent) : void
  110. {
  111. clear();
  112. hide();
  113. }
  114. private function onInputClicked(param1:MouseEvent) : void
  115. {
  116. if(_typedDisplay.input.text == "Paste data here...")
  117. {
  118. _typedDisplay.input.text = "";
  119. }
  120. }
  121. }
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement