I have never used it as a seller, but I’d consider Gumroad.
https://gumroad.com
That should allow you to effectively have a paywall, as you mentioned: someone can download the software only after paying. I’d also consider not adding DRM to it. In the end, you’re probably going to waste more time with it than the money it’ll save you, only to be cracked anyway. Perhaps consider making it free for countries with a large cracking culture, so they have no reason to do it.
https://news.ycombinator.com/item?id=27184692
What I probably wouldn’t do is implement the online verification, for something which only works offline. It’s as a selling point that your software never accesses the web. And again, the effort is probably not worth it.