When I append data to the end of an EXE, I always just count backwards from the length of the data.
For example, I have a CSV text file. I’d open the EXE, append the data to the end of it, and then write the length of that file as a 4-byte long.
Then, when I need to read that file, I read the last 4 bytes to get the size, then back up that length from the end, and get the data.
GET #1, LOF(1) - 4, data_length
File_data$ = SPACE$(data_length)
GET #1, LOF(1) - 4 - data_length, file_data$
Another file would just go after, with its length after that, until I stored all the files I wanted attached to the EXE.