Organize from the Internet
Eax, EBX, ECx, EDX, ESI, EDI, EBP, ESP, etc. are the names of General registers on the CPU in x86 assembly language, and are 32-bit registers. These registers can be viewed as variables in C language.
For example: Add eax,-2; // it can be considered to be a value such as-2 added to the variable eax.
These 32-bit registers have multiple purposes, but each of them has "expertise" and has its own special features.
Eax is the ac
Assume is s a string of lower case characters.Write A program This prints the longest substring of in s which the letters occur in alphabetical order. For example, if s = ‘azcbobobegghakl‘ , then your program should printLongest substring in
The analysis of the tableau's own DLL, which is not difficult to judge from its loaded Qt library, is developed using QT. Therefore, it has the function of easy transplanting. See the Internet has a public SDK, so download to see, but very
key ReadFile is found, after reading the HID device data, what should I do? According to common sense, it is time to analyze and verify it. Indeed, my analysis is correct. Here is the key assembly code obtained at that time, because this article was written in a few months later, therefore, some content can only be recalled.
After reading the code, you can fully understand the protocol.
004417B2. 8B0D D8CD9500 mov ecx, dword ptr ds: [95CDD8] // retrieves the high byte of the CH1-CH4004417B8. A3
virtual function, the main function reserves 8byte of space on the stack for object x to hold the vptr pointer and member variable i.
The following is an assembly code for the constructor of x:
?? 0x@ @QAE @h@z PROC ; X::x, comdat
_this$ = ecx
; 5 : X (int ii) {
push ebp
mov EBP, esp
push ECX The purpose of the pressure stack ecx is to reserve 4byte of space mov DWORD PTR _THIS$[EBP] for this pointer (the first address of X object) , ecx; Store the this pointer
the software is the subscription related CD of the Computer newspaper in 2001. The protection at the time of 7.0 is very good. The latest version should be much better now...Okay, let's get started. The first step is to install it (attracting the nheader of the Wolf), and then enter a string for registration. An error dialog box is displayed, the error message "the registration code is incorrect and cannot be registered" is displayed ". Then let's use Fi to see what shell it uses. ASPack 2.001,
Virus program source code instance analysis-example code of CIH virus [2] can be referred to push eax; block table size
Push edx; edx is the offset of the virus code block table
Push esi; buffer address
The total size of the merged virus code block and virus code block tables must be smaller than or equal to the unused space size.
Inc ecx
Push ecx; Save NumberOfSections + 1
Shl ecx, 03 h; multiply by
ptr [ebx] movl (% ebx), % eaxIn the ATT assembly instruction, the operand extension instruction has two suffixes: One specifying the length of the source operand and the other specifying the length of the target operand. ATT's symbolic extension command is "movs", and the zero extension command is "movz""(Intel commands are" movsx "and" movzx "). Therefore, "movsbl % al, % edx" indicates the register alThe byte data is extended from byte to long, and
compiler will automatically expand a simple function like STD: reverse () in inline mode, the generated Optimization assembly code is as fast as version 1.
// Version 3: Use STD: reverse to reverse a range, with high-quality code
Void reverse_by_std (char * STR, int N)
{
STD: reverse (STR, STR + n );
}
======== What code will the compiler generate?
Note: Viewing the compiled code generated by the compiler is certainly an important means of understanding program behavior, but never think tha
push EAX; block table size
push edx; edx is the offset of the Virus code block table
push esi; buffer address
Combined virus code block and Virus code block table must be less than or equal to the amount of space not used
Inc ECX
push ecx; Save numberofsections+1
SHL ecx, 03h; multiply 8
push ecx; reserved virus block table space
Add ecx, eax
add ecx, edx
address for all 6F statements ). This CALL is called not only when the money and wood population changes, but even when the Organization is created or destroyed. All we need here is to HOOK the call to the change of money and wood. After all, other abnormal functions have already been written by our predecessors and there is no need to repeat the wheel. (If you are interested, you can analyze it yourself)
You only need to determine the value of edx
personal opinions on data analysisAfter doing the data Product manager, has done some simple homework to the data analysis work, now records as follows, hoped can help the data product aspect schoolmate, simultaneously also takes this platform to exchange the study, the improper place, also please treatise.
Data Product Manager ResponsibilitiesData analysis--grasping data dynamics, the value behind the pivot data---------------------------------------------------------------- See the article i
The annual "big project" for reinstallation of the system has been under construction.
Sort out the tools and materials of last year. Today, we start to give our customers a bit of gameplay assistance. (The customer will not mind if it has been more than a year)
Today is the first article.
Analysis notes of long Xiang mi Chuan
Blame
Breakthrough:
Ce searches for the change value and does not stop selecting the blame. Locate the following:Code:
00413b5e-89 be B0 00 00-mov [ESI +
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.