Common Assembly commands for software cracking

Source: Internet
Author: User

Common Assembly commands for software cracking

Cmp a, B // compare a and B
Mov a, B // send the value of B to the value of a, so that a = B
Ret // return the main program
Nop // No Effect
Call // call a subroutine ending with ret
Je or jz // equal jump (machine code 74 or 84)
Jne or jnz // skip if not equal (machine code is 75 or 85)
Jmp // unconditional jump (machine code is EB)
Jb // skip if the value is smaller
Ja // skip if the value is greater
Jg // skip if the value is greater
Jge // skip if the value is greater than or equal
Jl // skip if the value is smaller
Pop xxx // xxx output Stack
Push xxx // xxx pressure Stack
★★Crack the classic sentence★★
1. (most commonly used)
Mov eax []
Mov edx []
Call 00 ?????? Key call
Test eax
Jz (jnz) or jne (je) key jump
2 (most commonly used)
Mov eax []
Mov edx []
Call 00 ?????? Key call
Jne (je) key jump
3
Mov eax []
Mov edx []
Cmp eax, edx
Jnz (jz)
4
Lea edi []
Lea esi []
Repz cmpsd
Jz (jnz)
5
Mov eax []
Mov edx []
Call 00 ??????
Setz (setnz) al (bl, cl ...)
6
Mov eax []
Mov edx []
Call 00 ??????
Test eax
Setz (setnz) bl, cl...
7
Call 00 ?????? ***
Push eax (ebx, ecx ...)
......
......
Call 00 ??????
Pop eax (ebx, ecx ...)
Test eax
Jz (jnz)
I. Data Transmission instructions
── ─
They transmit data between the storage and registers, registers, and input/output ports.
1. General Data Transmission commands.
MOV transfers words or bytes.
MOVSX first extends the symbol and then transmits it.
MOVZX is not extended before transmission.
PUSH pushes words into the stack.
POP pops up the word stack.
PUSHA pushes AX, CX, DX, BX, SP, BP, SI, DI into the stack in sequence.
POPA pops up the stack of DI, SI, BP, SP, BX, DX, CX, and AX in sequence.
PUSHAD pushes EAX, ECX, EDX, EBX, ESP, EBP, ESI, and EDI to the stack in sequence.
POPAD pops up the stacks of EDI, ESI, EBP, ESP, EBX, EDX, ECX, and EAX in sequence.
BSWAP swap the byte order in 32-bit registers
XCHG exchange word or byte. (at least one operand is a register, segment register cannot be used as the operand)
CMPXCHG compares and exchanges operands. (The second operand must be the accumulators AL/AX/EAX)
XADD switches and then accumulates (the result is in the first operand)
XLAT byte lookup conversion.
── BX points to the starting point of a 256-byte table, and AL is the index value of the table (0-255, that is
([BX + AL]-> AL)
2. input and output port transfer command.
In I/O port input. (Syntax: IN accumulators, {port number │ DX })
Out I/O port output. (Syntax: OUT {port number │ DX}, accumulators)
The input and output ports are scheduled in the immediate mode, and the range is 0-255. The input and output ports are scheduled in the DX mode,
The value range is 0-65535.
3. Destination Address Transfer command.
Load LEA to a valid address.
Example: lea dx, string; Save the offset address to DX.
LDS transfers the target pointer and loads the pointer content into DS.
For example: lds si, string; Save the segment address: Offset address to DS: SI.
LES transfers the target pointer and loads the pointer content into ES.
For example, les di and string; Save the segment address: Offset address to ES: DI.
LFS transfers the target pointer and loads the pointer content into FS.
For example: lfs di, string; Save the segment address: Offset address to FS: DI.
LGS transfers the target pointer and loads the pointer content into GS.
For example: lgs di, string; Save the segment address: Offset address to GS: DI.
The LSS transfers the target pointer and loads the pointer content to the SS.
For example: lss di, string; Save the segment address: Offset address to SS: DI.
4. Mark transfer command.
Transmit the LAHF flag register and load the flag into AH.
Send the SAHF flag register and load the AH content into the flag register.
PUSHF marks the inbound stack.
POPF marks the exit of the stack.
PUSHD 32-bit flag into the stack.
POPD 32-bit marks the stack.

Ii. arithmetic operation commands
── ─
ADD addition.
Addition of ADC incoming bits.
INC plus 1.
ASCII code for AAA Addition

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.