Mawile can be found in Victory Road, but Lunatone is impossible to obtain through normal gameplay without trading with another game.
However, if you want to dive into the extremely complex Glitzer Popping glitch, then you can obtain any Pokémon in Emerald. Long story short, by really messing with your game, you can corrupt Pokémon to become an egg that will hatch into any Pokémon you want, including Legendaries and evolved Pokémon, all without any third-party software. Although, due to the nature of this glitch, any Pokémon obtained through it would be illegal for online use should you decide to transfer them up to Gens 6 or 7.
This video demonstrates the specifics for how to preform the glitch.