Hmm, dynamic as in warden sends us a packet that says:
"Hey warden here, are you running any of the following dll's? <insert big list of dll's here>, if so say yes proceded by <insert random string here> else say no proceded by <another random string>" ?
If warden expects some sort of static reply as in yes/no then it would be easy, otherwise he is going to HAVE to give the client something in order to generate a correct response. Kinda sounds like a rotating encryption scheme that I wrote for a chat client a long time ago. It worked like this:
User types stuff, hits send.
The program then selected a random number from 1 to say 40
Each letter was then converted to is ASCII value and multiplied by the random number.
the result was a different number, this number was recorded into a buffer.
once each letter was converted a new random number between 1-8 was generated.
the first character of the send_string was this number, each multiplied character was then recorded in either correct or reverse order based on wether the random # was even or odd. The end # was the multiplier.
Once the buffer was crafted it was then sent to the receiving computer, who decrypted it in reverse order.
What we need to do is find us some good old warden packets to pick apart, it would have been smart of them to make them dynamic. but without updating the client every time warden makes his little visit it can only be so dynamic. I don't think it impossible quite yet