Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;
- ; +-------------------------------------------------------------------------+
- ; | This file has been generated by The Interactive Disassembler (IDA) |
- ; | Copyright (c) 2009 by Hex-Rays, <support@hex-rays.com> |
- ; | License info: 7E-861E-493B-34 |
- ; | Licensed User |
- ; +-------------------------------------------------------------------------+
- ;
- ; Input MD5 : 095EAB75D392926908EE97A753E3F9EE
- ; File Name : Z:\home\kmkz\Desktop\CTF\security_by_default\n00b-login
- ; Format : ELF (Executable)
- ; Imagebase : 8048000
- ; Interpreter '/lib/ld-linux.so.2'
- ; Needed Library 'libc.so.6'
- ;
- ; Source File : 'crtstuff.c'
- ; Source File : 'n00b-login.c'
- .686p
- .mmx
- .model flat
- .intel_syntax noprefix
- ; ===========================================================================
- ; Segment type: Pure code
- ; Segment permissions: Read/Execute
- _init segment dword public 'CODE' use32
- assume cs:_init
- ;org 80483C0h
- assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
- ; =============== S U B R O U T I N E =======================================
- ; Attributes: bp-based frame
- public _init_proc
- _init_proc proc near ; CODE XREF: __libc_csu_init+14p
- push ebp ; _init
- mov ebp, esp
- push ebx
- sub esp, 4
- call $+5
- pop ebx
- add ebx, 1C28h
- mov edx, ds:(__gmon_start___ptr - 8049FF4h)[ebx]
- test edx, edx
- jz short loc_80483E2
- call ___gmon_start__
- loc_80483E2: ; CODE XREF: _init_proc+1Bj
- call frame_dummy
- call __do_global_ctors_aux
- pop eax
- pop ebx
- leave
- retn
- _init_proc endp
- _init ends
- ; ===========================================================================
- ; Segment type: Pure code
- ; Segment permissions: Read/Execute
- _plt segment dword public 'CODE' use32
- assume cs:_plt
- ;org 80483F0h
- assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
- dd 4 dup(?)
- ; [00000006 BYTES: COLLAPSED FUNCTION ___gmon_start__. PRESS KEYPAD "+" TO EXPAND]
- dw ?
- dd 2 dup(?)
- ; [00000006 BYTES: COLLAPSED FUNCTION _gets. PRESS KEYPAD "+" TO EXPAND]
- dw ?
- dd 2 dup(?)
- ; [00000006 BYTES: COLLAPSED FUNCTION _toupper. PRESS KEYPAD "+" TO EXPAND]
- dw ?
- dd 2 dup(?)
- ; [00000006 BYTES: COLLAPSED FUNCTION ___libc_start_main. PRESS KEYPAD "+" TO EXPAND]
- dw ?
- dd 2 dup(?)
- ; [00000006 BYTES: COLLAPSED FUNCTION _fflush. PRESS KEYPAD "+" TO EXPAND]
- dw ?
- dd 2 dup(?)
- ; [00000006 BYTES: COLLAPSED FUNCTION _strlen. PRESS KEYPAD "+" TO EXPAND]
- dw ?
- dd 2 dup(?)
- ; [00000006 BYTES: COLLAPSED FUNCTION _printf. PRESS KEYPAD "+" TO EXPAND]
- dw ?
- dd 2 dup(?)
- ; [00000006 BYTES: COLLAPSED FUNCTION _malloc. PRESS KEYPAD "+" TO EXPAND]
- dw ?
- dd 2 dup(?)
- ; [00000006 BYTES: COLLAPSED FUNCTION _strcmp. PRESS KEYPAD "+" TO EXPAND]
- dw ?
- dd 2 dup(?)
- _plt ends
- ; ===========================================================================
- ; Segment type: Pure code
- ; Segment permissions: Read/Execute
- _text segment para public 'CODE' use32
- assume cs:_text
- ;org 8048490h
- assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
- ; =============== S U B R O U T I N E =======================================
- ; Attributes: noreturn
- public _start
- _start proc near
- xor ebp, ebp
- pop esi
- mov ecx, esp
- and esp, 0FFFFFFF0h
- push eax
- push esp
- push edx
- push offset __libc_csu_fini
- push offset __libc_csu_init
- push ecx
- push esi
- push offset main
- call ___libc_start_main
- hlt
- _start endp
- ; ---------------------------------------------------------------------------
- align 10h
- ; =============== S U B R O U T I N E =======================================
- ; Attributes: bp-based frame
- __do_global_dtors_aux proc near ; CODE XREF: _term_proc+13p
- push ebp
- mov ebp, esp
- push ebx
- sub esp, 4
- cmp ds:completed_7021, 0
- jnz short loc_804850F
- mov eax, ds:dtor_idx_7023
- mov ebx, offset __DTOR_END__
- sub ebx, offset __DTOR_LIST__
- sar ebx, 2
- sub ebx, 1
- cmp eax, ebx
- jnb short loc_8048508
- lea esi, [esi+0]
- loc_80484F0: ; CODE XREF: __do_global_dtors_aux+46j
- add eax, 1
- mov ds:dtor_idx_7023, eax
- call ds:__DTOR_LIST__[eax*4]
- mov eax, ds:dtor_idx_7023
- cmp eax, ebx
- jb short loc_80484F0
- loc_8048508: ; CODE XREF: __do_global_dtors_aux+28j
- mov ds:completed_7021, 1
- loc_804850F: ; CODE XREF: __do_global_dtors_aux+Ej
- add esp, 4
- pop ebx
- pop ebp
- retn
- __do_global_dtors_aux endp
- ; ---------------------------------------------------------------------------
- align 10h
- ; =============== S U B R O U T I N E =======================================
- ; Attributes: bp-based frame
- frame_dummy proc near ; CODE XREF: _init_proc:loc_80483E2p
- push ebp
- mov ebp, esp
- sub esp, 18h
- mov eax, ds:__JCR_LIST__
- test eax, eax
- jz short locret_8048541
- mov eax, 0
- test eax, eax
- jz short locret_8048541
- mov dword ptr [esp], offset __JCR_LIST__
- call eax
- locret_8048541: ; CODE XREF: frame_dummy+Dj
- ; frame_dummy+16j
- leave
- retn
- frame_dummy endp
- ; ---------------------------------------------------------------------------
- align 4
- ; =============== S U B R O U T I N E =======================================
- ; Attributes: bp-based frame
- public tor
- tor proc near ; CODE XREF: main+264p main+281p ...
- var_10 = dword ptr -10h
- var_C = dword ptr -0Ch
- arg_0 = dword ptr 8
- push ebp
- mov ebp, esp
- sub esp, 28h
- mov eax, [ebp+arg_0]
- mov [ebp+var_10], eax
- jmp short loc_80485A4
- ; ---------------------------------------------------------------------------
- loc_8048552: ; CODE XREF: tor+68j
- mov eax, [ebp+var_10]
- movzx eax, byte ptr [eax]
- movsx eax, al
- mov [esp], eax ; c
- call _toupper
- mov [ebp+var_C], eax
- cmp [ebp+var_C], 40h
- jle short loc_8048584
- cmp [ebp+var_C], 4Dh
- jg short loc_8048584
- mov eax, [ebp+var_10]
- movzx eax, byte ptr [eax]
- add eax, 0Dh
- mov edx, eax
- mov eax, [ebp+var_10]
- mov [eax], dl
- jmp short loc_80485A0
- ; ---------------------------------------------------------------------------
- loc_8048584: ; CODE XREF: tor+26j tor+2Cj
- cmp [ebp+var_C], 4Dh
- jle short loc_80485A0
- cmp [ebp+var_C], 5Ah
- jg short loc_80485A0
- mov eax, [ebp+var_10]
- movzx eax, byte ptr [eax]
- sub eax, 0Dh
- mov edx, eax
- mov eax, [ebp+var_10]
- mov [eax], dl
- loc_80485A0: ; CODE XREF: tor+3Ej tor+44j ...
- add [ebp+var_10], 1
- loc_80485A4: ; CODE XREF: tor+Cj
- mov eax, [ebp+var_10]
- movzx eax, byte ptr [eax]
- test al, al
- jnz short loc_8048552
- mov eax, [ebp+arg_0]
- leave
- retn
- tor endp
- ; =============== S U B R O U T I N E =======================================
- ; Attributes: bp-based frame
- ; int __cdecl untrash(char *s)
- public untrash
- untrash proc near ; CODE XREF: main+258p main+365p ...
- var_18 = dword ptr -18h
- var_14 = dword ptr -14h
- var_10 = dword ptr -10h
- var_C = dword ptr -0Ch
- s = dword ptr 8
- push ebp
- mov ebp, esp
- sub esp, 28h
- mov [ebp+var_10], 0
- mov eax, [ebp+s]
- mov [esp], eax ; s
- call _strlen
- mov [ebp+var_C], eax
- mov [ebp+var_14], 0
- jmp short loc_8048644
- ; ---------------------------------------------------------------------------
- loc_80485D7: ; CODE XREF: untrash+97j
- mov eax, [ebp+var_14]
- add eax, [ebp+s]
- movzx eax, byte ptr [eax]
- cmp al, 40h
- jle short loc_80485F1
- mov eax, [ebp+var_14]
- add eax, [ebp+s]
- movzx eax, byte ptr [eax]
- cmp al, 5Ah
- jle short loc_8048625
- loc_80485F1: ; CODE XREF: untrash+2Fj
- mov eax, [ebp+var_14]
- add eax, [ebp+s]
- movzx eax, byte ptr [eax]
- cmp al, 60h
- jle short loc_804860B
- mov eax, [ebp+var_14]
- add eax, [ebp+s]
- movzx eax, byte ptr [eax]
- cmp al, 7Ah
- jle short loc_8048625
- loc_804860B: ; CODE XREF: untrash+49j
- mov eax, [ebp+var_14]
- add eax, [ebp+s]
- movzx eax, byte ptr [eax]
- cmp al, 20h
- jz short loc_8048625
- mov eax, [ebp+var_14]
- add eax, [ebp+s]
- movzx eax, byte ptr [eax]
- cmp al, 3Ah
- jnz short loc_8048640
- loc_8048625: ; CODE XREF: untrash+3Cj untrash+56j ...
- mov eax, [ebp+var_10]
- add eax, [ebp+s]
- mov [ebp+var_18], eax
- mov eax, [ebp+var_14]
- add eax, [ebp+s]
- movzx edx, byte ptr [eax]
- mov eax, [ebp+var_18]
- mov [eax], dl
- add [ebp+var_10], 1
- loc_8048640: ; CODE XREF: untrash+70j
- add [ebp+var_14], 1
- loc_8048644: ; CODE XREF: untrash+22j
- mov eax, [ebp+var_14]
- cmp eax, [ebp+var_C]
- jl short loc_80485D7
- mov eax, [ebp+var_10]
- add eax, [ebp+s]
- mov [ebp+var_18], eax
- mov eax, [ebp+var_18]
- mov byte ptr [eax], 0
- leave
- retn
- untrash endp
- ; =============== S U B R O U T I N E =======================================
- ; Attributes: bp-based frame
- public main
- main proc near ; DATA XREF: _start+17o
- push ebp
- mov ebp, esp
- and esp, 0FFFFFFF0h
- push edi
- push esi
- push ebx
- sub esp, 2074h
- mov dword ptr [esp], 7D0h ; size
- call _malloc
- mov [esp+2068h], eax
- mov dword ptr [esp], 4 ; size
- call _malloc
- mov [esp+206Ch], eax
- mov dword ptr [esp+112h], 20676241h
- mov dword ptr [esp+116h], 72206266h
- mov dword ptr [esp+11Ah], 2C6C666Eh
- mov dword ptr [esp+11Eh], 71687120h
- mov word ptr [esp+122h], 72h
- mov dword ptr [esp+0F9h], 617A6E51h
- mov dword ptr [esp+0FDh], 21677620h
- mov dword ptr [esp+101h], 464C4620h
- mov dword ptr [esp+105h], 205A5247h
- mov dword ptr [esp+109h], 59564E53h
- mov dword ptr [esp+10Dh], 3A524548h
- mov byte ptr [esp+111h], 0
- lea edx, [esp+0B0h]
- mov eax, offset aVGfrRZf_GUNg_j ; "v\nGFr^r\n\n\nZf.,G,u/\t\t-nG\n-_J.\r..r\r[#]N\r\r"...
- mov ecx, 12h
- mov edi, edx
- mov esi, eax
- rep movsd
- mov eax, esi
- mov edx, edi
- movzx ecx, byte ptr [eax]
- mov [edx], cl
- add edx, 1
- add eax, 1
- mov dword ptr [esp+9Bh], 2068624Ch
- mov dword ptr [esp+9Fh], 2072656Eh
- mov dword ptr [esp+0A3h], 20676261h
- mov dword ptr [esp+0A7h], 7079726Ah
- mov dword ptr [esp+0ABh], 2E727A62h
- mov byte ptr [esp+0AFh], 0
- mov dword ptr [esp+79h], 70766352h
- mov dword ptr [esp+7Dh], 72615E5Eh
- mov dword ptr [esp+81h], 2D2D5F2Dh
- mov dword ptr [esp+85h], 2A66665Fh
- mov dword ptr [esp+89h], 7B724620h
- mov dword ptr [esp+8Dh], 305F302Dh
- mov dword ptr [esp+91h], 68707D2Dh
- mov dword ptr [esp+95h], 6776655Fh
- mov word ptr [esp+99h], 6Ch
- mov dword ptr [esp+6Bh], 72666156h
- mov dword ptr [esp+6Fh], 61206765h
- mov dword ptr [esp+73h], 3A727A6Eh
- mov word ptr [esp+77h], 20h
- mov dword ptr [esp+58h], 72666156h
- mov dword ptr [esp+5Ch], 79206765h
- mov dword ptr [esp+60h], 2067666Eh
- mov dword ptr [esp+64h], 727A6E61h
- mov word ptr [esp+68h], 203Ah
- mov byte ptr [esp+6Ah], 0
- mov dword ptr [esp+4Bh], 72666156h
- mov dword ptr [esp+4Fh], 66206765h
- mov dword ptr [esp+53h], 203A6B72h
- mov byte ptr [esp+57h], 0
- mov dword ptr [esp+39h], 72666156h
- mov dword ptr [esp+3Dh], 6F207165h
- mov dword ptr [esp+41h], 75676576h
- mov dword ptr [esp+45h], 3A6C6E71h
- mov word ptr [esp+49h], 20h
- mov dword ptr [esp+1Bh], 0A0A6156h
- mov dword ptr [esp+1Fh], 2D72660Ah
- mov dword ptr [esp+23h], 2D2D2D2Dh
- mov dword ptr [esp+27h], 2A2A6765h
- mov dword ptr [esp+2Bh], 5E202A2Ah
- mov dword ptr [esp+2Fh], 66666E63h
- mov dword ptr [esp+33h], 3A716A0Ah
- mov word ptr [esp+37h], 20h
- mov eax, [esp+206Ch]
- mov dword ptr [eax], 0
- lea eax, [esp+79h]
- mov [esp], eax ; s
- call untrash
- lea eax, [esp+79h]
- mov [esp], eax
- call tor
- mov edx, offset format ; "\n--- Welcome to '%s' systems.\n"
- mov [esp+4], eax
- mov [esp], edx ; format
- call _printf
- lea eax, [esp+6Bh]
- mov [esp], eax
- call tor
- mov edx, offset aS ; "%s"
- mov [esp+4], eax
- mov [esp], edx ; format
- call _printf
- mov eax, ds:stdin@@GLIBC_2_0
- mov [esp], eax ; stream
- call _fflush
- lea eax, [esp+1894h]
- mov [esp], eax ; s
- call _gets
- lea eax, [esp+58h]
- mov [esp], eax
- call tor
- mov edx, offset aS ; "%s"
- mov [esp+4], eax
- mov [esp], edx ; format
- call _printf
- mov eax, ds:stdin@@GLIBC_2_0
- mov [esp], eax ; stream
- call _fflush
- lea eax, [esp+10C4h]
- mov [esp], eax ; s
- call _gets
- lea eax, [esp+4Bh]
- mov [esp], eax
- call tor
- mov edx, offset aS ; "%s"
- mov [esp+4], eax
- mov [esp], edx ; format
- call _printf
- mov eax, ds:stdin@@GLIBC_2_0
- mov [esp], eax ; stream
- call _fflush
- mov eax, [esp+2068h]
- mov [esp], eax ; s
- call _gets
- lea eax, [esp+39h]
- mov [esp], eax
- call tor
- mov edx, offset aS ; "%s"
- mov [esp+4], eax
- mov [esp], edx ; format
- call _printf
- mov eax, ds:stdin@@GLIBC_2_0
- mov [esp], eax ; stream
- call _fflush
- lea eax, [esp+8F4h]
- mov [esp], eax ; s
- call _gets
- lea eax, [esp+1Bh]
- mov [esp], eax ; s
- call untrash
- lea eax, [esp+1Bh]
- mov [esp], eax
- call tor
- mov edx, offset aS ; "%s"
- mov [esp+4], eax
- mov [esp], edx ; format
- call _printf
- mov eax, ds:stdin@@GLIBC_2_0
- mov [esp], eax ; stream
- call _fflush
- lea eax, [esp+124h]
- mov [esp], eax ; s
- call _gets
- mov dword ptr [esp+2064h], 0FFFFFFFBh
- jmp short loc_8048A47
- ; ---------------------------------------------------------------------------
- loc_8048A0D: ; CODE XREF: main+3F2j
- mov eax, [esp+206Ch]
- mov eax, [eax]
- cmp eax, [esp+2064h]
- jnz short loc_8048A3F
- lea eax, [esp+9Bh]
- mov [esp], eax
- call tor
- mov edx, offset aAlertS ; "ALERT: %s\n"
- mov [esp+4], eax
- mov [esp], edx ; format
- call _printf
- loc_8048A3F: ; CODE XREF: main+3C0j
- add dword ptr [esp+2064h], 1
- loc_8048A47: ; CODE XREF: main+3AEj
- cmp dword ptr [esp+2064h], 9
- jle short loc_8048A0D
- mov eax, [esp+206Ch]
- mov eax, [eax]
- test eax, eax
- jz short loc_8048AA9
- lea eax, [esp+0B0h]
- mov [esp], eax ; s
- call untrash
- lea eax, [esp+0B0h]
- mov [esp], eax
- call tor
- mov ebx, eax
- lea eax, [esp+0F9h]
- mov [esp], eax
- call tor
- mov edx, offset aSS ; "%s %s\n"
- mov [esp+8], ebx
- mov [esp+4], eax
- mov [esp], edx ; format
- call _printf
- mov eax, 0
- jmp short loc_8048AF0
- ; ---------------------------------------------------------------------------
- loc_8048AA9: ; CODE XREF: main+3FFj
- mov dword ptr [esp+4], offset s2 ; "admin_r00t"
- lea eax, [esp+124h]
- mov [esp], eax ; s1
- call _strcmp
- test eax, eax
- jnz short loc_8048AEB
- lea eax, [esp+112h]
- mov [esp], eax
- call tor
- mov edx, offset aS_0 ; "%s :)\n"
- mov [esp+4], eax
- mov [esp], edx ; format
- call _printf
- mov eax, 45h
- jmp short loc_8048AF0
- ; ---------------------------------------------------------------------------
- loc_8048AEB: ; CODE XREF: main+465j
- mov eax, 45h
- loc_8048AF0: ; CODE XREF: main+44Aj main+48Cj
- add esp, 2074h
- pop ebx
- pop esi
- pop edi
- mov esp, ebp
- pop ebp
- retn
- main endp
- ; ---------------------------------------------------------------------------
- align 10h
- ; =============== S U B R O U T I N E =======================================
- ; Attributes: bp-based frame
- public __libc_csu_fini
- __libc_csu_fini proc near ; DATA XREF: _start+Bo
- push ebp
- mov ebp, esp
- pop ebp
- retn
- __libc_csu_fini endp
- ; ---------------------------------------------------------------------------
- align 10h
- ; =============== S U B R O U T I N E =======================================
- ; Attributes: bp-based frame
- public __libc_csu_init
- __libc_csu_init proc near ; DATA XREF: _start+10o
- arg_0 = dword ptr 8
- arg_4 = dword ptr 0Ch
- arg_8 = dword ptr 10h
- push ebp
- mov ebp, esp
- push edi
- push esi
- push ebx
- call __i686_get_pc_thunk_bx
- add ebx, 14D9h
- sub esp, 1Ch
- call _init_proc
- lea edi, (__CTOR_LIST__ - 8049FF4h)[ebx]
- lea eax, (__CTOR_LIST__ - 8049FF4h)[ebx]
- sub edi, eax
- sar edi, 2
- test edi, edi
- jz short loc_8048B62
- xor esi, esi
- loc_8048B40: ; CODE XREF: __libc_csu_init+50j
- mov eax, [ebp+arg_8]
- mov [esp+8], eax
- mov eax, [ebp+arg_4]
- mov [esp+4], eax
- mov eax, [ebp+arg_0]
- mov [esp], eax
- call ds:(__CTOR_LIST__ - 8049FF4h)[ebx+esi*4]
- add esi, 1
- cmp esi, edi
- jb short loc_8048B40
- loc_8048B62: ; CODE XREF: __libc_csu_init+2Cj
- add esp, 1Ch
- pop ebx
- pop esi
- pop edi
- pop ebp
- retn
- __libc_csu_init endp
- ; =============== S U B R O U T I N E =======================================
- public __i686_get_pc_thunk_bx
- __i686_get_pc_thunk_bx proc near ; CODE XREF: __libc_csu_init+6p
- mov ebx, [esp+0]
- retn
- __i686_get_pc_thunk_bx endp
- ; ---------------------------------------------------------------------------
- align 10h
- ; =============== S U B R O U T I N E =======================================
- ; Attributes: bp-based frame
- __do_global_ctors_aux proc near ; CODE XREF: _init_proc+27p
- push ebp
- mov ebp, esp
- push ebx
- sub esp, 4
- mov eax, ds:__CTOR_LIST__
- cmp eax, 0FFFFFFFFh
- jz short loc_8048B94
- mov ebx, offset __CTOR_LIST__
- db 66h
- nop
- loc_8048B88: ; CODE XREF: __do_global_ctors_aux+22j
- sub ebx, 4
- call eax ; __CTOR_LIST__
- mov eax, [ebx]
- cmp eax, 0FFFFFFFFh
- jnz short loc_8048B88
- loc_8048B94: ; CODE XREF: __do_global_ctors_aux+Fj
- add esp, 4
- pop ebx
- pop ebp
- retn
- __do_global_ctors_aux endp
- ; ---------------------------------------------------------------------------
- align 4
- _text ends
- ; ===========================================================================
- ; Segment type: Pure code
- ; Segment permissions: Read/Execute
- _fini segment dword public 'CODE' use32
- assume cs:_fini
- ;org 8048B9Ch
- assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
- ; =============== S U B R O U T I N E =======================================
- ; Attributes: bp-based frame
- public _term_proc
- _term_proc proc near
- push ebp ; _fini
- mov ebp, esp
- push ebx
- sub esp, 4
- call $+5
- pop ebx
- add ebx, 144Ch
- call __do_global_dtors_aux
- pop ecx
- pop ebx
- leave
- retn
- _term_proc endp
- _fini ends
- ; ===========================================================================
- ; Segment type: Pure data
- ; Segment permissions: Read
- _rodata segment dword public 'CONST' use32
- assume cs:_rodata
- ;org 8048BB8h
- public _fp_hw
- _fp_hw dd 3
- public _IO_stdin_used
- _IO_stdin_used dd 20001h
- ; char format[]
- format db 0Ah ; DATA XREF: main+269o
- db '--- Welcome to ',27h,'%s',27h,' systems.',0Ah,0
- ; char aS[]
- aS db '%s',0 ; DATA XREF: main+286o main+2BFo ...
- ; char aAlertS[]
- aAlertS db 'ALERT: %s',0Ah,0 ; DATA XREF: main+3D1o
- ; char aSS[]
- aSS db '%s %s',0Ah,0 ; DATA XREF: main+430o
- ; char s2[]
- s2 db 'admin_r00t',0 ; DATA XREF: main:loc_8048AA9o
- ; char aS_0[]
- aS_0 db '%s :)',0Ah,0 ; DATA XREF: main+476o
- align 4
- aVGfrRZf_GUNg_j db 'v',0Ah ; DATA XREF: main+BCo
- db 'GFr^r',0Ah
- db 0Ah
- db 0Ah
- db 'Zf.,G,u/',9,9,'-nG',0Ah
- db '-_J.',0Dh,'..r',0Dh,'[#]N',0Dh,0Dh,7,'er',0Ah
- db ';;Abg',0Ah
- db 0Dh,'Rc}vp@a{rffN?g#N...yY',0
- _rodata ends
- ; ===========================================================================
- ; Segment type: Pure data
- ; Segment permissions: Read
- _eh_frame segment dword public 'CONST' use32
- assume cs:_eh_frame
- ;org 8048C54h
- __FRAME_END__ db 0
- db 0
- db 0
- db 0
- _eh_frame ends
- ; ===========================================================================
- ; Segment type: Pure data
- ; Segment permissions: Read/Write
- _ctors segment dword public 'DATA' use32
- assume cs:_ctors
- ;org 8049F0Ch
- __CTOR_LIST__ dd 0FFFFFFFFh ; DATA XREF: __libc_csu_init+19o
- ; __libc_csu_init+1Fo ...
- ; Alternative name is '__init_array_end'
- __CTOR_END__ db 0
- db 0
- db 0
- db 0
- _ctors ends
- ; ===========================================================================
- ; Segment type: Pure data
- ; Segment permissions: Read/Write
- _dtors segment dword public 'DATA' use32
- assume cs:_dtors
- ;org 8049F14h
- __DTOR_LIST__ dd 0FFFFFFFFh ; DATA XREF: __do_global_dtors_aux+1Ao
- ; __do_global_dtors_aux+38r
- public __DTOR_END__
- __DTOR_END__ db 0 ; DATA XREF: __do_global_dtors_aux+15o
- db 0
- db 0
- db 0
- _dtors ends
- ; ===========================================================================
- ; Segment type: Pure data
- ; Segment permissions: Read/Write
- _jcr segment dword public 'DATA' use32
- assume cs:_jcr
- ;org 8049F1Ch
- __JCR_LIST__ dd 0 ; DATA XREF: frame_dummy+6r
- ; frame_dummy+18o
- _jcr ends
- ; ===========================================================================
- ; Segment type: Pure data
- ; Segment permissions: Read/Write
- _got segment dword public 'DATA' use32
- assume cs:_got
- ;org 8049FF0h
- __gmon_start___ptr dd offset __gmon_start__ ; DATA XREF: _init_proc+13r
- _got ends
- ; ===========================================================================
- ; Segment type: Pure data
- ; Segment permissions: Read/Write
- _got_plt segment dword public 'DATA' use32
- assume cs:_got_plt
- ;org 8049FF4h
- _GLOBAL_OFFSET_TABLE_ db ? ;
- db ? ;
- db ? ;
- db ? ;
- db ? ;
- db ? ;
- db ? ;
- db ? ;
- db ? ;
- db ? ;
- db ? ;
- db ? ;
- off_804A000 dd offset __gmon_start__ ; DATA XREF: ___gmon_start__r
- off_804A004 dd offset gets ; DATA XREF: _getsr
- off_804A008 dd offset toupper ; DATA XREF: _toupperr
- off_804A00C dd offset __libc_start_main ; DATA XREF: ___libc_start_mainr
- off_804A010 dd offset fflush ; DATA XREF: _fflushr
- off_804A014 dd offset strlen ; DATA XREF: _strlenr
- off_804A018 dd offset printf ; DATA XREF: _printfr
- off_804A01C dd offset malloc ; DATA XREF: _mallocr
- off_804A020 dd offset strcmp ; DATA XREF: _strcmpr
- _got_plt ends
- ; ===========================================================================
- ; Segment type: Pure data
- ; Segment permissions: Read/Write
- _data segment dword public 'DATA' use32
- assume cs:_data
- ;org 804A024h
- public data_start ; weak
- data_start db 0 ; Alternative name is '__data_start'
- db 0
- db 0
- db 0
- public __dso_handle
- __dso_handle db 0
- db 0
- db 0
- db 0
- _data ends
- ; ===========================================================================
- ; Segment type: Uninitialized
- ; Segment permissions: Read/Write
- _bss segment dword public 'BSS' use32
- assume cs:_bss
- ;org 804A02Ch
- assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
- public stdin@@GLIBC_2_0
- ; FILE *stdin
- stdin@@GLIBC_2_0 dd ? ; DATA XREF: main+297r main+2D0r ...
- ; Alternative name is 'stdin'
- ; Copy of shared data
- completed_7021 db ? ; DATA XREF: __do_global_dtors_aux+7r
- ; __do_global_dtors_aux:loc_8048508w
- align 4
- dtor_idx_7023 dd ? ; DATA XREF: __do_global_dtors_aux+10r
- ; __do_global_dtors_aux+33w ...
- _bss ends
- ; ===========================================================================
- ; Segment type: Externs
- ; extern
- extrn gets@@GLIBC_2_0:near
- extrn toupper@@GLIBC_2_0:near
- extrn __libc_start_main@@GLIBC_2_0:near
- extrn fflush@@GLIBC_2_0:near
- extrn strlen@@GLIBC_2_0:near
- extrn printf@@GLIBC_2_0:near
- extrn malloc@@GLIBC_2_0:near
- extrn strcmp@@GLIBC_2_0:near
- ; char *gets(char *s)
- extrn gets:near ; DATA XREF: .got.plt:off_804A004o
- ; int toupper(int c)
- extrn toupper:near ; DATA XREF: .got.plt:off_804A008o
- extrn __libc_start_main:near ; DATA XREF: .got.plt:off_804A00Co
- ; int fflush(FILE *stream)
- extrn fflush:near ; DATA XREF: .got.plt:off_804A010o
- ; size_t strlen(const char *s)
- extrn strlen:near ; DATA XREF: .got.plt:off_804A014o
- ; int printf(const char *format, ...)
- extrn printf:near ; DATA XREF: .got.plt:off_804A018o
- ; void *malloc(size_t size)
- extrn malloc:near ; DATA XREF: .got.plt:off_804A01Co
- ; int strcmp(const char *s1, const char *s2)
- extrn strcmp:near ; DATA XREF: .got.plt:off_804A020o
- extrn __gmon_start__ ; weak ; DATA XREF: .got:__gmon_start___ptro
- ; .got.plt:off_804A000o
- extrn _Jv_RegisterClasses ; weak
- ; ===========================================================================
- ; Segment type: Absolute symbols
- ; abs
- public __bss_start
- __bss_start = 804A02Ch
- public _end
- _end = 804A038h
- public _edata
- _edata = 804A02Ch
- end _start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement