- bool flag = this.textBox2.Text == "996486sdf" + this.textBox1.Text + "jnfn$%^&%^hds";
- 996486sdf + username + jnfn$%^&%^hds
996486sdfdeliriumjnfn$%^&%^hds
|
==> |
The code is in plaintext: 3924
if (Convert.ToInt32(this.QLGp3ejcEvLUgYOPeZP9難読化PROJECT-ZEN難読化.dXdCKMjHt4ZjNPlItxpb難読化PROJECT-ZEN難読化) == 3924)
This is a bad ConfuserEx mod.
|
==> |
Getting User ID and Name
- bool flag2 = this.textBox1.Text != "user0x1" && this.textBox2.Text != Form1.pword;
User ID: user0x1
Name: pword = Form1.Base64Encode("-o-o-o-o-o-o-o-o-o-o-o-o-");
- System.Convert.ToBase64String returned "LW8tby1vLW8tby1vLW8tby1vLW8tby1vLQ=="
Result from either valid inputs: MessageBox.Show("{G00DW07K_CR4CK3R}", "FindMe", MessageBoxButtons.OK);
|
==> |
I think during the first phase, the Mersenne Twister pseudorandom number generator (PRNG) is used. The algorithm is seeded with the first four bytes of the key. Then, each byte of the cipher is XORed with the next byte generated by the PRNG. |
==> |
I don't know why, but the last character was playing up for me. I ended up just brute-forcing it. |
==> |
*R10 00007FF6CA83A048 (.data ! aTVgTM) - ("enesibledev")
Password is:enesibledev
Anti Debug Circumvention:
Address:00007FF6CA831946
Original bytes: 74
Patched bytes: 75
|
==> |
ngrok-server - Admin Tool |
==> |
(debug032) - ("You win!") |
==> |
Password:MyLittlePony |
==> |
.text:0040104D cmp ecx, eax
EAX 0000003F /* b'?' */
The answer is:?
You can also just change .text:0040106E cmp eax, 1 to a 0 |
==> |
Is this classed as correct?
Enter your name : Delirium
Enter your serial key here : Delirhijkl
Good password : Delirhijkl |
==> |