834 edi

Learn about 834 edi, we have the largest and most updated 834 edi information on alibabacloud.com

Virus program Source code example Anatomy-CIH virus [4]

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; offset of the body of the ecx+ file    Sub ecx, (sizeofheaders-@9) [esi] Not ECX Inc ECX; ecx for file header size-offset of

How to crack Shell

Stack006af03c | ff95 4d0f0000 call dword ptr ss: [EBP + F4D]; kernel32.getmodulehandlea006af042 | 8985 26040000 mov dword ptr ss: [EBP + 426], eax; the handle of kernel32.dll is stored in EBP + 426006af048 8bf8 mov EDI, eax; kernel32.77e40000006af04a 8d5d 5E Lea EBX, dword ptr ss: [EBP + 5E]; "virtualalloc"006af04d 53 push EBX006af04e 50 push eax; kernel32.dll handle006af04f ff95 490f0000 call dword ptr ss: [EBP + f49]; getprocaddress006af055 8985 4d

Functions and assembly

operation adds ESP to 8, indicating that the stack growth direction is from high address to low address. 00c93a03 mov dword ptr [Sum], eax # function return value stored in eax in the sum variable # function call field int pushparametersorderapp (INT param1, int param2) {00e41f80 push EBP # Save the previous EBP pointer, esp + = 400e41f81 mov EBP, esp # assign the new ESP to EBP and direct it to 00e41f83 sub ESP at the bottom of the current function stack, 0d8h # reserve 216 (0d8) bytes for the

Memcpy implementation in Linux x86 Kernel

