Results 1 to 5 of 5
  1. #1
    Mezmaa's Avatar
    Join Date
    Jan 2011
    Gender
    male
    Posts
    76
    Reputation
    10
    Thanks
    15
    My Mood
    Cynical

    Talking EZ Crack Me for reverse engineering practice!

    Hello everyone.

    I'm releasing for you all a really easy crack me so you can practice using debuggers. This is aimed for beginners. This is extremely easy, written in only 19 lines of code. If you guys like this type of thing I can make some harder ones..

    If you are going to post a solution please put your solution in a spoiler so others don't accidentally see how to do this without trying themselves first. Also, in your solutions I ask that you explain why you are doing something and how you found your results, teach others - don't just show your final answer.


    <b>Downloadable Files</b> Downloadable Files

  2. The Following 12 Users Say Thank You to Mezmaa For This Useful Post:

    agee86 (08-31-2022),Anthonyle138 (09-10-2020),Astrocat3 (01-02-2018),bkRy (10-31-2016),frenckie1 (10-24-2016),jay_coder (01-28-2018),nevooo3 (03-01-2017),Smurf47 (12-27-2016),Soner_lag (08-23-2016),ssksalvation (04-17-2017),WasserEsser (08-21-2016),yoMAn1111 (12-31-2016)

  3. #2
    WasserEsser's Avatar
    Join Date
    Jul 2015
    Gender
    male
    Posts
    735
    Reputation
    174
    Thanks
    677
    My Mood
    Busy
    @Mezmaa

    Solution Nr.1 - Correct Password
     




    Solution Nr. 2 - Wrong Password



    Solution Nr. 3 - No Password





     
    Open the file in IDA / x32dbg, go to strings, notice that C++CRACKME is not being displayed on the screen and is, therefore, a potential password.

     
    Open the file in IDA / x32dbg, go to strings, go to the address where the "Great! You now have full access.." string is referenced, scroll up, patch the opcodes 74 3A with EB 3A to jump to the solution regardless of the outcome of the string comparison.

     
    Open the file in IDA / x32dbg, go to strings, go to the address where the "Great! You now have full access.." string is referenced, scroll up, replace the call to get user input via std::cin with a jump directly to the solution without even accepting user input or patch the executable to not even ask for a password and jump straight to the answer.
    Last edited by WasserEsser; 08-21-2016 at 07:28 AM.

  4. #3
    bkRy's Avatar
    Join Date
    Sep 2016
    Gender
    male
    Location
    Austria. (No kangaroos)
    Posts
    15
    Reputation
    14
    Thanks
    7
    My Mood
    Amazed
    How to crack for "newcomers" with OllyDbg only:

    There are more than 1 way you could do this challenge, I'm just using the easiest "ones".

    "If you guys like this type of thing I can make some harder ones.."
    Sure, I'd like to do more.

     
    1.Open OllyDbg
    2.Attach it to the exe
    3.Search for an string that looks like an "password".

    And what do we get after a couple of seconds scrolling?
    Password = C++CRACKME


     
    1.Attach it on OllyDbg
    2.Search for the output string when it's incorrect/correct.
    3.Look for the JE with a cmp or test, because something is checking if your input equals password.
    4. Patch the "JE" to a "JNE" -> "JNZ" and save the file.

    Inverting a jump might not be the smartest way to do it in complicated programs, but well... who cares I'm a noob myself ¯\_(ツ)_/¯

    Wrong password = correct password.
    Last edited by bkRy; 10-31-2016 at 06:28 PM.

  5. The Following User Says Thank You to bkRy For This Useful Post:

    Venipa (11-01-2016)

  6. #4
    __readgsqword's Avatar
    Join Date
    Mar 2016
    Gender
    female
    Posts
    39
    Reputation
    10
    Thanks
    13
    I figured it would be more fun to write a hack for it.
     

    Pass is located at [EBP+030h]

    When my dll gets injected, I patch five bytes at Base+011BEh, and call MessageBox to display whatever I typed and what the passcode is.

    https://*************.com/open?id=0B8...3M5aUxhbFhwSG8
    Last edited by __readgsqword; 11-07-2016 at 02:55 PM.

  7. The Following User Says Thank You to __readgsqword For This Useful Post:

    Valentinaa (11-09-2016)

  8. #5
    Valentinaa's Avatar
    Join Date
    Nov 2016
    Gender
    male
    Location
    colombia
    Posts
    28
    Reputation
    10
    Thanks
    3
    My Mood
    Aggressive
    [QUOTE=__readgsqword;12209466]I figured it would be more fun to write a hack for it.
     

    Pass is located at [EBP+030h]

    When my dll gets injected, I patch five bytes at Base+011BEh, and call MessageBox to display whatever I typed and what the passcode is.




    you help people,but people to you?

Similar Threads

  1. [Hiring] Looking for someone who is familiar with reverse engineering EAC
    By xXThunderGunXx in forum Work & Job Offers
    Replies: 2
    Last Post: 05-19-2016, 06:35 PM
  2. [Hiring] Need good reverse engineer to crack paid software
    By sonarudra in forum Work & Job Offers
    Replies: 2
    Last Post: 03-08-2015, 03:35 AM
  3. [Help] Learning practical ~advanced reverse engineering.
    By rocketpropelled in forum Reverse Engineering
    Replies: 1
    Last Post: 04-12-2013, 02:18 PM
  4. [Request] Reverse Engineers for the private server of APB
    By yardenks in forum Reverse Engineering
    Replies: 11
    Last Post: 09-16-2012, 08:27 AM

Tags for this Thread