Protecting distributed programs or content