Então amigo. isso ja parte para area de programação os Offsets são endereços de memoria de cada função do GS, no caso do Main.
Existe o Main PAcked e Unpacked,
Packed é um processo que é feito para proteger o main, e assim tornar mais dificiu a vida de quem quer crackear ou adicionar funcões que originalmente não existem nesse main.
Resumindo Main Packe é o main protegido, e UnPacked é quando é removida essa proteção.
O OFfsets serve para poder programar funcoes novas ou ate mesmo reescrever uma função que ja existe no main, o programador acha esse offset e Hook ele na source fazendo com que o main passe a ler o que esta na dll criada pelo programador e não no proprio main, desta forma se cria as novas funcoes, assim como corrigir funções originais com erro.
Tal exemplo é os novos itens e asas, eventos, HPBar por ai vai.