I am posting this because I found hundreds of different instructional posts about this and none of them were correct. Here is a functional guide.
I bought these keys on ebay for less than 40$
2 New Uncut Flip Key Pair Remote Keyless Entry Fob Clicker For 4D0837231E
I found many posts on many forums stating that the trunk release wouldn't work on my car. Incorrect. Here is my programming guide.
The first thing that needs to be done is temporarily number the fobs. This is because they are tied to the seat memory. (if you open with fob 1 and the 1 position is programmed in the seat computer, the seat goes to p1. likewise for fob2/key2)
You really need two keys to do this but I didn't want to cut the blades before testing the keyless so I removed the door panel and found the two wires for lock and unlock. They are the middle two wires on the plug going to the lock assembly. (Green/blue stripe and brown/yellow stripe) One being lock and the other unlock. You just need a grounded wire and to remove that plug and jump. This allows you to leave your working key in the ignition if you only have one.
Here are the actual steps
1:With the doors unlocked, turn the ignition to run (not start)
2:lock the doors with the second key (or grounding wire) note: you do not need to hold in the lock position. Just locking it with the key in puts you in programming mode.
3: take the fob labeled 1 and press lock once (Lights will blink)
4:Wait 10 seconds and unlock then lock the doors
5:Press unlock on fob 1 (doors should unlock)
6:Open door remove key
To program fob two follow the exact procedure above EXCEPT!!!
Modified step 3:take the fob labeled 2 and press lock twice (Lights will blink 2 times)
You can have up to 4 fobs. There are 4 positions in the computer so fob three would be 3 presses and 4 would be 4. (note: 5 presses erases that fob from memory)