ah right f*** that
actually another alternative would be something a la opencl with precompile kernel (a priori that wouldn't violate the licensing)
but again lots of work...
...and something which doesn't permit reverse engineering the kernel...
...and sometimes the magic is in the miner itself, not the kernel...
actually what I did in my miner with fee (for vanillacoin) was to hash some stuff through keccak, then xor it into the
final hash so that if someone hack into the program, it never solves the correct hash...
doesn't having the source of the miner be enough to figure it out?
and how did you do the fee part? if you have the sources, you can remove it.
well actually the source was never released and more powerful kernel were around a couple of day later, which made it totally obsolete so there wasn't anypoint to release it...
the fee part was implemented in ccminer.cpp such that a certain %age (5% if I remember well) of all the gpu rounds were done with the dev login info and the rest with the standard miner login info. However I believe, this was done with a condition which was probably relatively easy to hack with a decompiler (pretty straight forward c++), and that was probably making the whole keccak encoding easy to bypass. (actually the %age of dev fee, dev login infos were part of the 512bit sequence (the rest was some random stuff taken here and there in the ccminer code) hashed through my initial keccak round (running on cpu only once at start), to prevent some obvious alteration of the executable...
The main hassle was that every pool had to be hardcoded as well as some other stuff...
assuming the code didn't had any alteration that key was xored to the a bunch of wirlpool constant (which had been previously xored to the original key) so that the correct solution could be found... (otherwise it was just sending wrong solutions to the pool)