0

I'm pretty much new to the Reverse Engineering and assembly language. I've watched some videos about OllyDbg and cracking serial numbers in programs and I got interested in them and I want to learn more about assembly. Therefore I created a little console program myself in C# to practice:

using System;
namespace ConsoleApp3
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Please enter the code: ");
            string code = "af2152ats7u35e";
            string input = Console.ReadLine();
            if (input == code)
                Console.WriteLine("The code is correct!");
            else
                Console.WriteLine("You failed, try again...");
            Console.ReadLine();
        }
    }
}

Of course I can find the string in a text document, but the point was to actually use OllyDbg to jump over the checking part and right away give the "code is correct", just to practice the reverse engineering. At first I thought it's gonna be easy and I'm gonna manipulate the program in different ways, but it turns out the strings are not shown as ASCII in the CPU view: enter image description here

Because I thought it's gonna be shown as in this video: https://youtu.be/uydMlQlEiyc?t=39

So instead I can only find them in the dump view: enter image description here

It makes it harder to actually find it in the CPU view and I can't find how to work with this on the internet or how to change it so it will be like in the video?

How do I continue from here and how can I find the dump text reference in the code?

  • 2
    If you are trying to debug a C# program(.NET) which is not an x86 or x64, use DNSpy, or else, code it in C++ or assembly to debug it in OllyDbg. – ismael_akez Jun 11 at 15:51
  • ok, thanks @ismael_akez! – Ostrovsky Jun 11 at 16:08
  • Don't forget to mark an answer as correct. – ismael_akez Jun 26 at 15:51
0

OllyDbg actually shows these strings, but you weren't looking at the right function. The image you posted shows RaiseException function from KERNELBASE instead of the main function.

ollyUnicodeStrings

However, as you see from assembly instructions, they are written in CIL and OllyDbg works only for x86 architecture, so when you try to set a breakpoint and run this application in it, you will get an exception and will be unable to continue to the code above.

As @ismael_akez suggested, you may either try some different tool, or just rewrite your program in C++ and you should able to debug your program in Olly.

Note: these are Unicode, not ASCII strings.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.