Alright so I have bytecode from a dumped function;
for a=1,10 do print(a)end;if 1==1 then print("Yes")else print("No")end
\27\76\117\97\81\0\1\4\4\4\8\0\7\0\0\0\61\115\116\100\105\110\0\1\0\0\0\1\0\0\0\0\0\0\6\18\0\0\0\1\0\0\0\65\64\0\0\129\0\0\0\32\128\0\128\5\129\0\0\64\1\128\1\28\65\0\1\31\192\254\127\23\0\64\128\22\192\0\128\5\128\0\0\65\192\0\0\28\64\0\1\22\128\0\128\5\128\0\0\65\0\1\0\28\64\0\1\30\0\128\0\5\0\0\0\3\0\0\0\0\0\0\240\63\3\0\0\0\0\0\0\36\64\4\6\0\0\0\112\114\105\110\116\0\4\4\0\0\0\89\101\115\0\4\3\0\0\0\78\111\0\0\0\0\0\18\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\4\0\0\0\12\0\0\0\40\102\111\114\32\105\110\100\101\120\41\0\3\0\0\0\8\0\0\0\12\0\0\0\40\102\111\114\32\108\105\109\105\116\41\0\3\0\0\0\8\0\0\0\11\0\0\0\40\102\111\114\32\115\116\101\112\41\0\3\0\0\0\8\0\0\0\2\0\0\0\97\0\4\0\0\0\7\0\0\0\0\0\0\0
How might I be able to convert the dumped function back into readable text/working lua? My current (and useless) progress on a string.undump;
print(tostring(("\27\76\117\97\81\0\1\4\4\4\8\0\7\0\0\0\61\115\116\100\105\110\0\1\0\0\0\1\0\0\0\0\0\0\6\18\0\0\0\1\0\0\0\65\64\0\0\129\0\0\0\32\128\0\128\5\129\0\0\64\1\128\1\28\65\0\1\31\192\254\127\23\0\64\128\22\192\0\128\5\128\0\0\65\192\0\0\28\64\0\1\22\128\0\128\5\128\0\0\65\0\1\0\28\64\0\1\30\0\128\0\5\0\0\0\3\0\0\0\0\0\0\240\63\3\0\0\0\0\0\0\36\64\4\6\0\0\0\112\114\105\110\116\0\4\4\0\0\0\89\101\115\0\4\3\0\0\0\78\111\0\0\0\0\0\18\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0\4\0\0\0\12\0\0\0\40\102\111\114\32\105\110\100\101\120\41\0\3\0\0\0\8\0\0\0\12\0\0\0\40\102\111\114\32\108\105\109\105\116\41\0\3\0\0\0\8\0\0\0\11\0\0\0\40\102\111\114\32\115\116\101\112\41\0\3\0\0\0\8\0\0\0\2\0\0\0\97\0\4\0\0\0\7\0\0\0\0\0\0\0"):gsub(".", function(c)
if c:byte() == 0 or c:byte() == 1 or c:byte() == 2 or c:byte() == 3 or c:byte() == 4 or c:byte() == 5 or c:byte() == 6 or c:byte() == 7 or c:byte() == 8 or c:byte() == 11 or c:byte() == 12 or c:byte() == 14 or c:byte() == 17 or c:byte() == 18 or c:byte() == 22 or c:byte() == 27 or c:byte() == 28 or c:byte() == 30 or c:byte() == 31 or c:byte() == 128 or c:byte() == 127 or c:byte() == 129 or c:byte() == 139 or c:byte() == 156 or c:byte() == 186 or c:byte() == 192 or c:byte() == 193 or c:byte() == 194 or c:byte() == 240 or c:byte() == 254 then
return ""
end
return (c or "?") or "?"
end):gsub("LuaQ", ""):gsub("stdin", "")--[[:gsub(".", function(c)
return ("\\" .. string.byte(c or 63) or "63") or "?"
end)]]))
=A@ @A@A@A@?$@printYesNo(for index)(for limit)(for step)a
I couldn't read it at ALL before using the main gsub, now I can see it, but still can't understand it. Is there an angle I'm can go at it with to undump this function?

1 comment
You can ask on stackoverflow. This site is for roblox questions.