.text:00000000 ; .text:00000000 ; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» .text:00000000 ; º This file is generated by The Interactive Disassembler (IDA) º .text:00000000 ; º Copyright (c) 2006 by DataRescue sa/nv, º .text:00000000 ; º Licensed to: University of Wisconsin, 5 users std, edu, 09/2004 º .text:00000000 ; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ .text:00000000 ; .text:00000000 ; File Name : C:\working\TSL\analyzer\TSLFiles\DASH\regression\longjmp\jmp.obj .text:00000000 ; Format : COFF (X386MAGIC) .text:00000000 ; includelib "LIBCMT" .text:00000000 ; includelib "OLDNAMES"" .text:00000000 .text:00000000 .686p .text:00000000 .mmx .text:00000000 .model flat .text:00000000 .text:00000000 ; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ .text:00000000 .text:00000000 ; Segment type: Pure code .text:00000000 _text segment para public 'CODE' use32 .text:00000000 assume cs:_text .text:00000000 assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing .text:00000000 .text:00000000 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000000 .text:00000000 .text:00000000 public _csurf_replace_setjmp .text:00000000 _csurf_replace_setjmp proc near ; CODE XREF: _main+11p .text:00000000 .text:00000000 arg_0 = dword ptr 4 .text:00000000 .text:00000000 mov edx, [esp+arg_0] .text:00000004 mov eax, [esp+0] .text:00000007 mov [edx+14h], eax .text:0000000A mov [edx], ebp .text:0000000C mov [edx+4], ebx .text:0000000F mov [edx+8], edi .text:00000012 mov [edx+0Ch], esi .text:00000015 mov [edx+10h], esp .text:00000018 xor eax, eax .text:0000001A retn .text:0000001A _csurf_replace_setjmp endp .text:0000001A .text:0000001A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000001B align 10h .text:00000020 .text:00000020 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000020 .text:00000020 .text:00000020 public _csurf_replace_longjmp .text:00000020 _csurf_replace_longjmp proc near ; CODE XREF: _first+Ap .text:00000020 .text:00000020 arg_0 = dword ptr 4 .text:00000020 arg_4 = dword ptr 8 .text:00000020 .text:00000020 mov edx, [esp+arg_0] .text:00000024 mov eax, [esp+arg_4] .text:00000028 mov esp, [edx+10h] .text:0000002B mov ebx, [edx+14h] .text:0000002E mov [esp+0], ebx .text:00000031 mov ebp, [edx] .text:00000033 mov ebx, [edx+4] .text:00000036 mov edi, [edx+8] .text:00000039 mov esi, [edx+0Ch] .text:0000003C retn .text:0000003C _csurf_replace_longjmp endp .text:0000003C .text:0000003C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000003D align 10h .text:00000040 .text:00000040 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000040 .text:00000040 ; Attributes: bp-based frame .text:00000040 .text:00000040 public _first .text:00000040 _first proc near ; CODE XREF: _main+1Dp .text:00000040 push ebp .text:00000041 mov ebp, esp .text:00000043 push 1 .text:00000045 push offset _buf .text:0000004A call _csurf_replace_longjmp .text:0000004F add esp, 8 .text:00000052 pop ebp .text:00000053 retn .text:00000053 _first endp .text:00000053 .text:00000053 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000054 align 10h .text:00000060 .text:00000060 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000060 .text:00000060 ; Attributes: bp-based frame .text:00000060 .text:00000060 public _main .text:00000060 _main proc near .text:00000060 .text:00000060 var_4 = dword ptr -4 .text:00000060 .text:00000060 push ebp .text:00000061 mov ebp, esp .text:00000063 push ecx .text:00000064 cmp [ebp+var_4], 0 .text:00000068 jnz short loc_6C .text:0000006A jmp short loc_9E .text:0000006C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000006C .text:0000006C loc_6C: ; CODE XREF: _main+8j .text:0000006C push offset _buf .text:00000071 call _csurf_replace_setjmp .text:00000076 add esp, 4 .text:00000079 test eax, eax .text:0000007B jnz short loc_84 .text:0000007D call _first .text:00000082 jmp short loc_8D .text:00000084 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000084 .text:00000084 loc_84: ; CODE XREF: _main+1Bj .text:00000084 mov eax, [ebp+var_4] .text:00000087 add eax, 1 .text:0000008A mov [ebp+var_4], eax .text:0000008D .text:0000008D loc_8D: ; CODE XREF: _main+22j .text:0000008D cmp [ebp+var_4], 0 .text:00000091 jnz short loc_98 .text:00000093 cmp eax, 2A10h .text:00000098 .text:00000098 loc_98: ; CODE XREF: _main+31j .text:00000098 xor eax, eax .text:0000009A jmp short loc_A0 .text:0000009C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000009C jmp short loc_A0 .text:0000009E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000009E .text:0000009E loc_9E: ; CODE XREF: _main+Aj .text:0000009E xor eax, eax .text:000000A0 .text:000000A0 loc_A0: ; CODE XREF: _main+3Aj .text:000000A0 ; _main+3Cj .text:000000A0 mov esp, ebp .text:000000A2 pop ebp .text:000000A3 retn .text:000000A3 _main endp .text:000000A3 .text:000000A3 _text ends .text:000000A3 .bss:000000A4 ; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ .bss:000000A4 .bss:000000A4 ; Segment type: Uninitialized .bss:000000A4 _bss segment dword public 'BSS' use32 .bss:000000A4 assume cs:_bss .bss:000000A4 ;org 0A4h .bss:000000A4 assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing .bss:000000A4 _buf dd 6 dup(?) ; DATA XREF: _first+5o .bss:000000A4 ; _main:loc_6Co .bss:000000A4 _bss ends .bss:000000A4 UNDEF:000000C0 ; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ UNDEF:000000C0 UNDEF:000000C0 ; Segment type: Externs UNDEF:000000C0 ; UNDEF UNDEF:000000C0 extrn _x:near UNDEF:000000C0 UNDEF:000000C0 UNDEF:000000C0 end