Changeset 1596
- Timestamp:
- 03/06/08 21:05:47 (6 months ago)
- Files:
-
- libemu/trunk/testsuite/sctest.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
libemu/trunk/testsuite/sctest.c
r1551 r1596 97 97 unsigned char *scode; 98 98 uint32_t size; 99 uint32_t offset;99 int offset; 100 100 char *profile_file; 101 101 } opts; … … 2117 2117 2118 2118 if ( (opts.offset = emu_shellcode_test(e, (uint8_t *)opts.scode, opts.size)) >= 0 ) 2119 printf( SUCCESS"\n");2119 printf("%s offset = 0x%08x\n",SUCCESS, opts.offset); 2120 2120 else 2121 2121 printf(FAILED"\n"); … … 2275 2275 2276 2276 /* set eip to the code */ 2277 emu_cpu_eip_set(emu_cpu_get(e), static_offset );2277 emu_cpu_eip_set(emu_cpu_get(e), static_offset + opts.offset); 2278 2278 2279 2279 emu_cpu_reg32_set(emu_cpu_get(e), esp, 0x0012fe98); 2280 2280 2281 free(opts.scode);2281 // free(opts.scode); 2282 2282 2283 2283 return 0; … … 2286 2286 int prepare_from_stdin(struct emu *e) 2287 2287 { 2288 if (opts.size != 0)2288 if (opts.size == 0) 2289 2289 prepare_from_stdin_read(); 2290 2290 … … 2333 2333 emu_cpu_eip_set(emu_cpu_get(e), static_offset + opts.offset); 2334 2334 2335 opts.scode = (unsigned char *) tests[i].code; 2336 opts.size = tests[i].codesize; 2335 if ( opts.scode == 0 ) 2336 { 2337 opts.scode = malloc(tests[i].codesize); 2338 memcpy(opts.scode, tests[i].code, tests[i].codesize); 2339 opts.size = tests[i].codesize; 2340 } 2337 2341 return 0; 2338 2342 } … … 2551 2555 free(opts.profile_file); 2552 2556 2557 if (opts.scode) 2558 free(opts.scode); 2559 2553 2560 return 0; 2554 2561 }
