The whole system is enormously complex, with rules which make no sense at all. You can hide where money came from by having a PAC collect it and then give it to the candidate, or by having a PAC spend money directly on ads against your opponent while the campaign spends its money for its candidate. There are strict limits on what corporations and individuals can give the candidates, but they can give huge amounts to PACs and that gets around the restrictions. Or you can just have all your employees and relatives give the maximum amount until it adds up to millions.
All of this is ostensibly to try to make elections more fair, but all it really does is give an edge to those who know how to use the loopholes and game the system. The Supreme Court has already ruled that a campaign contribution is essentially free speech, so why not just scrap the entire burdensome mess and take that to its logical extreme and really make the system free and open?
Let people and businesses and groups and PACs and unions and anyone else spend all the money they want for any cause or candidate they like, directly or indirectly. You may complain that this means they can "buy" an election, but the truth is that one way or another they can already get around the restrictions, and with PACs in the game the federal restrictions actually limit small donors more than they limit big groups or corporations.
There should be just one restriction. All donations should be public. You have a right to free speech, but you don't have a right to that speech being private if it's in the form of money being spent in a public election. All candidates and all PACs and any other group financing campaigns or political activism should be require to publicly disclose all of their donors on their web site with contact information so that anyone can research them. If the money came from a PAC or a group, that organization should be required to provide its sources as well, so that no matter how many hands the money goes through, it's all accessible for those willing to do the research.