lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


-----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-----