From: Thorsten O. <ad...@th...> - 2025-01-23 12:21:14
|
Ghidra seems to have problems detecting accesses to arrays inside a structure. Eg. the code d->g_ismask[(int16_t) d->iconaddr[i].ib_pmask] = TRUE; is compiled by Alcyon to The variable d is a pointer to THEDSK (in the assembly in a5), and i is in d5. 0x22 is sizeof(ICONBLK), the elements of the iconaddr array. 0x721c is the offset to the iconaddr array in that structure, and happens to also be the absolute value of the bss variable W_ACTIVE. 0x73b4 is the offset to the g_ismask array. The decompiler also produces nonsense: |