Add more magic to find the start of the nametable.
This commit is contained in:
parent
d3cab1857a
commit
61fc6f8cd3
|
@ -2920,11 +2920,25 @@ static ITypeLib2* ITypeLib2_Constructor_SLTG(LPVOID pLib, DWORD dwTLBLength)
|
||||||
/* Skip this WORD and get the next DWORD */
|
/* Skip this WORD and get the next DWORD */
|
||||||
len = *(DWORD*)(pAfterOTIBlks + 2);
|
len = *(DWORD*)(pAfterOTIBlks + 2);
|
||||||
|
|
||||||
/* Now add this to pLibBLk and then add 0x216, sprinkle a bit a
|
/* Now add this to pLibBLk look at what we're pointing at and
|
||||||
magic dust and we should be pointing at the beginning of the name
|
possibly add 0x20, then add 0x216, sprinkle a bit a magic
|
||||||
|
dust and we should be pointing at the beginning of the name
|
||||||
table */
|
table */
|
||||||
|
|
||||||
pNameTable = (char*)pLibBlk + len + 0x216;
|
pNameTable = (char*)pLibBlk + len;
|
||||||
|
|
||||||
|
switch(*(WORD*)pNameTable) {
|
||||||
|
case 0xffff:
|
||||||
|
break;
|
||||||
|
case 0x0200:
|
||||||
|
pNameTable += 0x20;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
FIXME("pNameTable jump = %x\n", *(WORD*)pNameTable);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
pNameTable += 0x216;
|
||||||
|
|
||||||
pNameTable += 2;
|
pNameTable += 2;
|
||||||
|
|
||||||
|
|
|
@ -303,7 +303,7 @@ typedef struct {
|
||||||
#define SLTG_DIR_MAGIC "dir"
|
#define SLTG_DIR_MAGIC "dir"
|
||||||
|
|
||||||
/* Next we have SLTG_Header.nrOfFileBlks - 2 of Index strings. These
|
/* Next we have SLTG_Header.nrOfFileBlks - 2 of Index strings. These
|
||||||
are persumbably unique to within the file and look something like
|
are presumably unique to within the file and look something like
|
||||||
"AAAAAAAAAA" with the first character incremented from 'A' to ensure
|
"AAAAAAAAAA" with the first character incremented from 'A' to ensure
|
||||||
uniqueness. I guess successive chars increment when we need to wrap
|
uniqueness. I guess successive chars increment when we need to wrap
|
||||||
the first one. */
|
the first one. */
|
||||||
|
|
Loading…
Reference in New Issue