Jump to content

DllStruct weirdness


Recommended Posts

Can anyone say if this struct string is correct or incorrect. I'm getting @error=1;

dword lfhSignature;word lfhVersionNeeded;word lfhGeneralPurposeFlag;word lfhCompressionMethod;word lfhDOSTime;word lfhDOSDate;dword lfhCRC32;dword lfhCompressedSize;dword lfhUncompressedSize;word lfhFileNameLength;word lfhExtraFieldLength;char lfhFileName[19];byte[520] lfhExtraField;byte[370] lfhCompressedData

However, if I omit the last 2 the structure is created;

dword lfhSignature;word lfhVersionNeeded;word lfhGeneralPurposeFlag;word lfhCompressionMethod;word lfhDOSTime;word lfhDOSDate;dword lfhCRC32;dword lfhCompressedSize;dword lfhUncompressedSize;word lfhFileNameLength;word lfhExtraFieldLength;char lfhFileName[19]

But it is not consistent as it seems to jump a few bytes back and forth around lfhCRC32. This code is part of a larger zip analyzer and this specific part is looping through the file header signatures. During each loop, the file is reread (not sure if necessary though), and using _WinAPI_SetFilePointer to specify each new signature offset (verified to be correctly determined). The values for lfhFileName, lfhExtraField and lfhCompressedData is calculated beforehand (also verified to be correct). Any ideas?

The same logic is used to generate Central Directory structure, and that works..

Joakim

Link to comment
Share on other sites

dword lfhSignature;
word  lfhVersionNeeded;
word  lfhGeneralPurposeFlag;
word  lfhCompressionMethod;
word  lfhDOSTime;
word  lfhDOSDate;
dword lfhCRC32;
dword lfhCompressedSize;
dword lfhUncompressedSize;
word  lfhFileNameLength;
word  lfhExtraFieldLength;
char  lfhFileName[19];
byte  lfhExtraField[520];
byte  lfhCompressedData[370];

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...