Static _ always_inline void * _ memcpy (void * To, const void * From, size_t N) {int D0, D1, D2; ASM volatile ("rep; movsl \ n \ t "" movl % 4, % ECx \ n \ t "" andl $3, % ECx \ n \ t "" JZ 1f \ n \ t "" rep; movsb \ n \ t "" 1: ":" = C "(D0 ), "= D" (D1), "= S" (D2): "0" (N/4), "G" (N ), "1" (long) to), "2" (long) from): "Memory"); return to;}/** this looks uugly, but the compiler can optimize it totally, * as the Count is const Ant. */static _ always_inline void * _ constant_memcpy (void *

Linux-0.11 Kernel Memory Management get_free_page () function analysis

/**author:davidlin*date:2014-11-11pm*email: [email protected] or [email protected]*world:the City of SZ, in China*ver:000.000.001*history:editor time do1) Linpeng 2014-11-11 created this file!2)*/Linux-0.11 Memory Management module is more difficult to understand in the source code part, now the author's personal understanding publishedFirst hair Linux-0.11 kernel memory management get_free_page () function analysisHave time to write other functions or files:)/** Get Physical Address of first (a

Linux-0.11 Kernel Memory Management get_free_page () function analysis

/**author:davidlin*date:2014-11-11pm*email: [email protected] or [email protected]*world:the City of SZ, in China*ver:000.000.001*history:editor time do1) Linpeng 2014-11-11 created this file!2)*/Linux-0.11 Memory Management module is more difficult to understand in the source code part, now the author's personal understanding publishedFirst hair Linux-0.11 kernel memory management get_free_page () function analysisHave time to write other functions or files:)/** Get Physical Address of first (a

Analysis of a Trojan sample

It's free. Let's take a look.ODLoad directly as follows: 00414000> $ E8 00000000 call 0041400500414005 $ 5B pop ebx // locate the code00414006.81EB05024000 sub ebx, 00400205 // The code segment length, followed by a variable0041400C. 64: 8B3D 30000000 mov edi, dword ptr fs: [30] // FS [30]-> PEB, locate kernel32.dll00414013. 8B7F 0C mov edi, dword ptr [edi + C] /

Linux Platform x86 compilation (VI): Transfer of data

EAX register to the memory location specified by value. Use the memory location of the variable address. as follows, multi-memory specifies multiple values in one command:values:. int 10,20,30,40,50,60,70this creates a series of data values that are contiguous in memory (similar to an array of high-level languages). When referencing data in an array, you must use the system to determine which memory location you want to access. The memory location is determined by the following expression:base_

C + +: My understanding of the return statement

If you returned a struct object, what would the return statement do? Here is the test code #include using namespace Std;struct BIG{Char buf[100];int i;Long D;}B,B2;Big Bigfun (Big B){b.i=100;return b;}int main (){B2=bigfun (B);return 0;}To set a breakpoint at the beginning and end of main8:int Main ()19: {004012A0 Push EBP004012A1 mov Ebp,esp004012a3 Sub esp,118hPuzzled at first, and analyzed for a long timeThe original (118h-40h) remaining memory block holds two big variablesLow address put bi

Program loading and Execution (iii)--"x86 assembly language: From the actual mode to the protection mode" Reading notes 23

Loading and execution of programs (iii)--reading notes 23And then the last time the content said.load_relocate_programthe explanation of the process is not over yet, so create a stack segment descriptor and reposition symbol table.Allocating stack space and creating a stack segment descriptor462 ; Creating a program stack segment descriptor463 movecx,[edi+0x0c]; 4KB magnification464 movEbx0x000fffff465 SubEbx,ecxTo get

function calling convention

__stdcall __cdecl __fastcall vc6.0:int __stdcall/__cdecl/__fastcall Add (int x, int y){return x+y;}void Main (){Add (2,3);}1.__stdcall:1:int __stdcall Add (int x, int y)2: {00401020 Push EBP00401021 mov Ebp,esp00401023 Sub esp,40h00401026 push EBX00401027 push ESI00401028 Push EDI00401029 Lea edi,[ebp-40h]0040102C mov ecx,10h00401031 mov eax,0cccccccch00401036 Rep stos dword ptr [edi]3:return X

Security checks based on Checkstackvars

accounted for 10 bytes, to 4-byte alignment, so you need to complement two bytes, so two 0xcc, resulting in a 10 byte between the BF and array. The one next to the above array should be two 0xcc to complement the alignment. It was deliberately marked to the back. The purpose of this identification here is to illustrate the principle of checkstackvars this inspection. OK, clear the memory distribution, then checkstackvars at what time to perform the check, in C + + code can not be displayed to

Shellcode Getting Started (win)

esi, [edx + 0x3c]; Lea ESI, [edx + esi]; mov esi, [esi + 0x78]; Lea ESI, [edx + esi]; mov edi, [esi + 0x1c]; Lea EDI, [edx + edi]; MOV[EBP-0X04], EDI; mov

Coinitialize Analysis 1

Everyone knows that to use COM components in a program, you must first call coinitialize. This function is mainly used to initialize the com runtime environment. But does the function scope take the thread as the unit or the process as the unit? Maybe you have figured out the answer through the test program. That's right, it's a thread. Today, we will go into a bit more detail and confirm our ideas by analyzing the specific implementation of coinitialize. Let's take a look at coinitialize compil

Making cross-platform Shellcode

]; Lea ESI, [edx + esi]; mov esi, [esi + 0x78]; Lea ESI, [edx + esi]; mov edi, [esi + 0x1c]; Lea EDI, [edx + edi]; MOV[EBP-0X04], EDI; mov edi

Secure return method of Symantec Firewall kernel overflow exploit

that shellcode will be much larger. At the summit because Flashsky Daniel refused to disclose source code, so had to do their own, ample clothing. This period of time due to review make-up (last semester accidentally hung 4 #_#), so dragged for so long. In fact, the code was written very early, is not bothered to write this document. This morning finally made up my mind to spend the morning to finish this document, it is inevitable that there are some mistakes, I hope you point out. Shellcode

Krypton0.5 main program shelling

is filled, the cmp [Addr] And 0xff will be used to determine whether to check the encryption option for processing. There is Magic JUMP, but the Shell API address has been redirected, and the Patch code needs to be restored.>The code is not optimized, and there is no time to optimize it. There are too many records to analyze the main program.The Patch code is as follows:Code:00B60000 60 pushad00B60001 9C pushfd00B60002 BE 00104000 mov esi, 0x401000 Code segment Addr00B60007 BF 00404000 mov

Multi-precision PI computing Assembly implementation

returned.XOR eax, eaxMoV ESI, LPXMoV ECx, n@@:MoV edX, [ESI + eax * 4]Test edX, EDXJnz exitINC eaxCMP eax, ECxJl @ BMoV eax, 1RETExit:XOR eax, eaxRET_ Iszero endp;-----------------------------------------------------------_ Add proc N: DWORD, LPX: DWORD, lpy: DWORD; X + = yMoV EDI, LPXMoV ESI, lpyXOR ECx, ECx; carryMoV eax, nDec eax; n-1 subscript@@:MoV edX, [ESI + eax * 4]Add edX, ECxAdd edX, [EDI + eax *

"Lao Liu Talk about algorithm 003" command-line parameter processing and obtaining--ARGCL function implementation analysis

Lucifer.; #########################################################################. 386. Model flat, stdcall; -bit memory model option Casemap:none; Case sensitive include \masm32\include\kernel32.inc; ------------------------------------ ; Please read the final usage of the text; ------------------------------------ARGCL PROTO:D Word,:D Word. Code; ######################################################################## #ArgCl proc Argnum:dword, ItemBuffer:D Word local cmdline:D word local c

NT kernel process scheduling Analysis notes

+ 00000128] In this case, EAX = NextThread (ETHREAD structure) 0008: 80467E17 sub esp, 0C0008: 80467E1A MOV [ESP + 08], ESI0008: 80467E1E MOV [ESP + 04], EDI0008: 80467E22 MOV [ESP], EBP0008: 80467E25 mov esi, EAX0008: 80467E27 mov edi, [EBX + 00000124] Note: CurrentThread (ETHREAD structure)0008: 80467E2D mov dword ptr [EBX + 00000128], 000000000008: 80467E37 MOV [EBX + 00000124], ESI0008: 80467E3D mov ecx, EDI0008: 80467E3F CALL 8042F944 Note: KiRe

Total Pages: 15 1 .... 5 6 7 8 9 .... 15 Go to: Go

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.