Changeset 1359

Show
Ignore:
Timestamp:
08/24/07 01:00:48 (1 year ago)
Author:
common
Message:

libemu

  • sctest change getpc offset handling
  • emu_shellcode at least 100 steps for positive _test()
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • libemu/trunk/src/emu_shellcode.c

    r1342 r1359  
    432432        struct emu_stats *es = (struct emu_stats *)eli->data; 
    433433 
    434         offset = es->eip; 
     434        if ( es->cpu.steps > 100 ) 
     435        { 
     436                offset = es->eip; 
     437        } 
     438        else 
     439        { 
     440                offset = -1; 
     441        } 
    435442 
    436443        for (eli = emu_list_first(results); !emu_list_attail(eli); eli = emu_list_next(eli)) 
  • libemu/trunk/testsuite/sctest.c

    r1344 r1359  
    7878        unsigned char *scode; 
    7979        uint32_t size; 
     80        uint32_t offset; 
    8081} opts; 
    8182 
     
    16621663 
    16631664                /* set eip to the code */ 
    1664                 emu_cpu_eip_set(emu_cpu_get(e), static_offset); 
     1665                emu_cpu_eip_set(emu_cpu_get(e), static_offset + opts.offset); 
    16651666 
    16661667                /* run the code */ 
     
    20522053                }else 
    20532054                { 
    2054                         uint32_t off; 
     2055                        int32_t off; 
    20552056                        if ( (off = emu_shellcode_test(e, (uint8_t *)opts.scode, opts.size)) >= 0 ) 
    20562057                        { 
    20572058                                printf(SUCCESS"\n"); 
    2058                                 opts.scode += off; 
    2059                                 opts.size -= off; 
     2059                                opts.offset = off; 
    20602060                                test(n); 
    20612061                        } 
     
    21472147        opts.steps = 1; 
    21482148        opts.testnumber = -1; 
     2149        opts.offset = 0; 
    21492150 
    21502151        while ( 1 )