Image removed.

But here we see a new black cat. This is the second enemy. So this stage is not over yet and the second cat must be killed again with a password, but this time the cat is harder and will not be killed by the rainbow.


Well, if we look closely, we find that in the list of forms that dnSpy has listed for us, there are 2 existing forms, and the submenu of each form has a fire button. So we have two forms ,in the first form wild cat attacks and in the second form we are facing now, the black cat attacks. So in order to find the password to kill this cat, we need to check out the Fire button event in form 2.

Image removed.

Well, as in the image is shown, we see that like the previous step button it has a code that checks the TextBox content, but this time it's not a regular word and we see the contents inside the TextBox as input to the isValidWeaponCode function and if this Valid password will be returned true by this function. So to figure out the password we have to go into the function and check the function code.

  1. private bool isValidWeaponCode(string s)
  2. {
  3. char[] array = s.ToCharArray();
  4. int length = s.Length;
  5. for (int i = 0; i < length; i++)
  6. {
  7. char[] array2 = array;
  8. int num = i;
  9. array2[num] ^= ‘A’;
  10. }
  11. return array.SequenceEqual(new char[] { ‘\u0003‘,‘ ‘,‘&’,‘$’,”,‘\u001e‘,‘\u0002‘,‘ ‘,‘/’,‘/’,‘.’,‘/’});}


So here we see that the input value of a function that is a string is entered into a loop, with the value A of the XOR operation, and then compared with the value of the string that came at the end of the function, and if true this would be returned. We need to learn some cryptography here.