Ну по классике пройтись по коду и убрать все комментарии, переименовать все переменные во что-то не связанное и не читаемое, сбить отступы, изменить названия файлов в исходном коде. Так же вычитал идею, при которой весь код шифруется неким хорошим алгоритмом, а сам ключ как-нибудь хитро спрятать в самом исходном коде. Ну и при запуске сам себя бы код расшифровывал. Но тут конечно хорошо подумать нужно + конечно же это ударит по времени запуска этого кода. Примерно то, что вспомнил пока что