This should answer a lot of questions that have been around lately.
Hacks are generally divided into two major groups. There are "legit-stat" hacks and then there are hacks that are beyond the normal limits of the game, with either over 510 EVs, moves or abilities that the Pokemon doesn't have, or directly edited stats (like 999-stat Pokemon).
A legit-stat hacked Pokemon is not anything that could not be gotten ingame. Legit stat-hacked Pokemon are usually made as Pokemon to use in battles to save time by not breeding. This is the most commonly accepted method of hacking, and it's the one that this guide will deal with for the most part.
Using Pokesav in combination with ARDS to custom-design competitive Pokemon
First make sure that you've downloaded Pokesav and have the ARDS computer program working, because Pokesav codes are VERY long.
1. Open up Pokesav and click the "Edit" button under the heading "Storage" near the bottom right corner.
It is better to use Storage editing rather than Party because Pokemon in your Party are larger files and there is a better chance of them getting corrupted.
2. Pick the box and slot you want and open the Edit screen.
It should show a large screen with many options related to Pokemon attributes. This is where we start actually designing a Pokemon.
3. Plan ahead.
Deciding what you are making early is the key to making sure you don't skip anything in making the Pokemon as close to real as possible. In this example I will be making a competitive Mewtwo, and I've already decided on my specs:
Mewtwo @ Choice Specs ** Myuutsu
Timid (+Spe -Atk)
EVs: 42 HP / 252 SpA / 216 Spe
IVs: 31 HP / 12 Atk / 30 Def / 31 SpA / 28 SpD / 31 Spe
Game of origin: Fire Red
Game Language: English (ENG)
OT name: Tai
OT gender: Female
Secret ID#: 43723
Met at level: 70
Current level: 100
Met at location: Pal Park
Ball Caught in: Ultra Ball
So now that I have my little checklist, I know what I need to get done to finish making my Mewtwo.
4. Go down your list filling in everything on Pokesav as you go.
The locations of the most important things are labeled here so that you can find everything: clicky
1. Pokemon Species
2. Hold Item
3. ID# and Secret ID#
4. Pokemon Level
5. Pokemon Nickname
6. Original Trainer (OT) Name
7. OT Gender
8. "Attribute." This controls Nature and Gender of the Pokemon, as well as Shinyness
9. Ball caught in.
10. Pokemon Ability
13. Pokemon moves: It is okay not to specify the PP column. Even though the Pokemon will have 0 PP in everything, healing at the Pokemon Center will fix it. The PP Ups column should be set to 3 for max PP.
14. Hometown: This is the game that the Pokemon originally came from, check to make sure that the Pokemon can be from the game you set it to.
15. Language: This should be set to ENG if you're using an English-language game.
16. Met at level and location: The location can be chosen from the drop-down.
17. Date met
18. Egg Location: If the Pokemon is hatched, you must specify where the egg is from and what day you got it. Make sure you didn't get the egg AFTER the met date, because that's the hatch date.
5. Generate the AR code to generate the Pokemon.
Go back to the first Pokesav screen. Choose the last top left option, "AR DS Code Output." Inside of that, on the bottom right, is the storage option under "Pokemon Storage Codes." Set it to the box that you want and check off the box slot that you put it in. This is the location that it will appear when you use the code.
6. Enter the code into your ARDS and make the Pokemon.
Make sure that you have no Pokemon in the slot it's going to show up in, or else that Pokemon will be overwritten. After you've entered the code into your AR (I recommend the ARDS Code Manager application on the computer, these are long) you simply activate it and press L and R at the same time to make the Pokemon show up.
7. Enjoy responsibly.
I do not condone making real-looking Pokemon for the sake of trading them, but I do appreciate that real-looking Pokemon are much better to have and battle with because they make people yell at you less and they also don't hurt anything since they're exactly the same as real ones functionally.
Besides, if you are handy with Pokesav there is no reason to trade hacks, since you can just make whatever you want and do a damn good job, too!
Making hacked Pokemon using Pokesav that work on PBR
Now, when you make a Pokemon for PBR the first consideration is whether you want it to work on Wi-Fi or only in the game. If you only want the Pokemon to work in-game on PBR and not on Wi-Fi, you don't need to worry about anything except part 1.
1. All Pokemon that are imported to PBR must have a legit stat total.
What this means is that if your Pokemon has 255 EVs in every stat or if it has been hacked to have all-999 stats, it will show up as a bad egg. Even one point over the usual 510 EV total will make it a bad egg. When people who don't understand EVs use Pokesav, sometimes they just click the "Max All" button, but you should NEVER do this. If you do, your Pokemon will not show up in PBR at all.
2. If you're using your Pokemon on Wi-Fi, it must not know any moves that it can't usually learn.
A good place to look for learned moves is the Serebii Pokedex, but you can find whatever resources you need. There is a link to this dex at the bottom of this guide. When you're looking up movesets, make sure that you don't use illegal egg move combinations. If you do, chances are it'll still work on PBR Wi-Fi, but it will make people D/C on you if they know that the combo is impossible. A good way to check is to look at the "details" option in the Serebii dex under Egg Moves and see if it's possible for the Pokemon to get both egg moves from one parent.
3. The Pokemon must have an ability that it can actually get.
Pretty much the same as above, if you can't remember which Pokemon have which abilities, check a Pokedex. I am adding the ability lists to the next two posts, but it's sort of just in progress.
4. This is optional, but I prefer it:
Pokemon that are going to be used on Wi-Fi, in my opinion, should look as legit as possible. Especially if you're exchanging friend cards with people. If some little kid gets a copy of your friend card and realizes the Pokemon are hacked, it might really upset them or they might think that it could hurt their game (it can't) so imo it's just being a good Wi-Fi citizen.
Is this Pokemon hacked? Will it hurt my game?
I'd like to take this opportunity to say that NO hacked Pokemon will hurt your game just by being on there. If you accidentally trade for a Pokemon that is hacked, don't panic.
If it bothers you that much, you should release it, but it isn't that big of a deal. If it's a really obvious hack, then obviously you shouldn't go to any Nintendo tournaments with it.
You should, to be cautious, use a different cart than the one that you primarily use AR on (if you use it at all) for Nintendo Events, at least for the tourneys, because they don't really care about the Mystery Gift ones. This is just because there are often little things that you forget to edit or clean up that leave evidence of hacking on your game and also because Nintendo can turn your game back a few saves to see if Pokemon have been spontaneously generated (or at least they could in Ru/Sa). Of course this may be erring on the side of caution, but a lot of people have both Diamond and Pearl anyways. I personally use my AR only on my main file (Diamond) but not on Pearl so that if there's an event I can just trade my team to my Pearl version and battle with that.
There are ways to check to see if a Pokemon is legit, but most of the more accurate ones require an R4 device. All the average person can do is look for sloppy mistakes that the person made in creating it, but you should be warned that most people do not make mistakes doing this.
Serebii dex link: http://www.serebii.net/pokedex-dp/
Sorry if this isn't allowed, but I figured since it's a guide it can go outside of the hacking discussion. Correct me if I'm wrong.
Also please don't debate the ethics of "cheating" on this thread, it is only meant to be a resource.