Movatterモバイル変換


[0]ホーム

URL:


Skip to content
DEV Community
Log in Create account

DEV Community

Cover image for Easy Crack
NtMerk
NtMerk

Posted on

     

Easy Crack

Welcome

Here's a quick introduction/presentation so you know what this is and why you're reading it. I'mMerk, a Software Engineering student that really likesreverse engineering (among other things).

What we're doing

In this series we will attempt to reverse engineer and complete challenges from theReversing.kr website. In this particular case, we will be reversing the password of the challengeEasy Crack.

Reconnaissance

We're given a Windows executable and must crack it. UsingDIE we can see it is a 32-bit executable and is not packed.
Image description
When we execute it, a window pops up. It asks for input and has a button.
Image description
If we input an arbitrary string such as "test", an error dialog appears telling us the password is incorrect.
Image description
Knowing what we know, there exist several ways to tackle this challenge:

  • We could straight uppatch the program so that the flow of execution skips the error message and goes to the right place

    • This would bethe cracker's way; not the reverser's, and would also not give us points since we don't reverse engineer the password ;)
  • We could look forstring references

    • Given that the executable doesn't seem to have any protections, and knowing the string "Incorrect Password", this method can prove to be useful
  • We could set a breakpoint on theWin32 API GetDlgItemText/A/W

    • Because of how the program window looks, it is very likely that the Dialog reads its content using this function

x64dbg

We'll test our luck looking forstring references. Let's fire upx64dbg, attach the executable and look for strings in the main module.
Image description
And there we have some meaningful strings:

  • "Congratulation !!" - the good boy
  • "Incorrect Password" - the bad boy

Image description
Addressing the references, we can take a look at the program logic in graph mode. The first thing we see is a comparison between the start of our input (ESP+4) and the character 'E'. So our string must commence with the letter 'E'.
Image description
Also, further up in the code, right bellow the call to the API GetDlgItemTextA (which we inferred right) is a comparison between ESP+5 and 'a', which means our second character must be the letter 'a'.
Image description
(This is what ESP is currently pointing to, that's why ESP+4 is the first letter and ESP+5 is the second)
Image description
So we know that the first two letters of the password are "Ea".
There also exists a function within the program that constantlyreturns 1, and makes the flow end up executing the bad boy. Taking a look inside, we can see it compares [EBP+C] which contains "5y" with our string starting from the third letter, which is stored in ESI. This is done via "repe cmpsb", which essentially compares several characters.
Image description
(ESI is pointing at the third character of our input, in this case the first 'a' in 0x19F7F2)
Image description
(EBP+C points to the characters "5y")
Image description
This means that our third and fourth letters must be "5y".
Changing our input to "Ea5y" will now make the functionreturn 0, and the flow of execution gets further into the program.
Image description
If we keep looking further down in the code, x64dbg hints us that at some point in the code, the string"R3versing" is stored in ESI before some comparisons.
Image description
Without thinking much, we could infer that the correct input will be "Ea5y R3versing". However, we still missed something.
Image description
Stepping through the comparisons, we can quickly see that there shouldn't be a space between "Ea5y" and "R3versing".
'R' is compared with our input ' ', which means we probably need to remove the space.
Image description
Image description
Therefore, we input 'Ea5yR3versing' and hit the button one last time.
Image description

Top comments(1)

Subscribe
pic
Create template

Templates let you quickly answer FAQs or store snippets for re-use.

Dismiss
CollapseExpand
 
harrybrook202 profile image
harrybrook202
  • Joined

If you want download the easy crack software likephotoshop crack mac or any other software then visit the kabli store. It is perfect for you.

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment'spermalink.

For further actions, you may consider blocking this person and/orreporting abuse

Read next

adrian_zuplo profile image

Auth Pricing Wars: Cognito vs Auth0 vs Firebase vs Supabase

Adrian Machado -

kkazala profile image

Hacked by SharePoint: Extortion Pack

Kinga -

raselmahmuddev profile image

Protecting API Requests Using Nonce, Redis, and Time-Based Validation

Rasel Mahmud -

coder7475 profile image

How to Securely Deploy Node App to Ubuntu Server

coder7475 -

403 forbidden bio
  • Location
    Kernel Space
  • Joined

Trending onDEV CommunityHot

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

Log in Create account

[8]ページ先頭

©2009-2025 Movatter.jp