Open HimbeersaftLP opened 7 years ago
If anyone finds it necessary, I will add an option in the virion framework to obfuscate the library class names.
down this horrible rabbit hole we go i guess :man_facepalming: is there any like better way(s) to ensure it's PMMP? think like using getupdater in server often breaks in specter if it's not PMMP
genisyspro is cancer you guys are reading this don't you genisys is a spoon just admit it
also don't let them read this
If anyone finds it necessary, I will add an option in the virion framework to obfuscate the library class names
Yeah, also had a similar idea
$temp_file = tempnam(sys_get_temp_dir(),'');
$class = 'return new class
{
public function getServerName(Server $server) { return $server->getName(); }
};';
file_put_contents($temp_file,$class);
$class = include_once $temp_file;
$name = $class->getServerName(Server::getInstance());
seen My Fork of SpoonDetector might or might not be a good idea, the classname still vulnerable
worst case is to ask plugin to provide server's name
@dktapps suggested verifying the signature of the server.
That would require us to actually sign production phars of course, and it would also mean that source-code installations would be problematic.
I will release a fix when I get a chance.
The most easy way it to ask the plugin to pass the server name fool proof since the caller will be the plugin and WITHOUT a hacky mess of dealing with obfuscation tactics like if you want bypass, just give the servername or else it would do the normal Server::getName() by getting instance Like try not to waste too much effort on spoons
Then you are forcing them to return PocketMine-MP.
First of all, what's the purpose of the Server::getName() method?
In all honesty this project is a waste of time (no offence intended). My stance is: if my code works on your server, good for you - if it doesn't, gtfo my issue tracker, close & lock.
@DerddyDert @CortexPE I would like to clarify that SpoonDetector is not intend to stop people from using spoons. It is simply a stronger reminder that the plugin doesn't officially support using spoons. If you read the words printed by SpoonDetector, it even provides a non hacky way to load the plugin in spoon servers. SpoonDetector is purely something like a license agreement and does not comprise any hatred against spoon servers. You are killing the purpose of the Server::getName() by doing that.
@SOF3 My thinking is Spoon maintainers are too vain to ever change getName to return PocketMine. If they do, I will do analysis on other changes they have made to files.
maybe just force it on everyone? ultimately we soon enough will realize it's just lost of productivity for both sides because there's no good ways to know so we might as well just make a new addon called agreement, which forces you to say "agree" after the ? in a text file for the plugin to even run/function
i also have asked derddy to make that bypass a "OFF" by default option
like originally this thing was made to stop people using 3rd spoons flooding into the issues section which ware dedicated to pmmp, OR trying prevent trying to help someone for few good hour only to notice they are not using PMMP to begin with
I came up with what I think is a pretty good solution for now and is hard to circumvent. I haven't tested it yet, but the basic idea is there. I am keeping everything in one class for ease of installation. See 59e46b6053e0ade70a7115adae35e637c0f56a8f
https://github.com/GenisysPro/GenisysPro/pull/821