Advertisement
Guest User

kmkz write-up CTF

a guest
Jan 17th, 2011
298
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.  
  3.  
  4.  
  5. ;
  6.  
  7. ; +-------------------------------------------------------------------------+
  8.  
  9. ; |   This file has been generated by The Interactive Disassembler (IDA)    |
  10.  
  11. ; |    Copyright (c) 2009 by Hex-Rays, <support@hex-rays.com>       |
  12.  
  13. ; |          License info: 7E-861E-493B-34              |
  14.  
  15. ; |              Licensed User                  |
  16.  
  17. ; +-------------------------------------------------------------------------+
  18.  
  19. ;
  20.  
  21. ; Input MD5   : 095EAB75D392926908EE97A753E3F9EE
  22.  
  23.  
  24.  
  25. ; File Name   : Z:\home\kmkz\Desktop\CTF\security_by_default\n00b-login
  26.  
  27. ; Format      : ELF (Executable)
  28.  
  29. ; Imagebase   : 8048000
  30.  
  31. ; Interpreter '/lib/ld-linux.so.2'
  32.  
  33. ; Needed Library 'libc.so.6'
  34.  
  35. ;
  36.  
  37. ; Source File : 'crtstuff.c'
  38.  
  39. ; Source File : 'n00b-login.c'
  40.  
  41.  
  42.  
  43.         .686p
  44.  
  45.         .mmx
  46.  
  47.         .model flat
  48.  
  49. .intel_syntax noprefix
  50.  
  51.  
  52.  
  53. ; ===========================================================================
  54.  
  55.  
  56.  
  57. ; Segment type: Pure code
  58.  
  59. ; Segment permissions: Read/Execute
  60.  
  61. _init       segment dword public 'CODE' use32
  62.  
  63.         assume cs:_init
  64.  
  65.         ;org 80483C0h
  66.  
  67.         assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
  68.  
  69.  
  70.  
  71. ; =============== S U B R O U T I N E =======================================
  72.  
  73.  
  74.  
  75. ; Attributes: bp-based frame
  76.  
  77.  
  78.  
  79.         public _init_proc
  80.  
  81. _init_proc  proc near       ; CODE XREF: __libc_csu_init+14p
  82.  
  83.         push    ebp     ; _init
  84.  
  85.         mov ebp, esp
  86.  
  87.         push    ebx
  88.  
  89.         sub esp, 4
  90.  
  91.         call    $+5
  92.  
  93.         pop ebx
  94.  
  95.         add ebx, 1C28h
  96.  
  97.         mov edx, ds:(__gmon_start___ptr - 8049FF4h)[ebx]
  98.  
  99.         test    edx, edx
  100.  
  101.         jz  short loc_80483E2
  102.  
  103.         call    ___gmon_start__
  104.  
  105.  
  106.  
  107. loc_80483E2:                ; CODE XREF: _init_proc+1Bj
  108.  
  109.         call    frame_dummy
  110.  
  111.         call    __do_global_ctors_aux
  112.  
  113.         pop eax
  114.  
  115.         pop ebx
  116.  
  117.         leave
  118.  
  119.         retn
  120.  
  121. _init_proc  endp
  122.  
  123.  
  124.  
  125. _init       ends
  126.  
  127.  
  128.  
  129. ; ===========================================================================
  130.  
  131.  
  132.  
  133. ; Segment type: Pure code
  134.  
  135. ; Segment permissions: Read/Execute
  136.  
  137. _plt        segment dword public 'CODE' use32
  138.  
  139.         assume cs:_plt
  140.  
  141.         ;org 80483F0h
  142.  
  143.         assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
  144.  
  145.         dd 4 dup(?)
  146.  
  147. ; [00000006 BYTES: COLLAPSED FUNCTION ___gmon_start__. PRESS KEYPAD "+" TO EXPAND]
  148.  
  149.         dw ?
  150.  
  151.         dd 2 dup(?)
  152.  
  153. ; [00000006 BYTES: COLLAPSED FUNCTION _gets. PRESS KEYPAD "+" TO EXPAND]
  154.  
  155.         dw ?
  156.  
  157.         dd 2 dup(?)
  158.  
  159. ; [00000006 BYTES: COLLAPSED FUNCTION _toupper. PRESS KEYPAD "+" TO EXPAND]
  160.  
  161.         dw ?
  162.  
  163.         dd 2 dup(?)
  164.  
  165. ; [00000006 BYTES: COLLAPSED FUNCTION ___libc_start_main. PRESS KEYPAD "+" TO EXPAND]
  166.  
  167.         dw ?
  168.  
  169.         dd 2 dup(?)
  170.  
  171. ; [00000006 BYTES: COLLAPSED FUNCTION _fflush. PRESS KEYPAD "+" TO EXPAND]
  172.  
  173.         dw ?
  174.  
  175.         dd 2 dup(?)
  176.  
  177. ; [00000006 BYTES: COLLAPSED FUNCTION _strlen. PRESS KEYPAD "+" TO EXPAND]
  178.  
  179.         dw ?
  180.  
  181.         dd 2 dup(?)
  182.  
  183. ; [00000006 BYTES: COLLAPSED FUNCTION _printf. PRESS KEYPAD "+" TO EXPAND]
  184.  
  185.         dw ?
  186.  
  187.         dd 2 dup(?)
  188.  
  189. ; [00000006 BYTES: COLLAPSED FUNCTION _malloc. PRESS KEYPAD "+" TO EXPAND]
  190.  
  191.         dw ?
  192.  
  193.         dd 2 dup(?)
  194.  
  195. ; [00000006 BYTES: COLLAPSED FUNCTION _strcmp. PRESS KEYPAD "+" TO EXPAND]
  196.  
  197.         dw ?
  198.  
  199.         dd 2 dup(?)
  200.  
  201. _plt        ends
  202.  
  203.  
  204.  
  205. ; ===========================================================================
  206.  
  207.  
  208.  
  209. ; Segment type: Pure code
  210.  
  211. ; Segment permissions: Read/Execute
  212.  
  213. _text       segment para public 'CODE' use32
  214.  
  215.         assume cs:_text
  216.  
  217.         ;org 8048490h
  218.  
  219.         assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
  220.  
  221.  
  222.  
  223. ; =============== S U B R O U T I N E =======================================
  224.  
  225.  
  226.  
  227. ; Attributes: noreturn
  228.  
  229.  
  230.  
  231.         public _start
  232.  
  233. _start      proc near
  234.  
  235.         xor ebp, ebp
  236.  
  237.         pop esi
  238.  
  239.         mov ecx, esp
  240.  
  241.         and esp, 0FFFFFFF0h
  242.  
  243.         push    eax
  244.  
  245.         push    esp
  246.  
  247.         push    edx
  248.  
  249.         push    offset __libc_csu_fini
  250.  
  251.         push    offset __libc_csu_init
  252.  
  253.         push    ecx
  254.  
  255.         push    esi
  256.  
  257.         push    offset main
  258.  
  259.         call    ___libc_start_main
  260.  
  261.         hlt
  262.  
  263. _start      endp
  264.  
  265.  
  266.  
  267. ; ---------------------------------------------------------------------------
  268.  
  269.         align 10h
  270.  
  271.  
  272.  
  273. ; =============== S U B R O U T I N E =======================================
  274.  
  275.  
  276.  
  277. ; Attributes: bp-based frame
  278.  
  279.  
  280.  
  281. __do_global_dtors_aux proc near     ; CODE XREF: _term_proc+13p
  282.  
  283.         push    ebp
  284.  
  285.         mov ebp, esp
  286.  
  287.         push    ebx
  288.  
  289.         sub esp, 4
  290.  
  291.         cmp ds:completed_7021, 0
  292.  
  293.         jnz short loc_804850F
  294.  
  295.         mov eax, ds:dtor_idx_7023
  296.  
  297.         mov ebx, offset __DTOR_END__
  298.  
  299.         sub ebx, offset __DTOR_LIST__
  300.  
  301.         sar ebx, 2
  302.  
  303.         sub ebx, 1
  304.  
  305.         cmp eax, ebx
  306.  
  307.         jnb short loc_8048508
  308.  
  309.         lea esi, [esi+0]
  310.  
  311.  
  312.  
  313. loc_80484F0:                ; CODE XREF: __do_global_dtors_aux+46j
  314.  
  315.         add eax, 1
  316.  
  317.         mov ds:dtor_idx_7023, eax
  318.  
  319.         call    ds:__DTOR_LIST__[eax*4]
  320.  
  321.         mov eax, ds:dtor_idx_7023
  322.  
  323.         cmp eax, ebx
  324.  
  325.         jb  short loc_80484F0
  326.  
  327.  
  328.  
  329. loc_8048508:                ; CODE XREF: __do_global_dtors_aux+28j
  330.  
  331.         mov ds:completed_7021, 1
  332.  
  333.  
  334.  
  335. loc_804850F:                ; CODE XREF: __do_global_dtors_aux+Ej
  336.  
  337.         add esp, 4
  338.  
  339.         pop ebx
  340.  
  341.         pop ebp
  342.  
  343.         retn
  344.  
  345. __do_global_dtors_aux endp
  346.  
  347.  
  348.  
  349. ; ---------------------------------------------------------------------------
  350.  
  351.         align 10h
  352.  
  353.  
  354.  
  355. ; =============== S U B R O U T I N E =======================================
  356.  
  357.  
  358.  
  359. ; Attributes: bp-based frame
  360.  
  361.  
  362.  
  363. frame_dummy proc near       ; CODE XREF: _init_proc:loc_80483E2p
  364.  
  365.         push    ebp
  366.  
  367.         mov ebp, esp
  368.  
  369.         sub esp, 18h
  370.  
  371.         mov eax, ds:__JCR_LIST__
  372.  
  373.         test    eax, eax
  374.  
  375.         jz  short locret_8048541
  376.  
  377.         mov eax, 0
  378.  
  379.         test    eax, eax
  380.  
  381.         jz  short locret_8048541
  382.  
  383.         mov dword ptr [esp], offset __JCR_LIST__
  384.  
  385.         call    eax
  386.  
  387.  
  388.  
  389. locret_8048541:             ; CODE XREF: frame_dummy+Dj
  390.  
  391.                     ; frame_dummy+16j
  392.  
  393.         leave
  394.  
  395.         retn
  396.  
  397. frame_dummy endp
  398.  
  399.  
  400.  
  401. ; ---------------------------------------------------------------------------
  402.  
  403.         align 4
  404.  
  405.  
  406.  
  407. ; =============== S U B R O U T I N E =======================================
  408.  
  409.  
  410.  
  411. ; Attributes: bp-based frame
  412.  
  413.  
  414.  
  415.         public tor
  416.  
  417. tor     proc near       ; CODE XREF: main+264p main+281p ...
  418.  
  419.  
  420.  
  421. var_10      = dword ptr -10h
  422.  
  423. var_C       = dword ptr -0Ch
  424.  
  425. arg_0       = dword ptr  8
  426.  
  427.  
  428.  
  429.         push    ebp
  430.  
  431.         mov ebp, esp
  432.  
  433.         sub esp, 28h
  434.  
  435.         mov eax, [ebp+arg_0]
  436.  
  437.         mov [ebp+var_10], eax
  438.  
  439.         jmp short loc_80485A4
  440.  
  441. ; ---------------------------------------------------------------------------
  442.  
  443.  
  444.  
  445. loc_8048552:                ; CODE XREF: tor+68j
  446.  
  447.         mov eax, [ebp+var_10]
  448.  
  449.         movzx   eax, byte ptr [eax]
  450.  
  451.         movsx   eax, al
  452.  
  453.         mov [esp], eax  ; c
  454.  
  455.         call    _toupper
  456.  
  457.         mov [ebp+var_C], eax
  458.  
  459.         cmp [ebp+var_C], 40h
  460.  
  461.         jle short loc_8048584
  462.  
  463.         cmp [ebp+var_C], 4Dh
  464.  
  465.         jg  short loc_8048584
  466.  
  467.         mov eax, [ebp+var_10]
  468.  
  469.         movzx   eax, byte ptr [eax]
  470.  
  471.         add eax, 0Dh
  472.  
  473.         mov edx, eax
  474.  
  475.         mov eax, [ebp+var_10]
  476.  
  477.         mov [eax], dl
  478.  
  479.         jmp short loc_80485A0
  480.  
  481. ; ---------------------------------------------------------------------------
  482.  
  483.  
  484.  
  485. loc_8048584:                ; CODE XREF: tor+26j tor+2Cj
  486.  
  487.         cmp [ebp+var_C], 4Dh
  488.  
  489.         jle short loc_80485A0
  490.  
  491.         cmp [ebp+var_C], 5Ah
  492.  
  493.         jg  short loc_80485A0
  494.  
  495.         mov eax, [ebp+var_10]
  496.  
  497.         movzx   eax, byte ptr [eax]
  498.  
  499.         sub eax, 0Dh
  500.  
  501.         mov edx, eax
  502.  
  503.         mov eax, [ebp+var_10]
  504.  
  505.         mov [eax], dl
  506.  
  507.  
  508.  
  509. loc_80485A0:                ; CODE XREF: tor+3Ej tor+44j ...
  510.  
  511.         add [ebp+var_10], 1
  512.  
  513.  
  514.  
  515. loc_80485A4:                ; CODE XREF: tor+Cj
  516.  
  517.         mov eax, [ebp+var_10]
  518.  
  519.         movzx   eax, byte ptr [eax]
  520.  
  521.         test    al, al
  522.  
  523.         jnz short loc_8048552
  524.  
  525.         mov eax, [ebp+arg_0]
  526.  
  527.         leave
  528.  
  529.         retn
  530.  
  531. tor     endp
  532.  
  533.  
  534.  
  535.  
  536.  
  537. ; =============== S U B R O U T I N E =======================================
  538.  
  539.  
  540.  
  541. ; Attributes: bp-based frame
  542.  
  543.  
  544.  
  545. ; int __cdecl untrash(char *s)
  546.  
  547.         public untrash
  548.  
  549. untrash     proc near       ; CODE XREF: main+258p main+365p ...
  550.  
  551.  
  552.  
  553. var_18      = dword ptr -18h
  554.  
  555. var_14      = dword ptr -14h
  556.  
  557. var_10      = dword ptr -10h
  558.  
  559. var_C       = dword ptr -0Ch
  560.  
  561. s       = dword ptr  8
  562.  
  563.  
  564.  
  565.         push    ebp
  566.  
  567.         mov ebp, esp
  568.  
  569.         sub esp, 28h
  570.  
  571.         mov [ebp+var_10], 0
  572.  
  573.         mov eax, [ebp+s]
  574.  
  575.         mov [esp], eax  ; s
  576.  
  577.         call    _strlen
  578.  
  579.         mov [ebp+var_C], eax
  580.  
  581.         mov [ebp+var_14], 0
  582.  
  583.         jmp short loc_8048644
  584.  
  585. ; ---------------------------------------------------------------------------
  586.  
  587.  
  588.  
  589. loc_80485D7:                ; CODE XREF: untrash+97j
  590.  
  591.         mov eax, [ebp+var_14]
  592.  
  593.         add eax, [ebp+s]
  594.  
  595.         movzx   eax, byte ptr [eax]
  596.  
  597.         cmp al, 40h
  598.  
  599.         jle short loc_80485F1
  600.  
  601.         mov eax, [ebp+var_14]
  602.  
  603.         add eax, [ebp+s]
  604.  
  605.         movzx   eax, byte ptr [eax]
  606.  
  607.         cmp al, 5Ah
  608.  
  609.         jle short loc_8048625
  610.  
  611.  
  612.  
  613. loc_80485F1:                ; CODE XREF: untrash+2Fj
  614.  
  615.         mov eax, [ebp+var_14]
  616.  
  617.         add eax, [ebp+s]
  618.  
  619.         movzx   eax, byte ptr [eax]
  620.  
  621.         cmp al, 60h
  622.  
  623.         jle short loc_804860B
  624.  
  625.         mov eax, [ebp+var_14]
  626.  
  627.         add eax, [ebp+s]
  628.  
  629.         movzx   eax, byte ptr [eax]
  630.  
  631.         cmp al, 7Ah
  632.  
  633.         jle short loc_8048625
  634.  
  635.  
  636.  
  637. loc_804860B:                ; CODE XREF: untrash+49j
  638.  
  639.         mov eax, [ebp+var_14]
  640.  
  641.         add eax, [ebp+s]
  642.  
  643.         movzx   eax, byte ptr [eax]
  644.  
  645.         cmp al, 20h
  646.  
  647.         jz  short loc_8048625
  648.  
  649.         mov eax, [ebp+var_14]
  650.  
  651.         add eax, [ebp+s]
  652.  
  653.         movzx   eax, byte ptr [eax]
  654.  
  655.         cmp al, 3Ah
  656.  
  657.         jnz short loc_8048640
  658.  
  659.  
  660.  
  661. loc_8048625:                ; CODE XREF: untrash+3Cj untrash+56j ...
  662.  
  663.         mov eax, [ebp+var_10]
  664.  
  665.         add eax, [ebp+s]
  666.  
  667.         mov [ebp+var_18], eax
  668.  
  669.         mov eax, [ebp+var_14]
  670.  
  671.         add eax, [ebp+s]
  672.  
  673.         movzx   edx, byte ptr [eax]
  674.  
  675.         mov eax, [ebp+var_18]
  676.  
  677.         mov [eax], dl
  678.  
  679.         add [ebp+var_10], 1
  680.  
  681.  
  682.  
  683. loc_8048640:                ; CODE XREF: untrash+70j
  684.  
  685.         add [ebp+var_14], 1
  686.  
  687.  
  688.  
  689. loc_8048644:                ; CODE XREF: untrash+22j
  690.  
  691.         mov eax, [ebp+var_14]
  692.  
  693.         cmp eax, [ebp+var_C]
  694.  
  695.         jl  short loc_80485D7
  696.  
  697.         mov eax, [ebp+var_10]
  698.  
  699.         add eax, [ebp+s]
  700.  
  701.         mov [ebp+var_18], eax
  702.  
  703.         mov eax, [ebp+var_18]
  704.  
  705.         mov byte ptr [eax], 0
  706.  
  707.         leave
  708.  
  709.         retn
  710.  
  711. untrash     endp
  712.  
  713.  
  714.  
  715.  
  716.  
  717. ; =============== S U B R O U T I N E =======================================
  718.  
  719.  
  720.  
  721. ; Attributes: bp-based frame
  722.  
  723.  
  724.  
  725.         public main
  726.  
  727. main        proc near       ; DATA XREF: _start+17o
  728.  
  729.         push    ebp
  730.  
  731.         mov ebp, esp
  732.  
  733.         and esp, 0FFFFFFF0h
  734.  
  735.         push    edi
  736.  
  737.         push    esi
  738.  
  739.         push    ebx
  740.  
  741.         sub esp, 2074h
  742.  
  743.         mov dword ptr [esp], 7D0h ; size
  744.  
  745.         call    _malloc
  746.  
  747.         mov [esp+2068h], eax
  748.  
  749.         mov dword ptr [esp], 4 ; size
  750.  
  751.         call    _malloc
  752.  
  753.         mov [esp+206Ch], eax
  754.  
  755.         mov dword ptr [esp+112h], 20676241h
  756.  
  757.         mov dword ptr [esp+116h], 72206266h
  758.  
  759.         mov dword ptr [esp+11Ah], 2C6C666Eh
  760.  
  761.         mov dword ptr [esp+11Eh], 71687120h
  762.  
  763.         mov word ptr [esp+122h], 72h
  764.  
  765.         mov dword ptr [esp+0F9h], 617A6E51h
  766.  
  767.         mov dword ptr [esp+0FDh], 21677620h
  768.  
  769.         mov dword ptr [esp+101h], 464C4620h
  770.  
  771.         mov dword ptr [esp+105h], 205A5247h
  772.  
  773.         mov dword ptr [esp+109h], 59564E53h
  774.  
  775.         mov dword ptr [esp+10Dh], 3A524548h
  776.  
  777.         mov byte ptr [esp+111h], 0
  778.  
  779.         lea edx, [esp+0B0h]
  780.  
  781.         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"...
  782.  
  783.         mov ecx, 12h
  784.  
  785.         mov edi, edx
  786.  
  787.         mov esi, eax
  788.  
  789.         rep movsd
  790.  
  791.         mov eax, esi
  792.  
  793.         mov edx, edi
  794.  
  795.         movzx   ecx, byte ptr [eax]
  796.  
  797.         mov [edx], cl
  798.  
  799.         add edx, 1
  800.  
  801.         add eax, 1
  802.  
  803.         mov dword ptr [esp+9Bh], 2068624Ch
  804.  
  805.         mov dword ptr [esp+9Fh], 2072656Eh
  806.  
  807.         mov dword ptr [esp+0A3h], 20676261h
  808.  
  809.         mov dword ptr [esp+0A7h], 7079726Ah
  810.  
  811.         mov dword ptr [esp+0ABh], 2E727A62h
  812.  
  813.         mov byte ptr [esp+0AFh], 0
  814.  
  815.         mov dword ptr [esp+79h], 70766352h
  816.  
  817.         mov dword ptr [esp+7Dh], 72615E5Eh
  818.  
  819.         mov dword ptr [esp+81h], 2D2D5F2Dh
  820.  
  821.         mov dword ptr [esp+85h], 2A66665Fh
  822.  
  823.         mov dword ptr [esp+89h], 7B724620h
  824.  
  825.         mov dword ptr [esp+8Dh], 305F302Dh
  826.  
  827.         mov dword ptr [esp+91h], 68707D2Dh
  828.  
  829.         mov dword ptr [esp+95h], 6776655Fh
  830.  
  831.         mov word ptr [esp+99h], 6Ch
  832.  
  833.         mov dword ptr [esp+6Bh], 72666156h
  834.  
  835.         mov dword ptr [esp+6Fh], 61206765h
  836.  
  837.         mov dword ptr [esp+73h], 3A727A6Eh
  838.  
  839.         mov word ptr [esp+77h], 20h
  840.  
  841.         mov dword ptr [esp+58h], 72666156h
  842.  
  843.         mov dword ptr [esp+5Ch], 79206765h
  844.  
  845.         mov dword ptr [esp+60h], 2067666Eh
  846.  
  847.         mov dword ptr [esp+64h], 727A6E61h
  848.  
  849.         mov word ptr [esp+68h], 203Ah
  850.  
  851.         mov byte ptr [esp+6Ah], 0
  852.  
  853.         mov dword ptr [esp+4Bh], 72666156h
  854.  
  855.         mov dword ptr [esp+4Fh], 66206765h
  856.  
  857.         mov dword ptr [esp+53h], 203A6B72h
  858.  
  859.         mov byte ptr [esp+57h], 0
  860.  
  861.         mov dword ptr [esp+39h], 72666156h
  862.  
  863.         mov dword ptr [esp+3Dh], 6F207165h
  864.  
  865.         mov dword ptr [esp+41h], 75676576h
  866.  
  867.         mov dword ptr [esp+45h], 3A6C6E71h
  868.  
  869.         mov word ptr [esp+49h], 20h
  870.  
  871.         mov dword ptr [esp+1Bh], 0A0A6156h
  872.  
  873.         mov dword ptr [esp+1Fh], 2D72660Ah
  874.  
  875.         mov dword ptr [esp+23h], 2D2D2D2Dh
  876.  
  877.         mov dword ptr [esp+27h], 2A2A6765h
  878.  
  879.         mov dword ptr [esp+2Bh], 5E202A2Ah
  880.  
  881.         mov dword ptr [esp+2Fh], 66666E63h
  882.  
  883.         mov dword ptr [esp+33h], 3A716A0Ah
  884.  
  885.         mov word ptr [esp+37h], 20h
  886.  
  887.         mov eax, [esp+206Ch]
  888.  
  889.         mov dword ptr [eax], 0
  890.  
  891.         lea eax, [esp+79h]
  892.  
  893.         mov [esp], eax  ; s
  894.  
  895.         call    untrash
  896.  
  897.         lea eax, [esp+79h]
  898.  
  899.         mov [esp], eax
  900.  
  901.         call    tor
  902.  
  903.         mov edx, offset format ; "\n--- Welcome to '%s' systems.\n"
  904.  
  905.         mov [esp+4], eax
  906.  
  907.         mov [esp], edx  ; format
  908.  
  909.         call    _printf
  910.  
  911.         lea eax, [esp+6Bh]
  912.  
  913.         mov [esp], eax
  914.  
  915.         call    tor
  916.  
  917.         mov edx, offset aS  ; "%s"
  918.  
  919.         mov [esp+4], eax
  920.  
  921.         mov [esp], edx  ; format
  922.  
  923.         call    _printf
  924.  
  925.         mov eax, ds:stdin@@GLIBC_2_0
  926.  
  927.         mov [esp], eax  ; stream
  928.  
  929.         call    _fflush
  930.  
  931.         lea eax, [esp+1894h]
  932.  
  933.         mov [esp], eax  ; s
  934.  
  935.         call    _gets
  936.  
  937.         lea eax, [esp+58h]
  938.  
  939.         mov [esp], eax
  940.  
  941.         call    tor
  942.  
  943.         mov edx, offset aS  ; "%s"
  944.  
  945.         mov [esp+4], eax
  946.  
  947.         mov [esp], edx  ; format
  948.  
  949.         call    _printf
  950.  
  951.         mov eax, ds:stdin@@GLIBC_2_0
  952.  
  953.         mov [esp], eax  ; stream
  954.  
  955.         call    _fflush
  956.  
  957.         lea eax, [esp+10C4h]
  958.  
  959.         mov [esp], eax  ; s
  960.  
  961.         call    _gets
  962.  
  963.         lea eax, [esp+4Bh]
  964.  
  965.         mov [esp], eax
  966.  
  967.         call    tor
  968.  
  969.         mov edx, offset aS  ; "%s"
  970.  
  971.         mov [esp+4], eax
  972.  
  973.         mov [esp], edx  ; format
  974.  
  975.         call    _printf
  976.  
  977.         mov eax, ds:stdin@@GLIBC_2_0
  978.  
  979.         mov [esp], eax  ; stream
  980.  
  981.         call    _fflush
  982.  
  983.         mov eax, [esp+2068h]
  984.  
  985.         mov [esp], eax  ; s
  986.  
  987.         call    _gets
  988.  
  989.         lea eax, [esp+39h]
  990.  
  991.         mov [esp], eax
  992.  
  993.         call    tor
  994.  
  995.         mov edx, offset aS  ; "%s"
  996.  
  997.         mov [esp+4], eax
  998.  
  999.         mov [esp], edx  ; format
  1000.  
  1001.         call    _printf
  1002.  
  1003.         mov eax, ds:stdin@@GLIBC_2_0
  1004.  
  1005.         mov [esp], eax  ; stream
  1006.  
  1007.         call    _fflush
  1008.  
  1009.         lea eax, [esp+8F4h]
  1010.  
  1011.         mov [esp], eax  ; s
  1012.  
  1013.         call    _gets
  1014.  
  1015.         lea eax, [esp+1Bh]
  1016.  
  1017.         mov [esp], eax  ; s
  1018.  
  1019.         call    untrash
  1020.  
  1021.         lea eax, [esp+1Bh]
  1022.  
  1023.         mov [esp], eax
  1024.  
  1025.         call    tor
  1026.  
  1027.         mov edx, offset aS  ; "%s"
  1028.  
  1029.         mov [esp+4], eax
  1030.  
  1031.         mov [esp], edx  ; format
  1032.  
  1033.         call    _printf
  1034.  
  1035.         mov eax, ds:stdin@@GLIBC_2_0
  1036.  
  1037.         mov [esp], eax  ; stream
  1038.  
  1039.         call    _fflush
  1040.  
  1041.         lea eax, [esp+124h]
  1042.  
  1043.         mov [esp], eax  ; s
  1044.  
  1045.         call    _gets
  1046.  
  1047.         mov dword ptr [esp+2064h], 0FFFFFFFBh
  1048.  
  1049.         jmp short loc_8048A47
  1050.  
  1051. ; ---------------------------------------------------------------------------
  1052.  
  1053.  
  1054.  
  1055. loc_8048A0D:                ; CODE XREF: main+3F2j
  1056.  
  1057.         mov eax, [esp+206Ch]
  1058.  
  1059.         mov eax, [eax]
  1060.  
  1061.         cmp eax, [esp+2064h]
  1062.  
  1063.         jnz short loc_8048A3F
  1064.  
  1065.         lea eax, [esp+9Bh]
  1066.  
  1067.         mov [esp], eax
  1068.  
  1069.         call    tor
  1070.  
  1071.         mov edx, offset aAlertS ; "ALERT: %s\n"
  1072.  
  1073.         mov [esp+4], eax
  1074.  
  1075.         mov [esp], edx  ; format
  1076.  
  1077.         call    _printf
  1078.  
  1079.  
  1080.  
  1081. loc_8048A3F:                ; CODE XREF: main+3C0j
  1082.  
  1083.         add dword ptr [esp+2064h], 1
  1084.  
  1085.  
  1086.  
  1087. loc_8048A47:                ; CODE XREF: main+3AEj
  1088.  
  1089.         cmp dword ptr [esp+2064h], 9
  1090.  
  1091.         jle short loc_8048A0D
  1092.  
  1093.         mov eax, [esp+206Ch]
  1094.  
  1095.         mov eax, [eax]
  1096.  
  1097.         test    eax, eax
  1098.  
  1099.         jz  short loc_8048AA9
  1100.  
  1101.         lea eax, [esp+0B0h]
  1102.  
  1103.         mov [esp], eax  ; s
  1104.  
  1105.         call    untrash
  1106.  
  1107.         lea eax, [esp+0B0h]
  1108.  
  1109.         mov [esp], eax
  1110.  
  1111.         call    tor
  1112.  
  1113.         mov ebx, eax
  1114.  
  1115.         lea eax, [esp+0F9h]
  1116.  
  1117.         mov [esp], eax
  1118.  
  1119.         call    tor
  1120.  
  1121.         mov edx, offset aSS ; "%s %s\n"
  1122.  
  1123.         mov [esp+8], ebx
  1124.  
  1125.         mov [esp+4], eax
  1126.  
  1127.         mov [esp], edx  ; format
  1128.  
  1129.         call    _printf
  1130.  
  1131.         mov eax, 0
  1132.  
  1133.         jmp short loc_8048AF0
  1134.  
  1135. ; ---------------------------------------------------------------------------
  1136.  
  1137.  
  1138.  
  1139. loc_8048AA9:                ; CODE XREF: main+3FFj
  1140.  
  1141.         mov dword ptr [esp+4], offset s2 ; "admin_r00t"
  1142.  
  1143.         lea eax, [esp+124h]
  1144.  
  1145.         mov [esp], eax  ; s1
  1146.  
  1147.         call    _strcmp
  1148.  
  1149.         test    eax, eax
  1150.  
  1151.         jnz short loc_8048AEB
  1152.  
  1153.         lea eax, [esp+112h]
  1154.  
  1155.         mov [esp], eax
  1156.  
  1157.         call    tor
  1158.  
  1159.         mov edx, offset aS_0 ; "%s :)\n"
  1160.  
  1161.         mov [esp+4], eax
  1162.  
  1163.         mov [esp], edx  ; format
  1164.  
  1165.         call    _printf
  1166.  
  1167.         mov eax, 45h
  1168.  
  1169.         jmp short loc_8048AF0
  1170.  
  1171. ; ---------------------------------------------------------------------------
  1172.  
  1173.  
  1174.  
  1175. loc_8048AEB:                ; CODE XREF: main+465j
  1176.  
  1177.         mov eax, 45h
  1178.  
  1179.  
  1180.  
  1181. loc_8048AF0:                ; CODE XREF: main+44Aj main+48Cj
  1182.  
  1183.         add esp, 2074h
  1184.  
  1185.         pop ebx
  1186.  
  1187.         pop esi
  1188.  
  1189.         pop edi
  1190.  
  1191.         mov esp, ebp
  1192.  
  1193.         pop ebp
  1194.  
  1195.         retn
  1196.  
  1197. main        endp
  1198.  
  1199.  
  1200.  
  1201. ; ---------------------------------------------------------------------------
  1202.  
  1203.         align 10h
  1204.  
  1205.  
  1206.  
  1207. ; =============== S U B R O U T I N E =======================================
  1208.  
  1209.  
  1210.  
  1211. ; Attributes: bp-based frame
  1212.  
  1213.  
  1214.  
  1215.         public __libc_csu_fini
  1216.  
  1217. __libc_csu_fini proc near       ; DATA XREF: _start+Bo
  1218.  
  1219.         push    ebp
  1220.  
  1221.         mov ebp, esp
  1222.  
  1223.         pop ebp
  1224.  
  1225.         retn
  1226.  
  1227. __libc_csu_fini endp
  1228.  
  1229.  
  1230.  
  1231. ; ---------------------------------------------------------------------------
  1232.  
  1233.         align 10h
  1234.  
  1235.  
  1236.  
  1237. ; =============== S U B R O U T I N E =======================================
  1238.  
  1239.  
  1240.  
  1241. ; Attributes: bp-based frame
  1242.  
  1243.  
  1244.  
  1245.         public __libc_csu_init
  1246.  
  1247. __libc_csu_init proc near       ; DATA XREF: _start+10o
  1248.  
  1249.  
  1250.  
  1251. arg_0       = dword ptr  8
  1252.  
  1253. arg_4       = dword ptr  0Ch
  1254.  
  1255. arg_8       = dword ptr  10h
  1256.  
  1257.  
  1258.  
  1259.         push    ebp
  1260.  
  1261.         mov ebp, esp
  1262.  
  1263.         push    edi
  1264.  
  1265.         push    esi
  1266.  
  1267.         push    ebx
  1268.  
  1269.         call    __i686_get_pc_thunk_bx
  1270.  
  1271.         add ebx, 14D9h
  1272.  
  1273.         sub esp, 1Ch
  1274.  
  1275.         call    _init_proc
  1276.  
  1277.         lea edi, (__CTOR_LIST__ - 8049FF4h)[ebx]
  1278.  
  1279.         lea eax, (__CTOR_LIST__ - 8049FF4h)[ebx]
  1280.  
  1281.         sub edi, eax
  1282.  
  1283.         sar edi, 2
  1284.  
  1285.         test    edi, edi
  1286.  
  1287.         jz  short loc_8048B62
  1288.  
  1289.         xor esi, esi
  1290.  
  1291.  
  1292.  
  1293. loc_8048B40:                ; CODE XREF: __libc_csu_init+50j
  1294.  
  1295.         mov eax, [ebp+arg_8]
  1296.  
  1297.         mov [esp+8], eax
  1298.  
  1299.         mov eax, [ebp+arg_4]
  1300.  
  1301.         mov [esp+4], eax
  1302.  
  1303.         mov eax, [ebp+arg_0]
  1304.  
  1305.         mov [esp], eax
  1306.  
  1307.         call    ds:(__CTOR_LIST__ - 8049FF4h)[ebx+esi*4]
  1308.  
  1309.         add esi, 1
  1310.  
  1311.         cmp esi, edi
  1312.  
  1313.         jb  short loc_8048B40
  1314.  
  1315.  
  1316.  
  1317. loc_8048B62:                ; CODE XREF: __libc_csu_init+2Cj
  1318.  
  1319.         add esp, 1Ch
  1320.  
  1321.         pop ebx
  1322.  
  1323.         pop esi
  1324.  
  1325.         pop edi
  1326.  
  1327.         pop ebp
  1328.  
  1329.         retn
  1330.  
  1331. __libc_csu_init endp
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337. ; =============== S U B R O U T I N E =======================================
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.         public __i686_get_pc_thunk_bx
  1344.  
  1345. __i686_get_pc_thunk_bx proc near    ; CODE XREF: __libc_csu_init+6p
  1346.  
  1347.         mov ebx, [esp+0]
  1348.  
  1349.         retn
  1350.  
  1351. __i686_get_pc_thunk_bx endp
  1352.  
  1353.  
  1354.  
  1355. ; ---------------------------------------------------------------------------
  1356.  
  1357.         align 10h
  1358.  
  1359.  
  1360.  
  1361. ; =============== S U B R O U T I N E =======================================
  1362.  
  1363.  
  1364.  
  1365. ; Attributes: bp-based frame
  1366.  
  1367.  
  1368.  
  1369. __do_global_ctors_aux proc near     ; CODE XREF: _init_proc+27p
  1370.  
  1371.         push    ebp
  1372.  
  1373.         mov ebp, esp
  1374.  
  1375.         push    ebx
  1376.  
  1377.         sub esp, 4
  1378.  
  1379.         mov eax, ds:__CTOR_LIST__
  1380.  
  1381.         cmp eax, 0FFFFFFFFh
  1382.  
  1383.         jz  short loc_8048B94
  1384.  
  1385.         mov ebx, offset __CTOR_LIST__
  1386.  
  1387.         db  66h
  1388.  
  1389.         nop
  1390.  
  1391.  
  1392.  
  1393. loc_8048B88:                ; CODE XREF: __do_global_ctors_aux+22j
  1394.  
  1395.         sub ebx, 4
  1396.  
  1397.         call    eax ; __CTOR_LIST__
  1398.  
  1399.         mov eax, [ebx]
  1400.  
  1401.         cmp eax, 0FFFFFFFFh
  1402.  
  1403.         jnz short loc_8048B88
  1404.  
  1405.  
  1406.  
  1407. loc_8048B94:                ; CODE XREF: __do_global_ctors_aux+Fj
  1408.  
  1409.         add esp, 4
  1410.  
  1411.         pop ebx
  1412.  
  1413.         pop ebp
  1414.  
  1415.         retn
  1416.  
  1417. __do_global_ctors_aux endp
  1418.  
  1419.  
  1420.  
  1421. ; ---------------------------------------------------------------------------
  1422.  
  1423.         align 4
  1424.  
  1425. _text       ends
  1426.  
  1427.  
  1428.  
  1429. ; ===========================================================================
  1430.  
  1431.  
  1432.  
  1433. ; Segment type: Pure code
  1434.  
  1435. ; Segment permissions: Read/Execute
  1436.  
  1437. _fini       segment dword public 'CODE' use32
  1438.  
  1439.         assume cs:_fini
  1440.  
  1441.         ;org 8048B9Ch
  1442.  
  1443.         assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
  1444.  
  1445.  
  1446.  
  1447. ; =============== S U B R O U T I N E =======================================
  1448.  
  1449.  
  1450.  
  1451. ; Attributes: bp-based frame
  1452.  
  1453.  
  1454.  
  1455.         public _term_proc
  1456.  
  1457. _term_proc  proc near
  1458.  
  1459.         push    ebp     ; _fini
  1460.  
  1461.         mov ebp, esp
  1462.  
  1463.         push    ebx
  1464.  
  1465.         sub esp, 4
  1466.  
  1467.         call    $+5
  1468.  
  1469.         pop ebx
  1470.  
  1471.         add ebx, 144Ch
  1472.  
  1473.         call    __do_global_dtors_aux
  1474.  
  1475.         pop ecx
  1476.  
  1477.         pop ebx
  1478.  
  1479.         leave
  1480.  
  1481.         retn
  1482.  
  1483. _term_proc  endp
  1484.  
  1485.  
  1486.  
  1487. _fini       ends
  1488.  
  1489.  
  1490.  
  1491. ; ===========================================================================
  1492.  
  1493.  
  1494.  
  1495. ; Segment type: Pure data
  1496.  
  1497. ; Segment permissions: Read
  1498.  
  1499. _rodata     segment dword public 'CONST' use32
  1500.  
  1501.         assume cs:_rodata
  1502.  
  1503.         ;org 8048BB8h
  1504.  
  1505.         public _fp_hw
  1506.  
  1507. _fp_hw      dd 3
  1508.  
  1509.         public _IO_stdin_used
  1510.  
  1511. _IO_stdin_used  dd 20001h
  1512.  
  1513. ; char format[]
  1514.  
  1515. format      db 0Ah          ; DATA XREF: main+269o
  1516.  
  1517.         db '--- Welcome to ',27h,'%s',27h,' systems.',0Ah,0
  1518.  
  1519. ; char aS[]
  1520.  
  1521. aS      db '%s',0               ; DATA XREF: main+286o main+2BFo ...
  1522.  
  1523. ; char aAlertS[]
  1524.  
  1525. aAlertS     db 'ALERT: %s',0Ah,0    ; DATA XREF: main+3D1o
  1526.  
  1527. ; char aSS[]
  1528.  
  1529. aSS     db '%s %s',0Ah,0        ; DATA XREF: main+430o
  1530.  
  1531. ; char s2[]
  1532.  
  1533. s2      db 'admin_r00t',0       ; DATA XREF: main:loc_8048AA9o
  1534.  
  1535. ; char aS_0[]
  1536.  
  1537. aS_0        db '%s :)',0Ah,0        ; DATA XREF: main+476o
  1538.  
  1539.         align 4
  1540.  
  1541. aVGfrRZf_GUNg_j db 'v',0Ah              ; DATA XREF: main+BCo
  1542.  
  1543.         db 'GFr^r',0Ah
  1544.  
  1545.         db 0Ah
  1546.  
  1547.         db 0Ah
  1548.  
  1549.         db 'Zf.,G,u/',9,9,'-nG',0Ah
  1550.  
  1551.         db '-_J.',0Dh,'..r',0Dh,'[#]N',0Dh,0Dh,7,'er',0Ah
  1552.  
  1553.         db ';;Abg',0Ah
  1554.  
  1555.         db 0Dh,'Rc}vp@a{rffN?g#N...yY',0
  1556.  
  1557. _rodata     ends
  1558.  
  1559.  
  1560.  
  1561. ; ===========================================================================
  1562.  
  1563.  
  1564.  
  1565. ; Segment type: Pure data
  1566.  
  1567. ; Segment permissions: Read
  1568.  
  1569. _eh_frame   segment dword public 'CONST' use32
  1570.  
  1571.         assume cs:_eh_frame
  1572.  
  1573.         ;org 8048C54h
  1574.  
  1575. __FRAME_END__   db    0
  1576.  
  1577.         db    0
  1578.  
  1579.         db    0
  1580.  
  1581.         db    0
  1582.  
  1583. _eh_frame   ends
  1584.  
  1585.  
  1586.  
  1587. ; ===========================================================================
  1588.  
  1589.  
  1590.  
  1591. ; Segment type: Pure data
  1592.  
  1593. ; Segment permissions: Read/Write
  1594.  
  1595. _ctors      segment dword public 'DATA' use32
  1596.  
  1597.         assume cs:_ctors
  1598.  
  1599.         ;org 8049F0Ch
  1600.  
  1601. __CTOR_LIST__   dd 0FFFFFFFFh       ; DATA XREF: __libc_csu_init+19o
  1602.  
  1603.                     ; __libc_csu_init+1Fo ...
  1604.  
  1605.                     ; Alternative name is '__init_array_end'
  1606.  
  1607. __CTOR_END__    db    0
  1608.  
  1609.         db    0
  1610.  
  1611.         db    0
  1612.  
  1613.         db    0
  1614.  
  1615. _ctors      ends
  1616.  
  1617.  
  1618.  
  1619. ; ===========================================================================
  1620.  
  1621.  
  1622.  
  1623. ; Segment type: Pure data
  1624.  
  1625. ; Segment permissions: Read/Write
  1626.  
  1627. _dtors      segment dword public 'DATA' use32
  1628.  
  1629.         assume cs:_dtors
  1630.  
  1631.         ;org 8049F14h
  1632.  
  1633. __DTOR_LIST__   dd 0FFFFFFFFh       ; DATA XREF: __do_global_dtors_aux+1Ao
  1634.  
  1635.                     ; __do_global_dtors_aux+38r
  1636.  
  1637.         public __DTOR_END__
  1638.  
  1639. __DTOR_END__    db    0         ; DATA XREF: __do_global_dtors_aux+15o
  1640.  
  1641.         db    0
  1642.  
  1643.         db    0
  1644.  
  1645.         db    0
  1646.  
  1647. _dtors      ends
  1648.  
  1649.  
  1650.  
  1651. ; ===========================================================================
  1652.  
  1653.  
  1654.  
  1655. ; Segment type: Pure data
  1656.  
  1657. ; Segment permissions: Read/Write
  1658.  
  1659. _jcr        segment dword public 'DATA' use32
  1660.  
  1661.         assume cs:_jcr
  1662.  
  1663.         ;org 8049F1Ch
  1664.  
  1665. __JCR_LIST__    dd 0            ; DATA XREF: frame_dummy+6r
  1666.  
  1667.                     ; frame_dummy+18o
  1668.  
  1669. _jcr        ends
  1670.  
  1671.  
  1672.  
  1673. ; ===========================================================================
  1674.  
  1675.  
  1676.  
  1677. ; Segment type: Pure data
  1678.  
  1679. ; Segment permissions: Read/Write
  1680.  
  1681. _got        segment dword public 'DATA' use32
  1682.  
  1683.         assume cs:_got
  1684.  
  1685.         ;org 8049FF0h
  1686.  
  1687. __gmon_start___ptr dd offset __gmon_start__ ; DATA XREF: _init_proc+13r
  1688.  
  1689. _got        ends
  1690.  
  1691.  
  1692.  
  1693. ; ===========================================================================
  1694.  
  1695.  
  1696.  
  1697. ; Segment type: Pure data
  1698.  
  1699. ; Segment permissions: Read/Write
  1700.  
  1701. _got_plt    segment dword public 'DATA' use32
  1702.  
  1703.         assume cs:_got_plt
  1704.  
  1705.         ;org 8049FF4h
  1706.  
  1707. _GLOBAL_OFFSET_TABLE_ db    ? ;
  1708.  
  1709.         db    ? ;
  1710.  
  1711.         db    ? ;
  1712.  
  1713.         db    ? ;
  1714.  
  1715.         db    ? ;
  1716.  
  1717.         db    ? ;
  1718.  
  1719.         db    ? ;
  1720.  
  1721.         db    ? ;
  1722.  
  1723.         db    ? ;
  1724.  
  1725.         db    ? ;
  1726.  
  1727.         db    ? ;
  1728.  
  1729.         db    ? ;
  1730.  
  1731. off_804A000 dd offset __gmon_start__ ; DATA XREF: ___gmon_start__r
  1732.  
  1733. off_804A004 dd offset gets      ; DATA XREF: _getsr
  1734.  
  1735. off_804A008 dd offset toupper   ; DATA XREF: _toupperr
  1736.  
  1737. off_804A00C dd offset __libc_start_main ; DATA XREF: ___libc_start_mainr
  1738.  
  1739. off_804A010 dd offset fflush    ; DATA XREF: _fflushr
  1740.  
  1741. off_804A014 dd offset strlen    ; DATA XREF: _strlenr
  1742.  
  1743. off_804A018 dd offset printf    ; DATA XREF: _printfr
  1744.  
  1745. off_804A01C dd offset malloc    ; DATA XREF: _mallocr
  1746.  
  1747. off_804A020 dd offset strcmp    ; DATA XREF: _strcmpr
  1748.  
  1749. _got_plt    ends
  1750.  
  1751.  
  1752.  
  1753. ; ===========================================================================
  1754.  
  1755.  
  1756.  
  1757. ; Segment type: Pure data
  1758.  
  1759. ; Segment permissions: Read/Write
  1760.  
  1761. _data       segment dword public 'DATA' use32
  1762.  
  1763.         assume cs:_data
  1764.  
  1765.         ;org 804A024h
  1766.  
  1767.         public data_start ; weak
  1768.  
  1769. data_start  db    0         ; Alternative name is '__data_start'
  1770.  
  1771.         db    0
  1772.  
  1773.         db    0
  1774.  
  1775.         db    0
  1776.  
  1777.         public __dso_handle
  1778.  
  1779. __dso_handle    db    0
  1780.  
  1781.         db    0
  1782.  
  1783.         db    0
  1784.  
  1785.         db    0
  1786.  
  1787. _data       ends
  1788.  
  1789.  
  1790.  
  1791. ; ===========================================================================
  1792.  
  1793.  
  1794.  
  1795. ; Segment type: Uninitialized
  1796.  
  1797. ; Segment permissions: Read/Write
  1798.  
  1799. _bss        segment dword public 'BSS' use32
  1800.  
  1801.         assume cs:_bss
  1802.  
  1803.         ;org 804A02Ch
  1804.  
  1805.         assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
  1806.  
  1807.         public stdin@@GLIBC_2_0
  1808.  
  1809. ; FILE *stdin
  1810.  
  1811. stdin@@GLIBC_2_0 dd ?           ; DATA XREF: main+297r main+2D0r ...
  1812.  
  1813.                     ; Alternative name is 'stdin'
  1814.  
  1815.                     ; Copy of shared data
  1816.  
  1817. completed_7021  db ?            ; DATA XREF: __do_global_dtors_aux+7r
  1818.  
  1819.                     ; __do_global_dtors_aux:loc_8048508w
  1820.  
  1821.         align 4
  1822.  
  1823. dtor_idx_7023   dd ?            ; DATA XREF: __do_global_dtors_aux+10r
  1824.  
  1825.                     ; __do_global_dtors_aux+33w ...
  1826.  
  1827. _bss        ends
  1828.  
  1829.  
  1830.  
  1831. ; ===========================================================================
  1832.  
  1833.  
  1834.  
  1835. ; Segment type: Externs
  1836.  
  1837. ; extern
  1838.  
  1839.         extrn gets@@GLIBC_2_0:near
  1840.  
  1841.         extrn toupper@@GLIBC_2_0:near
  1842.  
  1843.         extrn __libc_start_main@@GLIBC_2_0:near
  1844.  
  1845.         extrn fflush@@GLIBC_2_0:near
  1846.  
  1847.         extrn strlen@@GLIBC_2_0:near
  1848.  
  1849.         extrn printf@@GLIBC_2_0:near
  1850.  
  1851.         extrn malloc@@GLIBC_2_0:near
  1852.  
  1853.         extrn strcmp@@GLIBC_2_0:near
  1854.  
  1855. ; char *gets(char *s)
  1856.  
  1857.         extrn gets:near     ; DATA XREF: .got.plt:off_804A004o
  1858.  
  1859. ; int toupper(int c)
  1860.  
  1861.         extrn toupper:near  ; DATA XREF: .got.plt:off_804A008o
  1862.  
  1863.         extrn __libc_start_main:near ; DATA XREF: .got.plt:off_804A00Co
  1864.  
  1865. ; int fflush(FILE *stream)
  1866.  
  1867.         extrn fflush:near   ; DATA XREF: .got.plt:off_804A010o
  1868.  
  1869. ; size_t strlen(const char *s)
  1870.  
  1871.         extrn strlen:near   ; DATA XREF: .got.plt:off_804A014o
  1872.  
  1873. ; int printf(const char *format, ...)
  1874.  
  1875.         extrn printf:near   ; DATA XREF: .got.plt:off_804A018o
  1876.  
  1877. ; void *malloc(size_t size)
  1878.  
  1879.         extrn malloc:near   ; DATA XREF: .got.plt:off_804A01Co
  1880.  
  1881. ; int strcmp(const char *s1, const char *s2)
  1882.  
  1883.         extrn strcmp:near   ; DATA XREF: .got.plt:off_804A020o
  1884.  
  1885.         extrn __gmon_start__ ; weak ; DATA XREF: .got:__gmon_start___ptro
  1886.  
  1887.                     ; .got.plt:off_804A000o
  1888.  
  1889.         extrn _Jv_RegisterClasses ; weak
  1890.  
  1891.  
  1892.  
  1893. ; ===========================================================================
  1894.  
  1895.  
  1896.  
  1897. ; Segment type: Absolute symbols
  1898.  
  1899. ; abs
  1900.  
  1901.         public __bss_start
  1902.  
  1903. __bss_start = 804A02Ch
  1904.  
  1905.         public _end
  1906.  
  1907. _end        = 804A038h
  1908.  
  1909.         public _edata
  1910.  
  1911. _edata      = 804A02Ch
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.         end _start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement