Maybe (if it's not copyright-protected), but it's impossible. Reverse engineering is very difficult. You'll have tons of trouble cracking a program, let alone rebuilding its source. But if you could do that (which is impossible as I said) you probably have the means to create better software yourself.
Thank you for the answer! Yes, I learned a bit of reengineering and reverse engineering (reflection, disassemblers, hexadumps....) (:
Additional questions are:
Is it better to start off from an open-source project or to work from basics?
What is the protection against if someone cracks your product and releases it as open-source or sells as his own?
Everything is a question of lisence. You can release your project as closed source or open source, you just need to justify the lisence applied.
Github doesn't hold only MIT projects.
Reverse engeneering is really hard to perform and it all depends on the language you use, i know that once you have compiled a C++ project (or nay other C) it is almost impossible to reverce it. If you don't strip the debuging tags, one can reverse it using a tool like clang.
For the other languages, it all depends on how you release, code, protect your project. You can apply for some tools who provide lisencing distribution model, like you release a trial version of your software, and thne people buy lisence to use it fully and so one ...