xG_rinding

CRASH ANY SERVER SCRIPT

May 2nd, 2020
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 33.09 KB | None | 0 0
  1. --// Obfuscated with NiggaSealant
  2. --// Works best if executed multiple times
  3. game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(0,4000,0)
  4. wait()
  5. while true do
  6. for i = 1, 17 do
  7. wait()
  8. while true do
  9. local llIIlIlIIllllIlIlIlIIlIlIlIllllIllI = {'\27','\76','\117','\97','\81','\0','\1','\4','\8','\4','\8','\0','\7','\0',
  10. '\0','\0','\0','\0','\0','\0','\60','\101','\118','\97','\108','\62','\0','\3','\0','\0','\0','\58','\0','\0','\0','\0','\0',
  11. '\0','\14','\128','\0','\0','\0','\1','\0','\0','\0','\64','\0','\0','\0','\129','\64','\0','\0','\85','\128','\128','\0',
  12. '\75','\128','\192','\0','\193','\192','\0','\0','\92','\128','\128','\1','\129','\0','\1','\0','\193','\64','\1','\0','\1',
  13. '\1','\1','\0','\160','\0','\1','\128','\133','\129','\1','\0','\134','\193','\65','\3','\139','\1','\66','\3','\0','\2',
  14. '\128','\0','\156','\65','\128','\1','\159','\64','\254','\127','\133','\128','\1','\0','\139','\64','\66','\1','\1','\193',
  15. '\1','\0','\156','\128','\128','\1','\134','\128','\66','\1','\197','\192','\2','\0','\203','\0','\195','\1','\70','\65',
  16. '\67','\1','\220','\128','\128','\1','\23','\128','\195','\1','\22','\128','\0','\128','\198','\192','\67','\1','\203','\0',
  17. '\196','\1','\220','\64','\0','\1','\197','\192','\2','\0','\6','\65','\67','\1','\198','\0','\129','\1','\6','\65','\196',
  18. '\1','\11','\129','\68','\2','\28','\129','\0','\1','\6','\1','\65','\2','\70','\193','\68','\2','\133','\1','\5','\0','\134',
  19. '\65','\69','\3','\193','\129','\5','\0','\6','\194','\69','\1','\156','\129','\128','\1','\198','\1','\70','\3','\5','\66',
  20. '\6','\0','\6','\66','\69','\4','\65','\130','\6','\0','\129','\194','\6','\0','\193','\130','\6','\0','\28','\130','\0',
  21. '\2','\206','\1','\130','\3','\137','\193','\1','\140','\137','\193','\0','\142','\73','\129','\1','\142','\197','\129','\1',
  22. '\0','\203','\65','\194','\3','\65','\66','\7','\0','\220','\129','\128','\1','\198','\129','\199','\3','\203','\193','\199',
  23. '\3','\100','\2','\0','\0','\0','\0','\128','\1','\220','\65','\128','\1','\195','\1','\128','\3','\11','\2','\195','\1',
  24. '\129','\2','\8','\0','\28','\130','\128','\1','\26','\2','\0','\0','\22','\64','\0','\128','\193','\1','\8','\0','\22','\0',
  25. '\0','\128','\193','\65','\8','\0','\1','\2','\1','\0','\65','\130','\8','\0','\129','\2','\1','\0','\32','\130','\1','\128',
  26. '\6','\195','\129','\1','\6','\195','\72','\6','\11','\3','\73','\6','\28','\131','\0','\1','\70','\67','\196','\1','\70',
  27. '\67','\201','\6','\9','\67','\3','\142','\31','\194','\253','\127','\5','\130','\9','\0','\65','\2','\1','\0','\28','\66',
  28. '\0','\1','\5','\2','\5','\0','\6','\66','\69','\4','\65','\194','\9','\0','\133','\194','\2','\0','\28','\130','\128','\1',
  29. '\9','\66','\74','\148','\9','\2','\65','\149','\9','\2','\203','\149','\70','\66','\203','\1','\70','\66','\198','\4','\9',
  30. '\66','\130','\140','\69','\194','\2','\0','\70','\130','\203','\4','\73','\2','\130','\151','\69','\2','\12','\0','\129',
  31. '\66','\12','\0','\92','\66','\0','\1','\70','\66','\196','\1','\73','\2','\75','\153','\69','\2','\5','\0','\70','\66','\197',
  32. '\4','\129','\194','\12','\0','\198','\2','\205','\1','\92','\130','\128','\1','\133','\130','\13','\0','\134','\66','\69',
  33. '\5','\193','\194','\13','\0','\1','\195','\13','\0','\65','\195','\13','\0','\156','\130','\0','\2','\73','\130','\130',
  34. '\154','\133','\130','\13','\0','\134','\66','\69','\5','\193','\130','\6','\0','\1','\67','\14','\0','\65','\131','\6','\0',
  35. '\156','\130','\0','\2','\73','\130','\2','\156','\73','\194','\77','\157','\30','\0','\128','\0','\59','\0','\0','\0','\4',
  36. '\2','\0','\0','\0','\0','\0','\0','\0','\58','\0','\4','\7','\0','\0','\0','\0','\0','\0','\0','\99','\108','\101','\97',
  37. '\110','\32','\0','\4','\4','\0','\0','\0','\0','\0','\0','\0','\114','\101','\112','\0','\3','\0','\0','\0','\0','\0','\136',
  38. '\195','\64','\3','\0','\0','\0','\0','\0','\0','\240','\63','\3','\0','\0','\0','\0','\0','\0','\89','\64','\4','\5','\0',
  39. '\0','\0','\0','\0','\0','\0','\103','\97','\109','\101','\0','\4','\8','\0','\0','\0','\0','\0','\0','\0','\80','\108','\97',
  40. '\121','\101','\114','\115','\0','\4','\5','\0','\0','\0','\0','\0','\0','\0','\67','\104','\97','\116','\0','\4','\11','\0',
  41. '\0','\0','\0','\0','\0','\0','\71','\101','\116','\83','\101','\114','\118','\105','\99','\101','\0','\4','\12','\0','\0',
  42. '\0','\0','\0','\0','\0','\76','\111','\99','\97','\108','\80','\108','\97','\121','\101','\114','\0','\4','\10','\0','\0',
  43. '\0','\0','\0','\0','\0','\119','\111','\114','\107','\115','\112','\97','\99','\101','\0','\4','\15','\0','\0','\0','\0',
  44. '\0','\0','\0','\70','\105','\110','\100','\70','\105','\114','\115','\116','\67','\104','\105','\108','\100','\0','\4','\5',
  45. '\0','\0','\0','\0','\0','\0','\0','\78','\97','\109','\101','\0','\0','\4','\15','\0','\0','\0','\0','\0','\0','\0','\67',
  46. '\104','\97','\114','\97','\99','\116','\101','\114','\65','\100','\100','\101','\100','\0','\4','\5','\0','\0','\0','\0',
  47. '\0','\0','\0','\87','\97','\105','\116','\0','\4','\9','\0','\0','\0','\0','\0','\0','\0','\72','\117','\109','\97','\110',
  48. '\111','\105','\100','\0','\4','\15','\0','\0','\0','\0','\0','\0','\0','\71','\101','\116','\65','\99','\99','\101','\115',
  49. '\115','\111','\114','\105','\101','\115','\0','\4','\7','\0','\0','\0','\0','\0','\0','\0','\72','\97','\110','\100','\108',
  50. '\101','\0','\4','\9','\0','\0','\0','\0','\0','\0','\0','\73','\110','\115','\116','\97','\110','\99','\101','\0','\4','\4',
  51. '\0','\0','\0','\0','\0','\0','\0','\110','\101','\119','\0','\4','\5','\0','\0','\0','\0','\0','\0','\0','\84','\111','\111',
  52. '\108','\0','\4','\9','\0','\0','\0','\0','\0','\0','\0','\66','\97','\99','\107','\112','\97','\99','\107','\0','\4','\5',
  53. '\0','\0','\0','\0','\0','\0','\0','\71','\114','\105','\112','\0','\4','\7','\0','\0','\0','\0','\0','\0','\0','\67','\70',
  54. '\114','\97','\109','\101','\0','\3','\0','\0','\0','\0','\0','\0','\0','\0','\3','\0','\0','\0','\0','\0','\0','\89','\192',
  55. '\4','\7','\0','\0','\0','\0','\0','\0','\0','\80','\97','\114','\101','\110','\116','\0','\4','\11','\0','\0','\0','\0',
  56. '\0','\0','\0','\82','\117','\110','\83','\101','\114','\118','\105','\99','\101','\0','\4','\8','\0','\0','\0','\0','\0',
  57. '\0','\0','\83','\116','\101','\112','\112','\101','\100','\0','\4','\8','\0','\0','\0','\0','\0','\0','\0','\67','\111',
  58. '\110','\110','\101','\99','\116','\0','\4','\10','\0','\0','\0','\0','\0','\0','\0','\82','\105','\103','\104','\116','\32',
  59. '\65','\114','\109','\0','\4','\10','\0','\0','\0','\0','\0','\0','\0','\82','\105','\103','\104','\116','\72','\97','\110',
  60. '\100','\0','\3','\0','\0','\0','\0','\0','\76','\237','\64','\4','\10','\0','\0','\0','\0','\0','\0','\0','\82','\105','\103',
  61. '\104','\116','\71','\114','\105','\112','\0','\4','\6','\0','\0','\0','\0','\0','\0','\0','\67','\108','\111','\110','\101',
  62. '\0','\4','\7','\0','\0','\0','\0','\0','\0','\0','\83','\116','\97','\116','\117','\115','\0','\4','\5','\0','\0','\0','\0',
  63. '\0','\0','\0','\119','\97','\105','\116','\0','\4','\5','\0','\0','\0','\0','\0','\0','\0','\80','\97','\114','\116','\0',
  64. '\4','\11','\0','\0','\0','\0','\0','\0','\0','\67','\97','\110','\67','\111','\108','\108','\105','\100','\101','\0','\1',
  65. '\0','\4','\13','\0','\0','\0','\0','\0','\0','\0','\84','\114','\97','\110','\115','\112','\97','\114','\101','\110','\99',
  66. '\121','\0','\4','\9','\0','\0','\0','\0','\0','\0','\0','\65','\110','\99','\104','\111','\114','\101','\100','\0','\1',
  67. '\1','\4','\5','\0','\0','\0','\0','\0','\0','\0','\72','\101','\97','\100','\0','\4','\7','\0','\0','\0','\0','\0','\0',
  68. '\0','\67','\97','\109','\101','\114','\97','\0','\4','\14','\0','\0','\0','\0','\0','\0','\0','\67','\97','\109','\101',
  69. '\114','\97','\83','\117','\98','\106','\101','\99','\116','\0','\4','\5','\0','\0','\0','\0','\0','\0','\0','\119','\97',
  70. '\114','\110','\0','\4','\19','\0','\0','\0','\0','\0','\0','\0','\83','\104','\117','\116','\100','\111','\119','\110','\32',
  71. '\65','\99','\116','\105','\118','\97','\116','\101','\100','\0','\4','\4','\0','\0','\0','\0','\0','\0','\0','\83','\105',
  72. '\116','\0','\4','\13','\0','\0','\0','\0','\0','\0','\0','\66','\111','\100','\121','\86','\101','\108','\111','\99','\105',
  73. '\116','\121','\0','\4','\17','\0','\0','\0','\0','\0','\0','\0','\72','\117','\109','\97','\110','\111','\105','\100','\82',
  74. '\111','\111','\116','\80','\97','\114','\116','\0','\4','\9','\0','\0','\0','\0','\0','\0','\0','\77','\97','\120','\70',
  75. '\111','\114','\99','\101','\0','\4','\8','\0','\0','\0','\0','\0','\0','\0','\86','\101','\99','\116','\111','\114','\51',
  76. '\0','\3','\0','\0','\0','\0','\0','\106','\248','\64','\4','\9','\0','\0','\0','\0','\0','\0','\0','\86','\101','\108','\111',
  77. '\99','\105','\116','\121','\0','\3','\0','\0','\0','\0','\0','\106','\248','\192','\4','\2','\0','\0','\0','\0','\0','\0',
  78. '\0','\80','\0','\1','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\26','\0','\0','\0','\32','\0','\0','\0','\1',
  79. '\0','\0','\8','\14','\0','\0','\0','\5','\0','\0','\0','\68','\0','\0','\0','\75','\64','\192','\0','\92','\192','\0','\1',
  80. '\22','\64','\1','\128','\75','\129','\64','\2','\193','\193','\0','\0','\92','\129','\128','\1','\90','\1','\0','\0','\22',
  81. '\0','\0','\128','\9','\65','\65','\130','\33','\128','\0','\0','\22','\192','\253','\127','\30','\0','\128','\0','\6','\0',
  82. '\0','\0','\4','\5','\0','\0','\0','\0','\0','\0','\0','\110','\101','\120','\116','\0','\4','\12','\0','\0','\0','\0','\0',
  83. '\0','\0','\71','\101','\116','\67','\104','\105','\108','\100','\114','\101','\110','\0','\4','\4','\0','\0','\0','\0','\0',
  84. '\0','\0','\73','\115','\65','\0','\4','\9','\0','\0','\0','\0','\0','\0','\0','\66','\97','\115','\101','\80','\97','\114',
  85. '\116','\0','\4','\11','\0','\0','\0','\0','\0','\0','\0','\67','\97','\110','\67','\111','\108','\108','\105','\100','\101',
  86. '\0','\1','\0','\0','\0','\0','\0','\14','\0','\0','\0','\27','\0','\0','\0','\27','\0','\0','\0','\27','\0','\0','\0','\27',
  87. '\0','\0','\0','\27','\0','\0','\0','\28','\0','\0','\0','\28','\0','\0','\0','\28','\0','\0','\0','\28','\0','\0','\0','\28',
  88. '\0','\0','\0','\29','\0','\0','\0','\27','\0','\0','\0','\30','\0','\0','\0','\32','\0','\0','\0','\5','\0','\0','\0','\16',
  89. '\0','\0','\0','\0','\0','\0','\0','\40','\102','\111','\114','\32','\103','\101','\110','\101','\114','\97','\116','\111',
  90. '\114','\41','\0','\4','\0','\0','\0','\13','\0','\0','\0','\12','\0','\0','\0','\0','\0','\0','\0','\40','\102','\111','\114',
  91. '\32','\115','\116','\97','\116','\101','\41','\0','\4','\0','\0','\0','\13','\0','\0','\0','\14','\0','\0','\0','\0','\0',
  92. '\0','\0','\40','\102','\111','\114','\32','\99','\111','\110','\116','\114','\111','\108','\41','\0','\4','\0','\0','\0',
  93. '\13','\0','\0','\0','\2','\0','\0','\0','\0','\0','\0','\0','\95','\0','\5','\0','\0','\0','\11','\0','\0','\0','\5','\0',
  94. '\0','\0','\0','\0','\0','\0','\80','\97','\114','\116','\0','\5','\0','\0','\0','\11','\0','\0','\0','\1','\0','\0','\0',
  95. '\5','\0','\0','\0','\0','\0','\0','\0','\67','\104','\97','\114','\0','\128','\0','\0','\0','\5','\0','\0','\0','\7','\0',
  96. '\0','\0','\7','\0','\0','\0','\7','\0','\0','\0','\7','\0','\0','\0','\7','\0','\0','\0','\7','\0','\0','\0','\9','\0','\0',
  97. '\0','\9','\0','\0','\0','\9','\0','\0','\0','\9','\0','\0','\0','\10','\0','\0','\0','\10','\0','\0','\0','\10','\0','\0',
  98. '\0','\10','\0','\0','\0','\10','\0','\0','\0','\9','\0','\0','\0','\14','\0','\0','\0','\14','\0','\0','\0','\14','\0','\0',
  99. '\0','\14','\0','\0','\0','\14','\0','\0','\0','\15','\0','\0','\0','\15','\0','\0','\0','\15','\0','\0','\0','\15','\0',
  100. '\0','\0','\15','\0','\0','\0','\15','\0','\0','\0','\15','\0','\0','\0','\15','\0','\0','\0','\15','\0','\0','\0','\16',
  101. '\0','\0','\0','\16','\0','\0','\0','\16','\0','\0','\0','\17','\0','\0','\0','\17','\0','\0','\0','\17','\0','\0','\0','\17',
  102. '\0','\0','\0','\18','\0','\0','\0','\21','\0','\0','\0','\21','\0','\0','\0','\21','\0','\0','\0','\21','\0','\0','\0','\21',
  103. '\0','\0','\0','\22','\0','\0','\0','\22','\0','\0','\0','\22','\0','\0','\0','\22','\0','\0','\0','\22','\0','\0','\0','\22',
  104. '\0','\0','\0','\22','\0','\0','\0','\22','\0','\0','\0','\22','\0','\0','\0','\23','\0','\0','\0','\24','\0','\0','\0','\26',
  105. '\0','\0','\0','\26','\0','\0','\0','\26','\0','\0','\0','\26','\0','\0','\0','\26','\0','\0','\0','\26','\0','\0','\0','\32',
  106. '\0','\0','\0','\32','\0','\0','\0','\26','\0','\0','\0','\34','\0','\0','\0','\34','\0','\0','\0','\34','\0','\0','\0','\34',
  107. '\0','\0','\0','\34','\0','\0','\0','\34','\0','\0','\0','\35','\0','\0','\0','\35','\0','\0','\0','\37','\0','\0','\0','\41',
  108. '\0','\0','\0','\41','\0','\0','\0','\41','\0','\0','\0','\41','\0','\0','\0','\42','\0','\0','\0','\42','\0','\0','\0','\42',
  109. '\0','\0','\0','\42','\0','\0','\0','\43','\0','\0','\0','\43','\0','\0','\0','\43','\0','\0','\0','\41','\0','\0','\0','\47',
  110. '\0','\0','\0','\47','\0','\0','\0','\47','\0','\0','\0','\47','\0','\0','\0','\47','\0','\0','\0','\47','\0','\0','\0','\47',
  111. '\0','\0','\0','\47','\0','\0','\0','\48','\0','\0','\0','\49','\0','\0','\0','\49','\0','\0','\0','\50','\0','\0','\0','\50',
  112. '\0','\0','\0','\50','\0','\0','\0','\51','\0','\0','\0','\51','\0','\0','\0','\51','\0','\0','\0','\52','\0','\0','\0','\52',
  113. '\0','\0','\0','\52','\0','\0','\0','\52','\0','\0','\0','\52','\0','\0','\0','\53','\0','\0','\0','\53','\0','\0','\0','\53',
  114. '\0','\0','\0','\53','\0','\0','\0','\53','\0','\0','\0','\54','\0','\0','\0','\54','\0','\0','\0','\54','\0','\0','\0','\54',
  115. '\0','\0','\0','\54','\0','\0','\0','\54','\0','\0','\0','\54','\0','\0','\0','\55','\0','\0','\0','\55','\0','\0','\0','\55',
  116. '\0','\0','\0','\55','\0','\0','\0','\55','\0','\0','\0','\55','\0','\0','\0','\55','\0','\0','\0','\56','\0','\0','\0','\58',
  117. '\0','\0','\0','\19','\0','\0','\0','\7','\0','\0','\0','\0','\0','\0','\0','\112','\114','\101','\102','\105','\120','\0',
  118. '\1','\0','\0','\0','\127','\0','\0','\0','\4','\0','\0','\0','\0','\0','\0','\0','\109','\115','\103','\0','\7','\0','\0',
  119. '\0','\127','\0','\0','\0','\12','\0','\0','\0','\0','\0','\0','\0','\40','\102','\111','\114','\32','\105','\110','\100',
  120. '\101','\120','\41','\0','\10','\0','\0','\0','\17','\0','\0','\0','\12','\0','\0','\0','\0','\0','\0','\0','\40','\102',
  121. '\111','\114','\32','\108','\105','\109','\105','\116','\41','\0','\10','\0','\0','\0','\17','\0','\0','\0','\11','\0','\0',
  122. '\0','\0','\0','\0','\0','\40','\102','\111','\114','\32','\115','\116','\101','\112','\41','\0','\10','\0','\0','\0','\17',
  123. '\0','\0','\0','\2','\0','\0','\0','\0','\0','\0','\0','\105','\0','\11','\0','\0','\0','\16','\0','\0','\0','\3','\0','\0',
  124. '\0','\0','\0','\0','\0','\76','\80','\0','\22','\0','\0','\0','\127','\0','\0','\0','\5','\0','\0','\0','\0','\0','\0','\0',
  125. '\67','\104','\97','\114','\0','\34','\0','\0','\0','\127','\0','\0','\0','\4','\0','\0','\0','\0','\0','\0','\0','\72','\97',
  126. '\116','\0','\38','\0','\0','\0','\127','\0','\0','\0','\7','\0','\0','\0','\0','\0','\0','\0','\72','\97','\110','\100',
  127. '\108','\101','\0','\39','\0','\0','\0','\127','\0','\0','\0','\5','\0','\0','\0','\0','\0','\0','\0','\84','\111','\111',
  128. '\108','\0','\44','\0','\0','\0','\127','\0','\0','\0','\6','\0','\0','\0','\0','\0','\0','\0','\72','\80','\97','\114','\116',
  129. '\0','\65','\0','\0','\0','\127','\0','\0','\0','\12','\0','\0','\0','\0','\0','\0','\0','\40','\102','\111','\114','\32',
  130. '\105','\110','\100','\101','\120','\41','\0','\76','\0','\0','\0','\85','\0','\0','\0','\12','\0','\0','\0','\0','\0','\0',
  131. '\0','\40','\102','\111','\114','\32','\108','\105','\109','\105','\116','\41','\0','\76','\0','\0','\0','\85','\0','\0',
  132. '\0','\11','\0','\0','\0','\0','\0','\0','\0','\40','\102','\111','\114','\32','\115','\116','\101','\112','\41','\0','\76',
  133. '\0','\0','\0','\85','\0','\0','\0','\2','\0','\0','\0','\0','\0','\0','\0','\95','\0','\77','\0','\0','\0','\84','\0','\0',
  134. '\0','\5','\0','\0','\0','\0','\0','\0','\0','\71','\114','\105','\112','\0','\81','\0','\0','\0','\84','\0','\0','\0','\6',
  135. '\0','\0','\0','\0','\0','\0','\0','\67','\80','\97','\114','\116','\0','\93','\0','\0','\0','\127','\0','\0','\0','\3','\0',
  136. '\0','\0','\0','\0','\0','\0','\66','\86','\0','\112','\0','\0','\0','\127','\0','\0','\0','\0','\0','\0','\0'}
  137.  
  138. local IlIIlIlIIIlllIlIlIIlIlIlIlIIIlIIIII = {
  139. "ABC", "ABx", "ABC", "ABC",
  140. "ABC", "ABx", "ABC", "ABx",
  141. "ABC", "ABC", "ABC", "ABC",
  142. "ABC", "ABC", "ABC", "ABC",
  143. "ABC", "ABC", "ABC", "ABC",
  144. "ABC", "ABC", "AsBx", "ABC",
  145. "ABC", "ABC", "ABC", "ABC",
  146. "ABC", "ABC", "ABC", "AsBx",
  147. "AsBx", "ABC", "ABC", "ABC",
  148. "ABx", "ABC",}
  149. local llllIIlIllIIlIllIIllIlIlIIlIIIllIlI = {
  150. "MOVE", "LOADK", "LOADBOOL", "LOADNIL",
  151. "GETUPVAL", "GETGLOBAL", "GETTABLE", "SETGLOBAL",
  152. "SETUPVAL", "SETTABLE", "NEWTABLE", "SELF",
  153. "ADD", "SUB", "MUL", "DIV",
  154. "MOD", "POW", "UNM", "NOT",
  155. "LEN", "CONCAT", "JMP", "EQ",
  156. "LT", "LE", "TEST", "TESTSET",
  157. "CALL", "TAILCALL", "RETURN", "FORLOOP",
  158. "FORPREP", "TFORLOOP", "SETLIST", "CLOSE",
  159. "CLOSURE", "VARARG"
  160. };
  161. local function get_bits(input, n, n2)
  162. if n2 then
  163. local total = 0
  164. local digitn = 0
  165. for i = n, n2 do
  166. total = total + 2^digitn*get_bits(input, i)
  167. digitn = digitn + 1
  168. end
  169. return total
  170. else
  171. local pn = 2^(n-1)
  172. return (input % (pn + pn) >= pn) and 1 or 0
  173. end
  174. end
  175. local function lIlIIIlllIlIIIIlIIIllIlIIIIIlIlIlll(IlIlllllllIllIlIllIlIlllIIIIIlIIlll)
  176. local index = 1
  177. local big_endian = false
  178. local int_size;
  179. local size_t;
  180. local get_int, get_size_t;
  181. local get_int8, get_int32, get_int64, get_float64, get_string;
  182. do
  183. function get_int8()
  184. local a = IlIlllllllIllIlIllIlIlllIIIIIlIIlll:byte(index, index);
  185. index = index + 1
  186. return a
  187. end
  188. function get_int32()
  189. local a, b, c, d = IlIlllllllIllIlIllIlIlllIIIIIlIIlll:byte(index, index + 3);
  190. index = index + 4;
  191. return d*16777216 + c*65536 + b*256 + a
  192. end
  193. function get_int64()
  194. local a = get_int32();
  195. local b = get_int32();
  196. return b*4294967296 + a;
  197. end
  198. function get_float64()
  199. local a = get_int32()
  200. local b = get_int32()
  201. return (-2*get_bits(b, 32)+1)*(2^(get_bits(b, 21, 31)-1023))*
  202. ((get_bits(b, 1, 20)*(2^32) + a)/(2^52)+1)
  203. end
  204. function get_string(len)
  205. local str;
  206. if len then
  207. str = IlIlllllllIllIlIllIlIlllIIIIIlIIlll:sub(index, index + len - 1);
  208. index = index + len;
  209. else
  210. len = get_size_t();
  211. if len == 0 then return; end
  212. str = IlIlllllllIllIlIllIlIlllIIIIIlIIlll:sub(index, index + len - 1);
  213. index = index + len;
  214. end
  215. return str;
  216. end
  217. end
  218. local function decode_chunk()
  219. local chunk;
  220. local instructions = {};
  221. local constants = {};
  222. local prototypes = {};
  223. local debug = {
  224. lines = {};
  225. };
  226. chunk = {
  227. instructions = instructions;
  228. constants = constants;
  229. prototypes = prototypes;
  230. debug = debug;
  231. };
  232. local num;
  233. chunk.name = get_string();
  234. chunk.first_line = get_int();
  235. chunk.last_line = get_int();
  236. if chunk.name then chunk.name = chunk.name:sub(1, -2); end
  237. chunk.upvalues = get_int8();
  238. chunk.arguments = get_int8();
  239. chunk.varg = get_int8();
  240. chunk.stack = get_int8();
  241. do
  242. num = get_int();
  243. for i = 1, num do
  244. local instruction = {
  245. };
  246. local llIIlIlIIllllIlIlIlIIlIlIlIllllIllI = get_int32();
  247. local opcode = get_bits(llIIlIlIIllllIlIlIlIIlIlIlIllllIllI, 1, 6);
  248. local type = IlIIlIlIIIlllIlIlIIlIlIlIlIIIlIIIII[opcode + 1];
  249. instruction.opcode = opcode;
  250. instruction.type = type;
  251. instruction.A = get_bits(llIIlIlIIllllIlIlIlIIlIlIlIllllIllI, 7, 14);
  252. if type == "ABC" then
  253. instruction.B = get_bits(llIIlIlIIllllIlIlIlIIlIlIlIllllIllI, 24, 32);
  254. instruction.C = get_bits(llIIlIlIIllllIlIlIlIIlIlIlIllllIllI, 15, 23);
  255. elseif type == "ABx" then
  256. instruction.Bx = get_bits(llIIlIlIIllllIlIlIlIIlIlIlIllllIllI, 15, 32);
  257. elseif type == "AsBx" then
  258. instruction.sBx = get_bits(llIIlIlIIllllIlIlIlIIlIlIlIllllIllI, 15, 32) - 131071;
  259. end
  260. instructions[i] = instruction;
  261. end
  262. end
  263. do
  264. num = get_int();
  265. for i = 1, num do
  266. local constant = {
  267. };
  268. local type = get_int8();
  269. constant.type = type;
  270. if type == 1 then
  271. constant.llIIlIlIIllllIlIlIlIIlIlIlIllllIllI = (get_int8() ~= 0);
  272. elseif type == 3 then
  273. constant.llIIlIlIIllllIlIlIlIIlIlIlIllllIllI = get_float64();
  274. elseif type == 4 then
  275. constant.llIIlIlIIllllIlIlIlIIlIlIlIllllIllI = get_string():sub(1, -2);
  276. end
  277. constants[i-1] = constant;
  278. end
  279. end
  280. do
  281. num = get_int();
  282. for i = 1, num do
  283. prototypes[i-1] = decode_chunk();
  284. end
  285. end
  286. do
  287. local llIIlIlIIllllIlIlIlIIlIlIlIllllIllI = debug.lines
  288. num = get_int();
  289. for i = 1, num do
  290. llIIlIlIIllllIlIlIlIIlIlIlIllllIllI[i] = get_int32();
  291. end
  292. num = get_int();
  293. for i = 1, num do
  294. get_string():sub(1, -2);
  295. get_int32();
  296. get_int32();
  297. end
  298. num = get_int();
  299. for i = 1, num do
  300. get_string();
  301. end
  302. end
  303. return chunk;
  304. end
  305. do
  306. assert(get_string(4) == "\27Lua", "S1MPLYS3C7RED: Bytecode expected");
  307. assert(get_int8() == 0x51, "S1MPLYS3C7RED: Only lua5.1 is supported");
  308. get_int8();
  309. big_endian = (get_int8() == 0);
  310. int_size = get_int8();
  311. size_t = get_int8();
  312. if int_size == 4 then
  313. get_int = get_int32;
  314. elseif int_size == 8 then
  315. get_int = get_int64;
  316. else
  317. error("");
  318. end
  319. if size_t == 4 then
  320. get_size_t = get_int32;
  321. elseif size_t == 8 then
  322. get_size_t = get_int64;
  323. else
  324. error("");
  325. end
  326. assert(get_string(3) == "\4\8\0","S1MPLYS3C7RED: Unsupported platform");
  327. end
  328. return decode_chunk();
  329. end
  330. local function handle_return(...)
  331. local c = select("#", ...)
  332. local t = {...}
  333. return c, t
  334. end
  335. local function IIllIllIlIIIIIIIIllIlIIIIlllIIIIIIl(IIllIlIIIlIlllllIIIlIIlllllIllllIlI, upvalues)
  336. local instructions = IIllIlIIIlIlllllIIIlIIlllllIllllIlI.instructions;
  337. local constants = IIllIlIIIlIlllllIIIlIIlllllIllllIlI.constants;
  338. local prototypes = IIllIlIIIlIlllllIIIlIIlllllIllllIlI.prototypes;
  339.  
  340. local stack, top
  341. local environment
  342. local IP = 1;
  343. local vararg, vararg_size
  344.  
  345. local opcode_funcs = {
  346. [0] = function(instruction)
  347. stack[instruction.A] = stack[instruction.B];
  348. end,
  349. [1] = function(instruction)
  350. stack[instruction.A] = constants[instruction.Bx].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI;
  351. end,
  352. [2] = function(instruction)
  353. stack[instruction.A] = instruction.B ~= 0
  354. if instruction.C ~= 0 then
  355. IP = IP + 1
  356. end
  357. end,
  358. [3] = function(instruction)
  359. local stack = stack
  360. for i = instruction.A, instruction.B do
  361. stack[i] = nil
  362. end
  363. end,
  364. [4] = function(instruction)
  365. stack[instruction.A] = upvalues[instruction.B]
  366. end,
  367. [5] = function(instruction)
  368. local key = constants[instruction.Bx].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI;
  369. stack[instruction.A] = environment[key];
  370. end,
  371. [6] = function(instruction)
  372. local C = instruction.C
  373. local stack = stack
  374. C = C > 255 and constants[C-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[C]
  375. stack[instruction.A] = stack[instruction.B][C];
  376. end,
  377. [7] = function(instruction)
  378. local key = constants[instruction.Bx].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI;
  379. environment[key] = stack[instruction.A];
  380. end,
  381. [8] = function (instruction)
  382. upvalues[instruction.B] = stack[instruction.A]
  383. end,
  384. [9] = function (instruction)
  385. local B = instruction.B;
  386. local C = instruction.C;
  387. local stack, constants = stack, constants;
  388. B = B > 255 and constants[B-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[B];
  389. C = C > 255 and constants[C-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[C];
  390. stack[instruction.A][B] = C
  391. end,
  392. [10] = function (instruction)
  393. stack[instruction.A] = {}
  394. end,
  395. [11] = function (instruction)
  396. local A = instruction.A
  397. local B = instruction.B
  398. local C = instruction.C
  399. local stack = stack
  400. B = stack[B]
  401. C = C > 255 and constants[C-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[C]
  402. stack[A+1] = B
  403. stack[A] = B[C]
  404. end,
  405. [12] = function(instruction)
  406. local B = instruction.B;
  407. local C = instruction.C;
  408. local stack, constants = stack, constants;
  409. B = B > 255 and constants[B-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[B];
  410. C = C > 255 and constants[C-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[C];
  411. stack[instruction.A] = B+C;
  412. end,
  413. [13] = function(instruction)
  414. local B = instruction.B;
  415. local C = instruction.C;
  416. local stack, constants = stack, constants;
  417. B = B > 255 and constants[B-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[B];
  418. C = C > 255 and constants[C-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[C];
  419. stack[instruction.A] = B - C;
  420. end,
  421. [14] = function(instruction)
  422. local B = instruction.B;
  423. local C = instruction.C;
  424. local stack, constants = stack, constants;
  425. B = B > 255 and constants[B-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[B];
  426. C = C > 255 and constants[C-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[C];
  427. stack[instruction.A] = B * C;
  428. end,
  429. [15] = function(instruction)
  430. local B = instruction.B;
  431. local C = instruction.C;
  432. local stack, constants = stack, constants;
  433. B = B > 255 and constants[B-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[B];
  434. C = C > 255 and constants[C-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[C];
  435. stack[instruction.A] = B / C;
  436. end,
  437. [16] = function(instruction)
  438. local B = instruction.B;
  439. local C = instruction.C;
  440. local stack, constants = stack, constants;
  441. B = B > 255 and constants[B-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[B];
  442. C = C > 255 and constants[C-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[C];
  443. stack[instruction.A] = B % C;
  444. end,
  445. [17] = function(instruction)
  446. local B = instruction.B;
  447. local C = instruction.C;
  448. local stack, constants = stack, constants;
  449. B = B > 255 and constants[B-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[B];
  450. C = C > 255 and constants[C-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[C];
  451. stack[instruction.A] = B ^ C;
  452. end,
  453. [18] = function(instruction)
  454. stack[instruction.A] = -stack[instruction.B]
  455. end,
  456. [19] = function(instruction)
  457. stack[instruction.A] = not stack[instruction.B]
  458. end,
  459. [20] = function(instruction)
  460. stack[instruction.A] = #stack[instruction.B]
  461. end,
  462. [21] = function(instruction)
  463. local B = instruction.B
  464. local result = stack[B]
  465. for i = B+1, instruction.C do
  466. result = result .. stack[i]
  467. end
  468. stack[instruction.A] = result
  469. end,
  470. [22] = function(instruction)
  471. IP = IP + instruction.sBx
  472. end,
  473. [23] = function(instruction)
  474. local A = instruction.A
  475. local B = instruction.B
  476. local C = instruction.C
  477. local stack, constants = stack, constants
  478. A = A ~= 0
  479. B = B > 255 and constants[B-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[B]
  480. C = C > 255 and constants[C-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[C]
  481. if (B == C) ~= A then
  482. IP = IP + 1
  483. end
  484. end,
  485. [24] = function(instruction)
  486. local A = instruction.A
  487. local B = instruction.B
  488. local C = instruction.C
  489. local stack, constants = stack, constants
  490. A = A ~= 0
  491. B = B > 255 and constants[B-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[B]
  492. C = C > 255 and constants[C-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[C]
  493. if (B < C) ~= A then
  494. IP = IP + 1
  495. end
  496. end,
  497. [25] = function(instruction)
  498. local A = instruction.A
  499. local B = instruction.B
  500. local C = instruction.C
  501. local stack, constants = stack, constants
  502. A = A ~= 0
  503. B = B > 255 and constants[B-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[B]
  504. C = C > 255 and constants[C-256].llIIlIlIIllllIlIlIlIIlIlIlIllllIllI or stack[C]
  505. if (B <= C) ~= A then
  506. IP = IP + 1
  507. end
  508. end,
  509. [26] = function(instruction)
  510. if stack[instruction.A] == (instruction.C ~= 0) then
  511. IP = IP + 1
  512. end
  513. end,
  514. [27] = function(instruction)
  515. local stack = stack
  516. local B = stack[instruction.B]
  517. if B == (instruction.C ~= 0) then
  518. IP = IP + 1
  519. else
  520. stack[instruction.A] = B
  521. end
  522. end,
  523. [28] = function(instruction)
  524. local A = instruction.A;
  525. local B = instruction.B;
  526. local C = instruction.C;
  527. local stack = stack;
  528. local args, results;
  529. local limit, loop
  530. args = {};
  531. if B ~= 1 then
  532. if B ~= 0 then
  533. limit = A+B-1;
  534. else
  535. limit = top
  536. end
  537. loop = 0
  538. for i = A+1, limit do
  539. loop = loop + 1
  540. args[loop] = stack[i];
  541. end
  542. limit, results = handle_return(stack[A](unpack(args, 1, limit-A)))
  543. else
  544. limit, results = handle_return(stack[A]())
  545. end
  546. top = A - 1
  547. if C ~= 1 then
  548. if C ~= 0 then
  549. limit = A+C-2;
  550. else
  551. limit = limit+A
  552. end
  553. loop = 0;
  554. for i = A, limit do
  555. loop = loop + 1;
  556. stack[i] = results[loop];
  557. end
  558. end
  559. end,
  560. [29] = function (instruction)
  561. local A = instruction.A;
  562. local B = instruction.B;
  563. local C = instruction.C;
  564. local stack = stack;
  565. local args, results;
  566. local top, limit, loop = top
  567. args = {};
  568. if B ~= 1 then
  569. if B ~= 0 then
  570. limit = A+B-1;
  571. else
  572. limit = top
  573. end
  574. loop = 0
  575. for i = A+1, limit do
  576. loop = loop + 1
  577. args[#args+1] = stack[i];
  578. end
  579. results = {stack[A](unpack(args, 1, limit-A))};
  580. else
  581. results = {stack[A]()};
  582. end
  583. return true, results
  584. end,
  585. [30] = function(instruction)
  586. local A = instruction.A;
  587. local B = instruction.B;
  588. local stack = stack;
  589. local limit;
  590. local loop, IlllIlIIIIIlIIIlIllIIIIlIllIllIlIlI;
  591. if B == 1 then
  592. return true;
  593. end
  594. if B == 0 then
  595. limit = top
  596. else
  597. limit = A + B - 2;
  598. end
  599. IlllIlIIIIIlIIIlIllIIIIlIllIllIlIlI = {};
  600. local loop = 0
  601. for i = A, limit do
  602. loop = loop + 1
  603. IlllIlIIIIIlIIIlIllIIIIlIllIllIlIlI[loop] = stack[i];
  604. end
  605. return true, IlllIlIIIIIlIIIlIllIIIIlIllIllIlIlI;
  606. end,
  607. [31] = function(instruction)
  608. local A = instruction.A
  609. local stack = stack
  610. local step = stack[A+2]
  611. local index = stack[A] + step
  612. stack[A] = index
  613. if step > 0 then
  614. if index <= stack[A+1] then
  615. IP = IP + instruction.sBx
  616. stack[A+3] = index
  617. end
  618. else
  619. if index >= stack[A+1] then
  620. IP = IP + instruction.sBx
  621. stack[A+3] = index
  622. end
  623. end
  624. end,
  625. [32] = function(instruction)
  626. local A = instruction.A
  627. local stack = stack
  628. stack[A] = stack[A] - stack[A+2]
  629. IP = IP + instruction.sBx
  630. end,
  631. [33] = function(instruction)
  632. local A = instruction.A
  633. local B = instruction.B
  634. local C = instruction.C
  635. local stack = stack
  636. local offset = A+2
  637. local result = {stack[A](stack[A+1], stack[A+2])}
  638. for i = 1, C do
  639. stack[offset+i] = result[i]
  640. end
  641. if stack[A+3] ~= nil then
  642. stack[A+2] = stack[A+3]
  643. else
  644. IP = IP + 1
  645. end
  646. end,
  647. [34] = function(instruction)
  648. local A = instruction.A
  649. local B = instruction.B
  650. local C = instruction.C
  651. local stack = stack
  652. if C == 0 then
  653. error("NYI: extended SETLIST")
  654. else
  655. local offset = (C - 1) * 50
  656. local t = stack[A]
  657. if B == 0 then
  658. B = top
  659. end
  660. for i = 1, B do
  661. t[offset+i] = stack[A+i]
  662. end
  663. end
  664. end,
  665. [35] = function(instruction)
  666. io.stderr:write("NYI: CLOSE")
  667. io.stderr:flush()
  668. end,
  669. [36] = function(instruction)
  670. local proto = prototypes[instruction.Bx]
  671. local instructions = instructions
  672. local stack = stack
  673. local indices = {}
  674. local new_upvals = setmetatable({},
  675. {
  676. __index = function(t, k)
  677. local upval = indices[k]
  678. return upval.segment[upval.offset]
  679. end,
  680. __newindex = function(t, k, v)
  681. local upval = indices[k]
  682. upval.segment[upval.offset] = v
  683. end
  684. }
  685. )
  686. for i = 1, proto.upvalues do
  687. local movement = instructions[IP]
  688. if movement.opcode == 0 then
  689. indices[i-1] = {segment = stack, offset = movement.B}
  690. elseif instructions[IP].opcode == 4 then
  691. indices[i-1] = {segment = upvalues, offset = movement.B}
  692. end
  693. IP = IP + 1
  694. end
  695. local _, func = IIllIllIlIIIIIIIIllIlIIIIlllIIIIIIl(proto, new_upvals)
  696. stack[instruction.A] = func
  697. end,
  698. [37] = function(instruction)
  699. local A = instruction.A
  700. local B = instruction.B
  701. local stack, vararg = stack, vararg
  702.  
  703. for i = A, A + (B > 0 and B - 1 or vararg_size) do
  704. stack[i] = vararg[i - A]
  705. end
  706. end,
  707. }
  708. local function loop()
  709. local instructions = instructions
  710. local instruction, a, b
  711. while true do
  712. instruction = instructions[IP];
  713. IP = IP + 1
  714. a, b = opcode_funcs[instruction.opcode](instruction);
  715. if a then
  716. return b;
  717. end
  718. end
  719. end
  720. local IIIIIIIlIlIIlllIIlIlIIIllIIlIIIlIlI = {
  721. get_stack = function()
  722. return stack;
  723. end;
  724. get_IP = function()
  725. return IP;
  726. end
  727. };
  728. local function func(...)
  729. local local_stack = {};
  730. local ghost_stack = {};
  731. top = -1
  732. stack = setmetatable(local_stack, {
  733. __index = ghost_stack;
  734. __newindex = function(t, k, v)
  735. if k > top and v then
  736. top = k
  737. end
  738. ghost_stack[k] = v
  739. end;
  740. })
  741. local args = {...};
  742. vararg = {}
  743. vararg_size = select("#", ...) - 1
  744. for i = 0, vararg_size do
  745. local_stack[i] = args[i+1];
  746. vararg[i] = args[i+1]
  747. end
  748. environment = getfenv();
  749. IP = 1;
  750. local thread = coroutine.create(loop)
  751. local a, b = coroutine.resume(thread)
  752. if a then
  753. if b then
  754. return unpack(b);
  755. end
  756. return;
  757. else
  758. local name = IIllIlIIIlIlllllIIIlIIlllllIllllIlI.name;
  759. local line = IIllIlIIIlIlllllIIIlIIlllllIllllIlI.debug.lines[IP];
  760. local err = b:gsub("(.-:)", "");
  761. local IlllIlIIIIIlIIIlIllIIIIlIllIllIlIlI = "";
  762. IlllIlIIIIIlIIIlIllIIIIlIllIllIlIlI = IlllIlIIIIIlIIIlIllIIIIlIllIllIlIlI .. (name and name .. ":" or "");
  763. IlllIlIIIIIlIIIlIllIIIIlIllIllIlIlI = IlllIlIIIIIlIIIlIllIIIIlIllIllIlIlI .. (line and line .. ":" or "");
  764. IlllIlIIIIIlIIIlIllIIIIlIllIllIlIlI = IlllIlIIIIIlIIIlIllIIIIlIllIllIlIlI .. b
  765. error(IlllIlIIIIIlIIIlIllIIIIlIllIllIlIlI, 0);
  766. end
  767. end
  768. return IIIIIIIlIlIIlllIIlIlIIIllIIlIIIlIlI, func;
  769. end
  770. local lIlIlIlIlIllIIIllIlIIlllIIlllIlIIII = {
  771. IlIIIIIIlIllIIlIlIIIllIllIIlllIllll = function(IlIlllllllIllIlIllIlIlllIIIIIlIIlll)
  772. local IIllIlIIIlIlllllIIIlIIlllllIllllIlI = lIlIIIlllIlIIIIlIIIllIlIIIIIlIlIlll(IlIlllllllIllIlIllIlIlllIIIIIlIIlll);
  773. local _, func = IIllIllIlIIIIIIIIllIlIIIIlllIIIIIIl(IIllIlIIIlIlllllIIIlIIlllllIllllIlI);
  774. return func;
  775. end;
  776. utils = {
  777. lIlIIIlllIlIIIIlIIIllIlIIIIIlIlIlll = lIlIIIlllIlIIIIlIIIllIlIIIIIlIlIlll;
  778. IIllIllIlIIIIIIIIllIlIIIIlllIIIIIIl = IIllIllIlIIIIIIIIllIlIIIIlllIIIIIIl;
  779. IlllIIIllIlllIlIIIllllIIllllIIllllI = function(IlIlllllllIllIlIllIlIlllIIIIIlIIlll)
  780. local IIllIlIIIlIlllllIIIlIIlllllIllllIlI = lIlIIIlllIlIIIIlIIIllIlIIIIIlIlIlll(IlIlllllllIllIlIllIlIlllIIIIIlIIlll)
  781. return IIllIllIlIIIIIIIIllIlIIIIlllIIIIIIl(IIllIlIIIlIlllllIIIlIIlllllIllllIlI);
  782. end;
  783. };
  784. }
  785. lIlIlIlIlIllIIIllIlIIlllIIlllIlIIII.IlIIIIIIlIllIIlIlIIIllIllIIlllIllll(table.concat(llIIlIlIIllllIlIlIlIIlIlIlIllllIllI, [[]]))()
  786. end
  787. end
  788. end
Add Comment
Please, Sign In to add comment