Welcome to click “The Beauty of Algorithms and Programming” ↑ Follow us!
This article was first published on WeChat official account: “The Beauty of Algorithms and Programming”, welcome to follow and stay updated on more articles in this series.
Introduction
In today’s internet era, many teenagers enjoy playing games, such as League of Legends, PUBG, and Crossfire, which are very popular. Where there are games, there are game cheats. However, that is not the main focus today; we will discuss the assembly language required for cracking cheats.
What is Assembly Language
First, assembly language is a low-level language developed based on machine language, allowing programmers to understand the designed programs more clearly. The execution efficiency of assembly language is the highest, but its practicality is not very high, which is why high-level languages such as Python, Java, and C were created.
Why Learn Assembly Language
When cracking cheats, we do not deal with the decompiled source code but with assembly language. Therefore, if we want to crack cheats, we must learn assembly language. Of course, learning assembly language is not solely for cracking game cheats; we can also crack other paid applications on the computer. (Here I declare that cracking programs is not a means of profit but a hobby, so cracked programs are not distributed, and we also respect the program designers).
Basic Learning of Assembly Language
Assembly language is divided into 16-bit, 32-bit, and 64-bit assembly languages, corresponding to different operating systems, and most of their commands are interrelated. Today we will mainly discuss 32-bit assembly language.
Operations
In assembly language, operations include addition instructions ADD/ADC, subtraction instructions SUB/SBB, increment instructions INC, decrement instructions DEC, multiplication instructions MUL/IMUL, division instructions DIV/IDIV, and logical operation instructions NOT/AND/OR/XOR, etc. The logical operation instructions are used as follows:
NOT (not): flips the binary number of the operand’s 1 to 0 and 0 to 1.
AND (and): binary operations such as: 1 and 1 = 1, 1 and 0 = 0, 0 and 0 = 0,
OR (or): binary operations 1 or 0 = 1, 1 or 1 = 1, 0 or 0 = 0,
XOR (xor): binary operations 1 xor 0 = 1, 1 xor 1 = 0, 0 xor 0 = 0
Comparison and Jumping
Comparison operations include CMP and TEST comparison operations.
Jump operations:
je or jz jump if equal
jne or jnz jump if not equal
jmp unconditional jump
jb jump if less than
ja jump if greater than
jg jump if greater than
jge jump if greater than or equal to
jl jump if less than
jle jump if less than or equal to
Typically, jump operations and comparison operations together constitute a judgment (if), and some critical jumps often determine whether the program is cracked.
Conclusion
Today’s learning comes to an end. I want to tell everyone that the basic learning of assembly language is far from over; it is impossible to learn assembly language just through this blog. Learning assembly language, like learning C language and Java language, requires a process. However, if after reading this article you are interested in cracking knowledge, please do not stifle your thoughts in the cradle. As long as you truly want to learn and work hard, I believe you will succeed.
Chief Editor | Zhang Zhenyue
Responsible Editor | Guan Xueqi
where2go Team
WeChat ID: The Beauty of Algorithms and Programming

Long press to recognize the QR code to follow us!
Warm Reminder: Click the bottom right corner of the page “Write a message” to leave a comment, looking forward to your participation! Looking forward to your sharing!