root / trunk / data / dmg2img / offset.diff

Revision 46, 0.8 kB (checked in by saurik, 10 months ago)

Added dmg2img, with fixes for getting good data out of multi-partition compressed images.

  • dmg2img.c

    diff -ru dmg2img/dmg2img.c dmg2img+iPhone/dmg2img.c
    old new  
    180180    if (verbose) 
    181181        printf("decompressing:\n"); 
    182182 
     183    in_offs = 0; 
    183184    percent = 0.0; 
    184     for (i = 0; i < partnum; i++) { 
     185    for (i = 0; i < partnum && in_offs != addr; i++) { 
    185186        if (verbose) 
    186187            printf("opening partition %d ...",i); 
    187188        if (verbose>=3) 
     
    199200            out_size = convert_char4(parts[i]+offset+20)*0x200; 
    200201            in_offs = convert_char4(parts[i]+offset+28); 
    201202            in_size = convert_char4(parts[i]+offset+36); 
     203            fseek(FOUT, out_offs, SEEK_SET); 
    202204            if (out_size!=0) { 
    203205               if (block_type == BT_ZLIB) { 
    204206                   if (verbose>=3) 
Note: See TracBrowser for help on using the browser.