Two issues. Your taxes and quitting.
...it's been more than 5 months of overtime money that has not been paid
and there are no benefits whatsoever, sometimes the salary can be
late.
[...]
And I did not sign any contract when I was told that I was a permanent
employee, only verbal statements and congratulations.
If you are in the United States, you need to make sure your employer is paying all of your taxes, including unemployment and social security taxes. This can easily be done by looking at your pay stubs, and/or calling one of the relevant government agencies.
If your employer is not withholding or paying its share of your taxes, you will be liable for your own taxes as an independent contractor. Do not bury your head in the sand. This is extremely important information for you to have because you'll need to put that money aside to pay your taxes if your employer doesn't.
If your employer has lied to you about your employment status and hasn't been paying your taxes, you need to establish a paper trail that they've told you that you were a full-time employee since a particular date. This should be relatively easy to do, because supposedly, they still need to keep you working and they do not want to upset you.
For that, you need to stop communicating verbally and put everything in writing. You need to send an email memorializing the fact that they told you that you were a permanent full-time employee starting a particular date, but that you've verified your taxes and that your employer hasn't been paying them yet/withholding yet. This email needs to be sent to everyone that matters in your company. Your manager, HR, payroll, etc. And you need to print it out and keep a copy of it and any response you receive at your domicile.
Make your request in writing, if nothing comes of it, issue a written ultimatum, take a vacation, turn off your phone, do not answer your door, do not even stay home, and do not write a single additional line of code until this situation gets resolved and you're made a full-time employee retroactively. Once that's done, demand the same for any overtime or unpaid wages. Memorialize in writing what they owe you. Make sure they acknowledge their debt towards you in writing. Once you have that back and forth paper trail established, then it becomes relatively easy to get paid what you're owed if you push them a little, or if you make a complaint to the US Department of Labor in your State (again, that's assuming you live and work in the US).
And once those two situations get resolved, or at least until those two situations get acknowledged, then. Then quit. In fact, you should use that little ultimatum-vacation in the meantime (I told you to take at the beginning) to look for another job. But my point is, do not tell them that you're planning to quit until every issue is resolved first. Once you say you're going to quit, you lose all your leverage to normalize those situations. So when you do look for another job. Keep a very low profile initially. Do not go through 3rd party recruiters unless they've been recommended to you. Only give out your resume to people you trust. And create a separate gmail account and use Google Voice as the only phone number you give out.
Can I try to apply for a new job?
Yes, you must! This employer is god awful. Not to mention, this project will likely never end. The only reason you're still working for them is probably the Stockholm syndrome. Ideally, you need to look for another employer before you quit, but since you're doing so much overtime, you may not have enough energy/time to look for another employer. In that case, just make sure you have enough money in front of you and quit anyway.