Reverse 100 - Keith Orders a Pizza
Writer: Kiernan Dempsey
Through reading the code provided, one can infer that the correct String to input into the program is 9 characters long. The program also contains 2 methods, “change1” and “change2”. Each one alters the string in some way. An “if” statement within the program reveals that the String you type in will be the flag if after performing the change2 and then the change1 method on it, it becomes “djckktjbq”. Both change1 and change2 take each character in the string, and using ASCII values, increase or decrease that character by certain amounts, contained in an array called “vary”. So to figure out what the flag is, you need to take “djckktjbq” and perform change1 and change2 on it backwards. This can be done very easily by using an ASCII table. To give an example, the first letter of the flag gets 1 subtracted from it, and then 4 added to it. So to do this in reverse, take the first letter of “djckktjbq” (that would be “d”), and find its ASCII value (in this case, 100). Subtracting 4 and adding 1 to this ASCII value gives us, in this case, 97, which is the ASCII value of the first character in the flag. Keep doing this for the second letter, and the third letter, until you get the entire flag.