Чтение онлайн

ЖАНРЫ

ТЕХНИКА СЕТЕВЫХ АТАК

Касперски Крис

Шрифт:

·.text:00401042 add esp, 0Ch

·.text:00401042 ;Балансировка стека

·.text:00401045 push offset aLogin; "Login:"

·.text:00401045 ; Заталкивание в стек смещения строки “Login:”

·.text:0040104A call _printf

·.text:0040104A ;Вызов printf(“Login:”)

·.text:0040104F add esp, 4

·.text:0040104F ; Балансировка стека

·.text:00401052 push offset off_0_407090

·.text:00401052 ; Заталкивание в стек указателя на манипулятор stdin

·.text:00401057 push 0Ch

·.text:00401057 ; Заталкивание в стек константы 0xC

·.text:00401059 lea edx, [ebp+var_10]

·.text:00401059 ; Занесение в регистр EDX указателя на буфер var_10 (user)

·.text:0040105C push edx

·.text:0040105C ; Заталкивание его в стек

·.text:0040105D call _fgets

·.text:0040105D ; Вызов ( amp;user[0],0xC,stdin)

·.text:00401062 add esp, 0Ch

·.text:00401062 ; Балансировка стека

·.text:00401065 push offset aPassw; "Passw:"

·.text:00401065 ; Заталкивание в стек указателя на строку Passw

·.text:0040106A call _printf

·.text:0040106A ; Вызов printf(“Passw:”)

·.text:0040106F add esp, 4

·.text:0040106F ; Балансировка стека

·.text:00401072 push offset off_0_407090

·.text:00401072 ;Заталкивание в стек указателя на манипулятор stdin

·.text:00401077 push 0Ch

·.text:00401077 ; Заталкивание в стек константы 0xC

·.text:00401079 lea eax, [ebp+var_44]

·.text:00401079 ; Занесение в регистр EAX указателя на буфер var_44 (pass)

·.text:0040107C push eax

·.text:0040107C ; Заталкивание его в стек

·.text:0040107D call _fgets

·.text:0040107D ; fgest( amp;pass[0],0xC,stdin)

·.text:00401082 add esp, 0Ch

·.text:00401082 ; Балансировка стека

·.text:00401085 lea ecx, [ebp+var_54]

·.text:00401085 ; Занесение в регистр ECX указателя на буфер var_54 (_pass)

·.text:00401088 push ecx

·.text:00401088 ; Заталкивание его в стек

·.text:00401089 lea edx, [ebp+var_44]

·.text:00401089 ; Занесение в регистр EDX указателя на буфер var_54 (pass)

·.text:0040108C push edx

·.text:0040108C ; Заталкивание его в стек

·.text:0040108D call _strcmp

·.text:0040108D ; Вызов strcmp( amp;_pass[0], amp;pass[0])

·.text:00401092 add esp, 8

·.text:00401092 ; Балансировка стека

·.text:00401095 test eax, eax

·.text:00401095 ; Введен правильный пароль?

·.text:00401097 jz short loc_0_4010B0

·.text:00401097; Переход, если введен правильный пароль

·.text:00401099 lea eax, [ebp+var_44]

·.text:00401099 ; Занесение в регистр EAX указателя на буфер var_44 (pass)

·.text:0040109C push eax

·.text:0040109C ; Заталкивание его в стек

·.text:0040109D push offset aInvalidPasswor; "Invalid password: %s"

·.text:0040109D ; Заталкивание в стек указателя на строку “Invalid password: %s”

·.text:004010A2 lea ecx, [ebp+var_34]

·.text:004010A2 ; Занесение в регистр ECX указателя на буфер var_34 (buff)

·.text:004010A5 push ecx

·.text:004010A5 ; Заталкивание его в стек

·.text:004010A6 call _sprintf

·.text:004010A6 ; Вызов sprintf( amp;buff[0],”Invalid password: %s”, amp;pass[0])

·.text:004010AB add esp, 0Ch

·.text:004010AB; Балансировка стека

·.text:004010AE jmp short loc_0_4010C1

·.text:004010B0; ---------------------------------------------------------------------------

·.text:004010B0

·.text:004010B0 loc_0_4010B0:; CODE XREF: main+97j

·.text:004010B0 push offset aPasswordOk; "Password ok\n"

·.text:004010B0; Заталкивание в стек указателя на строку “Password ok”

·.text:004010B5 lea edx, [ebp+var_34]

·.text:004010B5 ; Занесение в регистр EDX указателя на начало буфера var_34 (buff)

·.text:004010B8 push edx

·.text:004010B8 ; Заталкивание его в стек

·.text:004010B9 call _sprintf

·.text:004010B9 ; Вызов spritnf( amp;buff[0],”Password ok\n”);

·.text:004010BE add esp, 8

·.text:004010BE ; Балансировка стека

·.text:004010C1

·.text:004010C1 loc_0_4010C1:; CODE XREF: main+AEj

·.text:004010C1 lea eax, [ebp+var_34]

·.text:004010C1 ; Занесение в регистр EAX указателя на начало буфера var_34 (buff)

·.text:004010C4 push eax

·.text:004010C4 ; Заталкивание его в стек

·.text:004010C4 ; Состояние стека (жирным шрифтом выделен аргумент функции printf)

·.text:004010C4; – 0x04 var_34 (buff)

·.text:004010C4; 0x00 var_54 (_pass)

·.text:004010C4; -0x10 var_44 (pass)

·.text:004010C4; -0x20 var_34 (buff)

·.text:004010C4; -0x40 var_14 (psw)

·.text:004010C4; -0x44 var_10 (user)

·.text:004010C5 call _printf

·.text:004010C5 ; Вызов printf( amp;buff[0])

Поделиться с друзьями: