kristnjov
5/2/2007 5:26:00 PM
John Joyce wrote:
>
> On May 3, 2007, at 1:35 AM, Deniz Dogan wrote:
>
>> Hello.
>>
>> I'm trying to come up with the "best", most Ruby-ish way to write a
>> method such as this one:
>>
>> # This method replaces randomly selected characters in 'string' with new
>> # randomly selected characters of [A-Za-z0-9]. However, it does not
>> # replace any character with the character itself, i.e., it does not
>> # replace any "a" with "a". Also, no position in the string will ever be
>> # replaced twice.
>> # 'string' is the String to perform the replacing on.
>> # 'amount' is the amount of different characters to replace.
>> def random_replace(string, amount)
>> ...
>> end
>>
>> You don't have to care about any error checking of course.
>>
>> Any ideas? The solution I've come up with (but which is yet to be
>> implemented) does not feel Ruby-ish at all and could probably be
>> implemented in pretty much any other programming language.
>>
>> And no, this is not school work, no matter what you think.
>>
>> -Deniz Dogan
>>
>
> Lets define that a little better before we get started:
> 'amount' means what? Number of characters to replace?
Correctly guessed!
> Do you chose random positions in the string to replace?
Yes!
> How often do you randomize?
Once every program run.
> What's the point?
I'm currently working on a project which is supposed to perform a rather
odd type of penetration testing on protocol implementations, using
specification files which describe attacks to perform on the host. This
method is used in trying to find very simple vulnerabilities, by
replacing some characters in strings to see what happens if we send
something unexpected to the server.
> Does it need to be reversible?
Not at all!