yes, but if he has no idea about the arguments and the argument structure he can't call the function afaik. like that, he could get the arguments delivered by some kind of reinterpret_cast<char[]> (i'd suggest that) and then he could copy that char* to the stack and then furthermore call the function without any arguments (get the address of the function, call it in assembler). that's some kind of detour but i think most compilers would complain about calling an unknown function with a struct as arguments - or does it automatically get transformed into the single arguments then afterwards in the function? i don't think so.

assembler is hard to learn. instruction sets differ and you need loads of time. you could start writing assembler snippets for stuff you normally do directly in c(++), p.ex. additions, copying, searching strings. there's a good tutorial with the very basics in a wikibook. personally i've bought a reference for all instructions (x86, mmx, sse(1-3)) since when you've got the idea behind assembler it's still hard to remember the instructions.

joey.