Re: Searching for an assembly guru

From: Natalia Portillo <claunia_at_email.domain.hidden>
Date: Sun, 16 Apr 2017 23:30:23 +0100

Hi David,

I tried XADMaster implementation and got the same result as libdc42's.

Please send me your WIP code to check.

It is to note, that the exact failure, only appears under certain circumstances.

DART compresses in runs of several sectors. When a big part of that buffer (more or less 2 and a half sectors), contains the same byte, that is where libdc42 generates garbage and destroys the whole run of sectors.

On a disk that's almost empty, this will never be a problem (but the decompressed image will be incorrect).
On a disk that's almost full, this will never be a problem (not enough compressable data may be found).

I have created several test DART images, using real hardware, to cause this bug to happen. Also created DC42 of the same disks to be able to compare for correctness.

Regards,
Natalia Portillo

On 16/04/17 23:22, David Ryskalczyk wrote:

> A while back I started writing a DART to DC42 converter to add to The Unarchiver. DART's algorithm is used by another old Mac compression format but I forget which off the top of my head. That said the implementation in The Unarchiver / XADMaster is solid and does not have these bugs and my converter worked but I hadn't finished polishing it up for submission.
> 
> I can post my WIP code somewhere tomorrow.
> 
> David
> 

>> On Apr 16, 2017, at 18:15, Natalia Portillo <claunia_at_email.domain.hidden> wrote:
>>
>> Hi all,
>>
>> Ray and I have tried to reverse engineer the DART compression format
>> (miscalled LZW).
>>
>> After several tries, the most promising implementation is what Ray
>> already had in libdc42.c, yet, it is incorrect, overflowing the buffer
>> in some conditions (very compressable data) generating garbage output on
>> decompression.
>>
>> Thankfully Apple has maintained the algorithm so there are several ways
>> to reverse engineer their own code, in classic Mac OS as 68k and PowerPc
>> code, or in Mac OS X as PowerPC, i386 and x86_64 code.
>>
>> However, Ray lacks the time, and I lack the assembly knowledge, to do
>> this feat.
>>
>> That's while I'm searching for help, in someone with the abilities, to
>> create a correct reverse engineering, that can be used in GPL/BSD code
>> in C for Ray's libdc42 and C# for my DiscImageChef.
>>
>> I'm asking in the LisaList because, basically, DART has been mostly used
>> with Lisa disks, because of its tags support.
>>
>> So if you have the knowledge, or know who may have it, please, give us
>> our help.
>>
>> Regards,
>> Natalia Portillo
>>
>> P.S.: You don't need to have disassembling experience, I have already
>> disassembled DiskCopy 6.1 and DiskImages.Framework.
>>
>> --
>> --
>> -----
>> You received this message because you are a member of the LisaList group.
>> The group FAQ is at http://lowendmac.com/lists/lisa.html
>> To post to this group, send email to lisalist_at_email.domain.hidden
>> To leave this group, send email to lisalist+unsubscribe_at_email.domain.hidden
>> For more options, visit this group at http://groups.google.com/group/lisalist
>> ---
>> You received this message because you are subscribed to the Google Groups "LisaList" group.
>> To unsubscribe from this group and stop receiving emails from it, send an email to lisalist+unsubscribe_at_googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>
-- 
-- 
-----
You received this message because you are a member of the LisaList group.
The group FAQ is at http://lowendmac.com/lists/lisa.html
To post to this group, send email to lisalist_at_email.domain.hidden
To leave this group, send email to lisalist+unsubscribe_at_email.domain.hidden
For more options, visit this group at http://groups.google.com/group/lisalist
--- 
You received this message because you are subscribed to the Google Groups "LisaList" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lisalist+unsubscribe_at_googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Received on 2017-04-18 10:26:24

This archive was generated by hypermail 2.4.0 : 2020-01-13 12:15:17 EST