Dry Goods: C + + DISASSEMBLY reverse engineering!!!
This course focuses on how to read and understand the disassembly code of A/C + + language program. The so-called disassembly, simple is to translate the binary code of the executable into assembly language code, from the assembly code to read the meaning of the original high-level language. This is a basic course that focuses on the correspondence between the disassembly code and the C + + syntax and captures the most important points of knowledge.
Student objects
Course-oriented learners need to have basic knowledge of C + +, assembly language does not have to be skilled, to understand some common directives. If you want to engage in areas such as reverse engineering and software protection, this course will be a good primer.
First, Basic concepts
Register
Addressing mode
Common Assembly directives
C + + inline assembler
C + + entry function
Disassembly identifies the main function
Second, integer and floating-point type
Original code, anti-code and complement
Representation of integers
Big-endian and small-end byte-order
Floating-point encoding method
Floating-point registers and floating-point directives
Integral type and floating point type mutual conversion
The third pointer and constant
Address
Pointer
Reference
Constant
Type four Boolean with character (string)
Boolean type
Character type
The representation of a string
String to find length
String manipulation
The expression of the five-speech
An invalid expression
An assignment expression
An arithmetic expression
Relational expressions
Logical Expressions
Conditional expressions
Bitwise op-Expressions
VI. Select structure
If statement
If ... else statement
If ... else statement
Switch ... case statement
Linear Jump Table
Seventh talk about the loop structure
While statement
Do...while statements
For statement
Nested loops
Break, continue, and GOTO statements
Comparison of efficiency of various cyclic structures
compiler optimization of the loop structure
The eighth variable
Global variables
Local variables
static variables
Heap variables
Nineth lecture function
Parameter passing
calling convention
return value
EBP addressing and ESP addressing
Tenth lecture Array
Storage of arrays
Subscript addressing and pointer addressing
Two-dimensional arrays and multidimensional arrays
Array of local variables
Array of function arguments
Array of function return values
11th talk about structure and class
Similarities and differences of structure and class
Storage and alignment of objects
This pointer and member function
Access to member variables
Static member variables
Object as a function parameter
Object as a function return value
12th Speaking Constructors
Default constructor
Constructors for local objects
Constructors for heap objects
Constructors for global objects
Constructors for local static objects
13th Talk copy Constructor
Copy when the object is defined
Copy the function when the parameter is passed
function returns a copy of the object
Default copy constructor
14th Speaking destructor
The destruction of local objects
Destruction of Heap objects
The destruction of a heap object array
Destruction of global objects and static objects
The destruction of function parameters
Destructors for returning objects
15th virtual function
Hard Rod dry: [Reverse hack] North Wind net C + + Disassembly Foundation: WIN32 Platform (reverse instance, dynamic debugging instance)
virtual function and virtual function table
Multi-State implementation
Recognition of virtual function
16th Single Inheritance
Memory layout for inheritance relationships
Construction and destruction of inheritance relation
Virtual functions for inheritance relationships
The 17th is to say multiple inheritance
Memory layout with multiple inheritance
Type conversions for multiple inheritance
The construction process of multiple inheritance
The destruction process of multiple inheritance
Multiple inheritance and virtual functions
18th Converse Example of C language
19th. Reverse instance of C + +
20th Dynamic Debugging Example
Baidu Network Disk:
Link: Http://pan.baidu.com/s/1nt00oOT Password: JMHQ
This article is from the "focus on IT Resources sharing" blog, be sure to keep this source http://itjishu.blog.51cto.com/2602918/1656047
Dry share: North Wind Network C + + disassembly reverse engineering video download!