createfilemapping or eax, eax je error_filemap mov hmap, eax push 0 push 0 push 0 push 6 push eax call mapviewoffile; file ing to memory or eax, eax je Error_map mov pfile, eax mov EDI, eax mov ESI, offset gdtflag mov ECx, dwfilesize:; search for the descriptor Inc EDI push ESI push EDI push ECx mov ECx in ntldr, 10 h repz cmpsb pop ECx pop
locations are typically on the stack, but may also be in registers; this is specified by calling conventions.
Program Execution jumps to the address of the called function.
Inside the function, registers ESI, EDI, EBX, and EBP are saved on the stack. The part of code that performs these operations is calledFunction PROLOGAnd usually is generated by the compiler.
The function-specific code is executed, and the return value is placed into the eax re
or server of the recipient, and stores it in the corresponding mailbox; the recipient can open his or her own mailbox through the network workstation at any time, Review the messages that you receive.
Advanced e-mail systems can provide "text box", "voice mail," Graphic image box "and other types of electronic postage functions, supporting data, text, voice, graphics, images and other multimedia messages, and can be a variety of programs, data files as attachments to e-mail messages sent. Ther
"Copyright Notice: respect for the original, reproduced please retain the source: blog.csdn.net/shallnet, the article only for learning Exchange, do not use for commercial purposes"in high-level languages, we often manipulate strings, such as string copies, comparisons, lookups, and so on. There are also commands for implementing these operations in assembly language. This section describes the string transfer related Operations command in assembly language. The Movs instruction can transfer a s
This article describes the C language embedded API memory search engine method, shared for everyone to reference. The implementation methods are as follows:
Copy Code code as follows:
ApisearchEngine.cpp:Defines the entry point for the console application.
//
#include "stdafx.h"
#include
DWORD __stdcall Getstrlengtha (char* szName)
{
_asm
{
Push EDI
Push EBX
mov eax, szName
mov edi
are eax,ebx,ecx,edx,edi,esi. These registers can be used arbitrarily in most directives. However, some instructions restrict the use of some of these registers for some purpose, such as the Division directive IDIVL the dividend in the EAX register, the edx register must be 0, and the divisor can be any register. The quotient of the calculated result is stored in the EAX register (covering the divisor), and the remainder is stored in the edx register.
First hang up the code,The original function author for the unknown Foreigner, the source for the MASM32 development package, here to express thanks. Chinese comments Modified added by Lao Liu: 486 model flat, stdcall option Casemap:none. codeopt ION prologue:none OPTION epilogue:none align 4StrLen proc item:dword mov eax, [esp+4]; Gets the parameter item, which is the string pointer Lea edx, [eax+3]; edx= pointer +3 push EBP; back up EBP EDI push
What do you call it?
This time I want to use this technology to change the function of an API. I'm not sure if we can call it API redirection again. In this example, I redirect the CALC.EXE shellabout () dialog box to my "Hello world!" Message box (in Pemaker7.zip). You will see how easily you can implement it with the aforementioned code and make very few changes.
...//================================================================Push EDIPush ESIPush EBXMOV ebx,[ebp-10h]Push EBXPush EBXCall
A repeated instruction is a set of instructions for operating the data buffer. The data buffer is usually a byte array, which can be a single word or double word. (Intel 'calls these commands string commands) The most common data buffer operation commands are movsx, CMPs, stosx, and scasx. X can be B or W, and D represents byte, word, and dual-word, respectively. These commands are valid for any form of data. In these operations, the ESI and EDI reg
Since the initial value of the dynamic array in Delphi is not always 0, setlength is used before each use of a one-dimensional array, and then fillchar is generally used for clearing, however, if the array is more than dozens of MB, the efficiency of fillchar is very low. For this reason, I specifically wrote some optimization code for clearing the array or memory.
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1. Use the MMX command to optimiz
Cracking Device Monitor
Author: rockhwndTime: 2004.8.10Web: http://blog.csdn.net/rockhwnd
When device Monitor starts, it reads a file named license. DM in its directory and determines whether the file has been registered based on the content. The code for reading the file and analyzing the file content isC:/program files/common files/HHD software/device Monitor/silk. dll fileSo the createfile breakpoint
: 67f917af ff15d041f967 call dword ptr [67f941d0] // createfile open the file: 67f917b5 8bf8
Learning Goals:Mobile Item Function EncapsulationHomework:Extract the signature of the warehouse list base address, and add back to the warehouse list base address to update the code.BOOL Movegoodtodepot (char*szpgoodsname);//move the specified items in the backpack into the warehouse#define BASE_DEPOTLIST 0x31c9a24//Warehouse list base address DD [[0x31c9a24]+410+4*0]#define BASECALL_MOVEGOODS 0X007A0A20//Mobile Item CallAdd the following member functions in the Backpack list structureBOOL selg
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.