I'm curious why you are not able to move to a new version. I'm also curious why obfuscating the code is a requirement.
Both of these requirements are exceedingly rare so I think we need to understand what the situation is that leads to these requirements so that we can evaluate reasonably.

