Mining software and miners verifications and how accept transactions I'm looking how the mining software works and how miners can verify the transactions and how they can accept transactions or not, and I have some questions:

What software use miners to accept transactions when they find a block, their mining software or the Bitcoin client software?

I'm searching information about Bitcoin and I don't know how miners can verify transactions, but I read here that miners that find a block can accept the transdactions that they want, but if they are "bad" or "malicious" miners, they can accept invalid transactions (double spending transactions). When this "bad" or "malicious" miner accepts the transaction this validation is broadcasted over the network to be confirmated?

Sorry for my english. If someone don't understand something of you need to explain more some questions, please reply me.

Thanks
There are many approaches to mining.  

The leading approach nowadays is to use Getblocktemplate.  The wiki page for that includes a relatively easy to understand example. 

There is an implementation in Python called python-blkmaker.