Any chance someone who knows more assembly than me can explain how the symbol names for dlsym() are retrieved?<p>ie I would have expected to see 'ptrace', 'scanf' and 'printf' in the strings output, but they must be obfuscated in some way (otherwise I guess there's no point using the dlopen/dlsym trick at all.)<p>I only see one call to dlsym (at 8048506), so it seems to me the program is doing something tricky to build each symbol name string and then calling a routine there to dlsym() it.<p>That's about where my x86-fu fails me, though, and I remember I should be working on other things. :/