Current location: Home Page > Course > text

.Net zero base reverse tutorial - second lesson (get registration code)

With the foundation of the first lesson, do you want to try our skills? Let's try our skills.
In this lesson, we need to use the knowledge of the first lesson to get the registration code of a software.
This software is based on the software provided by Shark in his second lesson, and has been painted for five minutes. So don't worry about functions. Why not?

Software is a "IP search tool". There is a registration item. We will take this software to get the registration code.
Note: (similarly, primary software does not involve interfering with various elements of novice learning).
Below is the screenshot of the registration interface.

After registration, there was a hint, and no matter what he hints, we knew what to do, right? OK, dnSpy loading program is also in accordance with the first lesson of the steps, search "Name/", more than a slash, because search Name results too much, of course, you can also search for "Name/Code", but I actually do not recommend it, because it may contain our eyes can not separate spaces, which led you to miss the correct search results.
It's easy for second to find the string just hint, we double-click it!  

The basis of judgement is very simple. Look at the right half of my box, it represents the document from which the string comes from. Obviously, only second of the three results come from our courseware. Of course, you can also adjust the filtering rules from all files to the selected files, but I also do not recommend the novice, because the string may be contained in a DLL.

After double click, we also found the relevant judgment according to the steps of the first lesson. If we want to blow up, we can directly modify the judgment of the 34 elements.

But today we do not explode. We play to find the registration code.

Let's read the logic of registration.

The 22 line, the contents of the first edit box, first delete the first and the last space, and then after the RSAEncrypt () function is encrypted, the content is assigned to the variable text.

The 23 row, the contents of the second edit box, first delete the first and last space, and assign it to the variable text2.

The 24-33 row determines whether the contents of text and text2 are empty.

The 34-41 row determines whether the text and text2 are equal. If the equality proves that the activation code is correct, the title of the main interface is added with the word "Registered".

So if you want to blow up the program, if you want to fill the two edit box directly to activate the success, you can delete the contents of the 24-33 lines, then modify the judgment conditions of the 34 rows, or you can directly empty the contents of the 22-41 rows, and only keep the contents of the 36-37 rows, so that you can directly activate the Register button clicking on the main program.

Try to understand these words and then do my own exercises. If there are any questions, please ask me questions from the knowledge planet.

From the code, we understand that text and text2 need to be compared, that is, when we fill in the contents of the second edit boxes, we can complete the registration after the first edit box is encrypted through the RSAEncrypt () function.

In the 23 row, right-click and add breakpoints, you can also understand the breakpoints as "pause", that is, tell dnSpy, when the program is running here (at this point, the line that has not been executed), pause.

Click start to run the program. The registration window is: File - > Register

Now enter the registration information (user name remember, registration code to write casually), click registration.

You will find that the program has lost its response. The yellow arrow in the middle of the red dot before the breakpoint in snSpy is more than a yellow arrow, which means that the software has been executed here.

Back to dnSpy, notice that there are two variables text and text2 in the local variable window below.

Click F10 to see.

We found that text was assigned, yes, this value is the registration code.

Right click on the value of text, copy value

Then click the little red dot in front of the code of the breakpoint to cancel the breakpoint.

Click continue, or press F5 to let our breakpoints continue to run.

It still pops up. It doesn't matter.

Paste the copied values into the second edit box.

Registration, and then you will be beaten.

What's wrong with it?

DnSpy automatically adds a pair of quotation marks when copying the text value, so we paste the copied values into the second edit box and delete the quotes by ourselves.

Software has become a registered state.

Congratulations, through lesson one and lesson second, you have learned to blast and get the registration code!


Finally, the role of F10 is explained.

The button in this picture is in turn:

Continue: continue to run unless you encounter the next breakpoint or wait for the next operation.

Pause: pause to break point or wait for operation.

Stop: end operation procedure

Restart: rerun the program to the breakpoint or wait for the operation.

Displays the next statement: used to preview the statement to be executed next time.

Sentence by sentence: each time a row is executed, if it meets the function call, it will enter the function.

One by one process: each time a row is executed, it does not enter the function when it meets the function, and calls the function call as a statement.

Transfer: when you enter the function, jump out of the function that allows you to execute the rest of the function directly, until it returns to the statement at the back of the function.

Search assembly: we just learned about the last class.

Quote Shark's passage:

Usually, a great deal of theory and knowledge is used in the tutorials to let newcomers close the video or web pages directly. This is not my tutorial charm. My tutorial is to let novice get interest quickly so that beginners can have the opportunity to learn theory and basic knowledge. As long as there is interest, all the others are good to say. When you do not need to say that, he will also learn theory and basic knowledge himself. Without interest, theories and basic knowledge are all lullabies.


Courseware: Https://articles.zsxq.com/id_wixv8nql022h.html


 

All resources of this blog are not specified. Harmonious The version does not need to pay, I do not engage in software members, nor accept the designated harmonious business.

Software can not download / install / other computer problems, free QQ group (500 people):949039296

There are problems with the above group, direct group asked, when online answer, private chat generally do not see.

I would like to reward WeChat for sweeping the two-dimensional code on the right. I do not recommend more than 10 yuan.

 
Article title:.Net zero base reverse tutorial - second lesson (get registration code)
The writer: Mu Ruoxi
Date of publication: 2019-03-26 05:30 starts on Tuesday Evening as evening
Fixed links: Https://www.muruoxi.com/jiaocheng/4040.html
 
Article Tags:
Last article: Next article:

2 comments

Comments loaded...
  1. Sofa
    Flying snow   

    Take out the code in RSAEncrypt (), you can write a registration machine.

    12:30 a.m. on March 27, 2019  comment
    • Mu Luo Xi   

      Yes

      12:00 p.m. on March 27, 2019  comment

Comment

(E) (= = omega =) (< <) Sigma ( (3) X X (E - -)

Tip: after refreshing the comment, you can see the hidden files.
About ten years
Loading...