I'm learning exploit development and while writing an encoder i was wondering what was the root cause of "bad chars" ?
The only explaination i could think of is that, in the case of a buffer overflow, there are changes/operations being done on the buffer between the input and the moment i access it.
This explaination is way too vague to be correct, there must be an other reason for requiring only a small subset of characters in those cases.
I'd appreciate someone pointing me to a more satisfying answer. Thanks!