Tgus CrackMe Write-Up
Using IDA To Analyze And Reverse Engineer A Small Password Application To Crack It’s Password
Step — 1
Extract the binary using the password : crackmes.one
Step — 2
Run the program and enter a wrong password
Step 3 — Load the binary onto IDA to analyze it further
newobj instance void PasscodeChecker.Program::.ctor()
: This line creates a new instance of the PasscodeChecker.Program
class by calling its constructor (::.ctor()
).
The Program
class seems to be defined elsewhere in the code and might be the starting point of the actual application logic.
After further inspection password has been found —
ldstr "aHardCrackmeCod"
: This loads a string onto the stack.call bool [mscorlib]System.String::op_Equality(string, string)
: This calls the static methodop_Equality
on theSystem.String
class to check if the user-entered passcode is equal to the string . The result is a boolean value.stloc.1
: This stores the result (boolean value) from the evaluation stack into the local variable.ldloc.1
: This loads the boolean value from the local variable back onto the evaluation stack.brfalse.s loc_10B
: If the user-entered passcode is not equal to the string, the execution jumps toloc_10B
, which displays an "Incorrect Passcode" message.nop
: Another "no-operation" instruction, which serves as a placeholder.ldstr "aCorrectPasscod"
: This loads a string literal "aCorrectPasscod" onto the evaluation stack.
Entering the strings loaded by IDA as the password — hard-crackme-code
Cracked!!!
Kindly Reach Out To Me At — josephalan17201972@gmail.com for any corrections.