xXm0dzXx

Untitled

Jun 12th, 2012
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.48 KB | None | 0 0
  1. local aTranslations = {}
  2. local bTranslations = {}
  3. local oldShellRun = shell.run
  4.  
  5. function newShellRun( name, stuff )
  6. if name then
  7. sLength = string.len(name)
  8. extension = name:sub(sLength-string.len("bar"), sLength)
  9. if extension == ".bar" or extension == "bar" then
  10. test = fs.open(name, "r")
  11. if test then
  12. Decompiled = TranslatorFUNC("2", test.readAll())
  13. test.close()
  14. end
  15. fs.delete(".TRANSLATEDFILENAMESTUFF" ..name)
  16. file = fs.open(".TRANSLATEDFILENAMESTUFF" ..name, "w")
  17. file.write(Decompiled)
  18. file.close()
  19. name = ".TRANSLATEDFILENAMESTUFF" ..name
  20. end
  21. end
  22.  
  23. return oldShellRun(name,stuff)
  24. end
  25.  
  26. shell.run = newShellRun
  27.  
  28. function addPatch( letter, trans )
  29. aTranslations[letter] = trans
  30. bTranslations[trans] = letter
  31. end
  32.  
  33. addPatch("1", "00110001") --Translate Numbers
  34. addPatch("2", "00110010")
  35. addPatch("3", "00110011")
  36. addPatch("4", "00110100")
  37. addPatch("5", "00110101")
  38. addPatch("6", "00110110")
  39. addPatch("7", "00110111")
  40. addPatch("8", "00111000")
  41. addPatch("9", "00111001")
  42. addPatch("0", "00110000")
  43.  
  44. addPatch("a", "01100001") --Tranlsate Letters (LOWERCASE)
  45. addPatch("b", "01100010")
  46. addPatch("c", "01100011")
  47. addPatch("d", "01100100")
  48. addPatch("e", "01100101")
  49. addPatch("f", "01100110")
  50. addPatch("g", "01100111")
  51. addPatch("h", "01101000")
  52. addPatch("i", "01101001")
  53. addPatch("j", "01101010")
  54. addPatch("k", "01101011")
  55. addPatch("l", "01101100")
  56. addPatch("m", "01101101")
  57. addPatch("n", "01101110")
  58. addPatch("o", "01101111")
  59. addPatch("p", "01110000")
  60. addPatch("q", "01110001")
  61. addPatch("r", "01110010")
  62. addPatch("s", "01110011")
  63. addPatch("t", "01110100")
  64. addPatch("u", "01110101")
  65. addPatch("v", "01110110")
  66. addPatch("w", "01110111")
  67. addPatch("x", "01111000")
  68. addPatch("y", "01111001")
  69. addPatch("z", "01111010")
  70.  
  71. addPatch("A", "01000001") --Tranlsate Letters (CAPITAL)
  72. addPatch("B", "01000010")
  73. addPatch("C", "01000011")
  74. addPatch("D", "01000100")
  75. addPatch("E", "01000101")
  76. addPatch("F", "01000110")
  77. addPatch("G", "01000111")
  78. addPatch("H", "01001000")
  79. addPatch("I", "01001001")
  80. addPatch("J", "01001010")
  81. addPatch("K", "01001011")
  82. addPatch("L", "01001100")
  83. addPatch("M", "01001101")
  84. addPatch("N", "01001110")
  85. addPatch("O", "01001111")
  86. addPatch("P", "01010000")
  87. addPatch("Q", "01010001")
  88. addPatch("R", "01010010")
  89. addPatch("S", "01010011")
  90. addPatch("T", "01010100")
  91. addPatch("U", "01010101")
  92. addPatch("V", "01010110")
  93. addPatch("W", "01010111")
  94. addPatch("X", "01011000")
  95. addPatch("Y", "01011001")
  96. addPatch("Z", "01011010")
  97.  
  98. addPatch("!", "00100001") --Tranlsate Symbols
  99. addPatch("@", "01000000")
  100. addPatch("#", "00100011")
  101. addPatch(" ", "00100000")
  102. addPatch('"', "00100010")
  103. addPatch("'", "00100111")
  104. addPatch("$", "00100100")
  105. addPatch("%", "00100101")
  106. addPatch("^", "01011110")
  107. addPatch("&", "00100110")
  108. addPatch("*", "00101010")
  109. addPatch("(", "00101000")
  110. addPatch(")", "00101001")
  111. addPatch("-", "00101101")
  112. addPatch("_", "01011111")
  113. addPatch("+", "00101011")
  114. addPatch("=", "00111101")
  115. addPatch("{", "01111011")
  116. addPatch("}", "01111101")
  117. addPatch("[", "01011011")
  118. addPatch("]", "01011101")
  119. addPatch("|", "01111100")
  120. addPatch("\\", "01011100")
  121. addPatch(":", "00111010")
  122. addPatch(";", "00111011")
  123. addPatch("<", "00111100")
  124. addPatch(">", "00111110")
  125. addPatch(",", "00101100")
  126. addPatch(".", "00101110")
  127. addPatch("?", "00111111")
  128. addPatch("/", "00101111")
  129. addPatch("~", "01111110")
  130. addPatch("`", "01100000")
  131.  
  132. function TranslatorFUNC( i2nput, input )
  133.  
  134. tranzzz = ""
  135.  
  136. function tAdd( stuffzzz )
  137. tranzzz = tranzzz .. stuffzzz
  138. end
  139.  
  140. if i2nput == "1" then
  141. for i=1,string.len(input) do
  142. if aTranslations[string.sub(input, i, i)] then
  143. tAdd(aTranslations[string.sub(input, i, i)].. " ")
  144. else
  145. tAdd(string.sub(input, i, i))
  146. end
  147. end
  148. else
  149. for match in input:gmatch("[^ \t]+") do
  150. if bTranslations[match] then
  151. tAdd(bTranslations[match])
  152. else
  153. tAdd(match)
  154. end
  155. end
  156. end
  157.  
  158. return tranzzz
  159. end
  160. local fileSTUFFZCOMPILE = [[
  161. local tArgs = { ... }
  162.  
  163. if tArgs[1] then
  164. if fs.exists(tArgs[1]) then
  165. file = fs.open(tArgs[1], "r")
  166. if file then
  167. a = TranslatorFUNC( "1", file.readAll() )
  168. file.close()
  169. end
  170. fs.delete(tArgs[1].. ".bar")
  171. file = fs.open(tArgs[1].. ".bar", "w")
  172. file.write(a)
  173. file.close()
  174. print("Done! Saved as " ..tArgs[1].. ".bar")
  175. else
  176. print("No such file.")
  177. end
  178. else
  179. print("Usage: compiler <path")
  180. end
  181. ]]
  182.  
  183. fs.delete("compiler")
  184. compiler = fs.open("compiler", "w")
  185. compiler.write(fileSTUFFZCOMPILE)
  186. compiler.close()
Advertisement
Add Comment
Please, Sign In to add comment