Короче, нет. По определению, если они могут его скомпилировать, то у них есть ваш источник. Лучшее, что вы можете сделать, это усилить боль, которую они пытаются понять.
Я согласен с Джоном. Если у вас есть небольшое количество клиентов и вы им доверяете, NDA будет лучшим путем.
Еще одна вещь, о которой я только что подумал ... как насчет запуска препроцессора и компилятора, но не ассемблера и компоновщика? Вам понадобится копия для каждого языка ассемблера каждой конкретной архитектуры, но я предполагаю, что это будет достаточно болезненно, чтобы отговорить редактирование и достаточно легко будет скомпилировать.