Sir_Zed on 5:50 PM 08/01/2024: What do you mean by "find the code"? It's totally random every time the program runs.
It uses RNGCryptoServiceProvider wiht little use of SHA256 to generate values and just dumps them in the environment variables.
You can bypass it in several ways:
1.Obviously, you can patch it or change the code to reveal the key.
WinAPI/Hooking: There are ways to do this without changing the executable. Just use some hooking or WinAPI tricks to get the values directly.
Programista on 6:25 PM 08/01/2024: Solved. Have a nice day
dredge on 2:01 PM 08/04/2024: Solved, "Congrats you got the Passcode!", have nice day!
dredge on 2:32 PM 08/04/2024: Please Enter the Key to Continue
CF6C844CA32ED7AFF1EC90C1172C177CAA25118F8862C0C9A24E528F9F7CBD7C7F707F86501A9DDC543AB81EA0C139E0C4001D7FF992E106814A8422C2B867E2
Congrats you got the Passcode!
Doubtful on 10:02 PM 08/05/2024: The key is held in Environment.GetEnvironmentVariable("key").
Please Enter the Key to Continue
8C18ED5F09BFB0BE63E7670592E893D0785DD9C28D3404ACBAA1169E2EEABDEEB8BF2FAA2371973F7D4AA68063D688C3AD259FEB2CDFBCA3F33DD939D41817D5
Congrats you got the Passcode!
manos17 on 11:10 PM 08/05/2024: w
Irval on 2:24 PM 08/09/2024: The RNGCryptoServiceProvider.getBytes(array) call fills the array with a cryptographically strong random set of bytes. You can "get the code", for example, by patching the Retrieve_Key() method, but it seems to me that the task is incorrect.
Zaroxe on 4:17 PM 08/09/2024: "Congrats you got the Passcode!", a good one to start with.
Akmore on 2:02 PM 08/11/2024: First Timers Hint:
1. Use DnSpy to reverse the code.
2. Carefully check the check Function.
3. Use the same key to get the key and complete the challenge.
4. All the keys posted are wrong you will have a different everytime you execute the program.
My passcode was : BE2951310ED24D8E23CEA09862AEB161723F246B607742E25722C92AF746FB1F33D9243DDF333FCDCD29F771DFFF439EDB45280F9F053F996D44590859868A0C
canll on 3:53 PM 08/16/2024: My passcode was:
323C26190D1133AF50C1A8A9E9A9FF7DF2AE15DF0C4100E0E10504D6E40863BD1C5B64CF93CAE64935979A178FF07134460CB64B6D7250D47B5580381E6CFAD0
delota on 7:47 PM 08/16/2024: Hint:
1. Use DnSpy
2. Use System Informer for Reading process env vars
elite18 on 7:03 AM 08/17/2024: Hello JayC, thank you for building a valuable crackme for the community. I wanted to know how to get a solution accepted for this challenge. I already submitted a solution but haven't received a reply.
neksio on 5:30 PM 08/17/2024: Please Enter the Key to Continue
4B3AB6970D8A9090AFD0D2558326A901B5FA86201EDF74AEDC2AEC705B5CF8088C0B91F6C0930015049C755E9B440EA9C01BA12E33BEC82D17E68DCB9E90E517
Congrats you got the Passcode!
bf3k on 6:37 AM 08/18/2024: i added this below line 13 of Retrive_Key to print out the key since the key is random
Console.WriteLine(Environment.GetEnvironmentVariable("key"));
shachar on 6:50 PM 09/04/2024: Find the code. its random using dnspy you can by pass it easy
Cappybara on 11:26 AM 09/15/2024: just use dnspy
ozgurcicek on 3:48 PM 10/23/2024: look at this place then play with if statements of code i use dnspy for this that's the easiest solution i think
internal class Executable
{
// Token: 0x06000001 RID: 1
private static void Main()
{
Console.Clear();
Executable executable = new Executable();
executable.Retrieve_Key();
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine("Please Enter the Key to Continue");
Console.ForegroundColor = ConsoleColor.White;
string userInput = Console.ReadLine();
Executable.InputStatus inputStatus;
executable.Check(userInput, out inputStatus);
executable.Check2();
if (inputStatus != Executable.InputStatus.Succes)
{
if (inputStatus != Executable.InputStatus.Incorrect)
{
throw new ArgumentOutOfRangeException();
}
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Wrong Passcode, Sorry");
Console.ReadLine();
}
else
{
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Congrats you got the Passcode!");
Console.ReadLine();
}
Environment.Exit(0);
}
i changed !='s to == then i press enter just and its solved