[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: obfuscating / protecting LUA code
- From: David Given <dg@...>
- Date: Sat, 29 Apr 2006 12:04:20 +0100
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Shmuel Zeigerman wrote:
[...]
> After a second thought: this doesn't have to be special case. The
> obfuscator can build a table putting in there all the string keys and
> all the string values (may be excluding those involved with `require').
> Then it replaces all those strings with their obfuscated counterparts.
[...]
> a1 = { ["a2"] = 1, [1] = "a2",
> ["a3"] = 2, [2] = "a3", }
...and the program has now told the user: "You have a3 emails waiting for
collection." Those field names aren't arbitrary, they're actual *data*.
Another example:
set = {foo=true, bar=true, baz=true}
while true do
local s = readline()
if (s == "") then
break
end
set[s] = true
end
The user supplies a list of words; the code will keep track of all unique
words, prepopulating the set with foo, bar and baz. If your obfuscator tries
to rename foo, bar and baz, the code will simply not work.
- --
+- David Given --McQ-+ "If you're up against someone more intelligent
| dg@cowlark.com | than you are, do something insane and let him think
| (dg@tao-group.com) | himself to death." --- Pyanfar Chanur
+- www.cowlark.com --+
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFEU0g0f9E0noFvlzgRAp5tAJwIMyJ5Jkh8YWHRJEedpS1H1ch/mACfWctd
tVaEEHV/Yzgi5LRQpIaLvko=
=vk6k
-----END PGP SIGNATURE-----