Kinda, not really though.
To vastly oversimplify, each pack (and every item in the game, for that matter) has a unique ID that look something like this: "3B97DA19EA683D34EDA8AA78048A4C1A" (that's my behemoth!). There are billions and billions of these. No big deal, since they're pretty small.
When you get a pack, you're being given a unique item with one of those IDs. That ID, in turn, points to a static bit of data describing all of the pack's properties (it's name, art images, etc). That definition, in turn, refers to a static treasure table, which contain its possible rewards. A uncommon pack points to a uncommon unit treasure table for that faction while a rare pack points to a rare unit treasure table for that faction.
When you open the pack, that treasure table is then rolled against to decide what units you'll get from it.
That make sense?