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

ЖАНРЫ

Техника сетевых атак
Шрифт:

·.text:00401010 add esp, 4

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

·.text:00401013 push offset aR; "r"

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

·.text:00401018 push offset aBuff_psw; "buff.psw"

·.text:00401018; Занесение в стек смещения строки “buff.psw”

·.text:0040101D call _fopen

·.text:0040101D; Вызов fopen(“buff.psw”,”r”);

·.text:00401022 add esp, 8

·.text:00401022; Балансировка

стека

·.text:00401025 mov [ebp+var_14], eax

·.text:00401025; Переменная var_14 представляет собой указатель файла psw

·.text:00401028 cmp [ebp+var_14], 0

·.text:00401028; Файл открыт успешно?

·.text:0040102C jnz short loc_0_401033

·.text:0040102C ; Файл открыт успешно! Продолжение выполнения программы

·.text:0040102E jmp loc_0_4010CD

·.text:0040102E ; Файл открыт неуспешно, переход к выходу

·.text:00401033; ---------------------------------------------------------------------------

·.text:00401033

·.text:00401033 loc_0_401033:; CODE XREF: main+2Cj

·.text:00401033 mov eax, [ebp+var_14]

·.text:00401033 ; Занесение в регистр EAX указателя на файловый манипулятор psw

·.text:00401036 push eax

·.text:00401036 ; Заталкивание psw в стек

·.text:00401037 push 8

·.text:00401037 ; Заталкивание в стек константы 8

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

·.text:00401039 ; Занесение в регистр ECX смещения начала буфера var_54

·.text:0040103C push ecx

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

·.text:0040103D call _fgets

·.text:0040103D ;Вызов fgets( amp;_pass[0],8,psw)

·.text:0040103D ;Буфер var_54 представляет собой _pass

·.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)

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