Ранг: 37.7 (посетитель) Активность: 0.01↘0 Статус: Участник
|
Создано: 23 марта 2006 21:21 · Личное сообщение · #1
Листинг ИДЫ программки для FreeBSD
.text:08048690 ; --------------- S U B R O U T I N E ---------------------------------------
.text:08048690
.text:08048690 ; Attributes: bp-based frame
.text:08048690
.text:08048690 public main
.text:08048690 main proc near ; CODE XREF: _start+80p
.text:08048690
.text:08048690 var_10C = dword ptr -10Ch
.text:08048690 var_108 = byte ptr -108h
.text:08048690
.text:08048690 push ebp
.text:08048691 mov ebp, esp
.text:08048693 sub esp, 118h
.text:08048699 and esp, 0FFFFFFF0h
.text:0804869C mov eax, 0
.text:080486A1 add eax, 0Fh
.text:080486A4 add eax, 0Fh
.text:080486A7 shr eax, 4
.text:080486AA shl eax, 4
.text:080486AD sub esp, eax
.text:080486AF mov [ebp+var_10C], offset a1OwnkeyIo_dotk ; "$1$ownkey$Io.dotKpgb.Km26xNwzg/"
.text:080486B9 sub esp, 4
.text:080486BC push ds:__stdinp
.text:080486C2 push 0FFh
.text:080486C7 lea eax, [ebp+var_108]
.text:080486CD push eax
.text:080486CE call _fgets
.text:080486D3 add esp, 10h
.text:080486D6 lea eax, [ebp+var_108]
.text:080486DC sub esp, 0Ch
.text:080486DF push eax
.text:080486E0 call _strlen
.text:080486E5 add esp, 10h
.text:080486E8 mov byte ptr [ebp+eax+var_10C+3], 0
.text:080486F0 sub esp, 8
.text:080486F3 push [ebp+var_10C]
.text:080486F9 sub esp, 0Ch
.text:080486FC push offset a1Ownkey ; "$1$ownkey"
.text:08048701 lea eax, [ebp+var_108]
.text:08048707 push eax
.text:08048708 call _crypt
.text:0804870D add esp, 14h
.text:08048710 push eax
.text:08048711 call comparison
.text:08048716 add esp, 10h
.text:08048719 test eax, eax
.text:0804871B jz short loc_8048724
.text:0804871D call runshell
.text:08048722 jmp short loc_8048731
.text:08048724 ; ---------------------------------------------------------------------- -----
.text:08048724
.text:08048724 loc_8048724: ; CODE XREF: main+8Bj
.text:08048724 sub esp, 0Ch
.text:08048727 push 64h
.text:08048729 call _sleep
.text:0804872E add esp, 10h
.text:08048731
.text:08048731 loc_8048731: ; CODE XREF: main+92j
.text:08048731 mov eax, 0
.text:08048736 leave
.text:08048737 retn
.text:08048737 main endp
при запуске программы на FreeBSD она ждёт ввода правильной команды, после чего выводит текстовый файл (процедура runshell), я не могу понять как вычислить эту команду... что за $1? $ownkey? $Io.dotKpgb.Km26xNwzg/ ? И что за функция _crypt?
Может вы чё подскажете?
З.Ы. вот функция comparison
.text:08048738 public comparison
.text:08048738 comparison proc near ; CODE XREF: main+81p
.text:08048738
.text:08048738 var_C = dword ptr -0Ch
.text:08048738 var_8 = dword ptr -8
.text:08048738 var_4 = dword ptr -4
.text:08048738 arg_0 = dword ptr 8
.text:08048738 arg_4 = dword ptr 0Ch
.text:08048738
.text:08048738 push ebp
.text:08048739 mov ebp, esp
.text:0804873B push ebx
.text:0804873C sub esp, 14h
.text:0804873F cmp [ebp+arg_0], 0
.text:08048743 jz short loc_804874B
.text:08048745 cmp [ebp+arg_4], 0
.text:08048749 jnz short loc_8048754
.text:0804874B
.text:0804874B loc_804874B: ; CODE XREF: comparison+Bj
.text:0804874B mov [ebp+var_C], 0
.text:08048752 jmp short loc_80487C6
.text:08048754 ; ---------------------------------------------------------------------- -----
.text:08048754
.text:08048754 loc_8048754: ; CODE XREF: comparison+11j
.text:08048754 sub esp, 0Ch
.text:08048757 push [ebp+arg_0]
.text:0804875A call _strlen
.text:0804875F add esp, 10h
.text:08048762 mov ebx, eax
.text:08048764 sub esp, 0Ch
.text:08048767 push [ebp+arg_4]
.text:0804876A call _strlen
.text:0804876F add esp, 10h
.text:08048772 cmp ebx, eax
.text:08048774 jz short loc_804877F
.text:08048776 mov [ebp+var_C], 0
.text:0804877D jmp short loc_80487C6
.text:0804877F ; ---------------------------------------------------------------------- -----
.text:0804877F
.text:0804877F loc_804877F: ; CODE XREF: comparison+3Cj
.text:0804877F mov [ebp+var_8], 0
.text:08048786
.text:08048786 loc_8048786: ; CODE XREF: comparison+85j
.text:08048786 sub esp, 0Ch
.text:08048789 push [ebp+arg_0]
.text:0804878C call _strlen
.text:08048791 add esp, 10h
.text:08048794 cmp [ebp+var_8], eax
.text:08048797 jnb short loc_80487BF
.text:08048799 mov eax, [ebp+var_8]
.text:0804879C mov ecx, [ebp+arg_0]
.text:0804879F add ecx, eax
.text:080487A1 mov eax, [ebp+var_8]
.text:080487A4 mov edx, [ebp+arg_4]
.text:080487A7 add edx, eax
.text:080487A9 mov al, [ecx]
.text:080487AB cmp al, [edx]
.text:080487AD jz short loc_80487B8
.text:080487AF mov [ebp+var_C], 0
.text:080487B6 jmp short loc_80487C6
.text:080487B8 ; ---------------------------------------------------------------------- -----
.text:080487B8
.text:080487B8 loc_80487B8: ; CODE XREF: comparison+75j
.text:080487B8 lea eax, [ebp+var_8]
.text:080487BB inc dword ptr [eax]
.text:080487BD jmp short loc_8048786
.text:080487BF ; ---------------------------------------------------------------------- -----
.text:080487BF
.text:080487BF loc_80487BF: ; CODE XREF: comparison+5Fj
.text:080487BF mov [ebp+var_C], 1
.text:080487C6
.text:080487C6 loc_80487C6: ; CODE XREF: comparison+1Aj
.text:080487C6 ; comparison+45j ...
.text:080487C6 mov eax, [ebp+var_C]
.text:080487C9 mov ebx, [ebp+var_4]
.text:080487CC leave
.text:080487CD retn
.text:080487CD comparison endp
| Сообщение посчитали полезным: |