0
我試圖停止(或至少檢測)其他程序注入我的。這裏是他們是如何做的:檢測VirtualMachine.attach()/ virtualMachine.loadAgent
VirtualMachineDescriptor vmd = /* my program */;
VirtalMachine vm = VirtualMachine.attach(vmd);
vm.loadAgent(new File('custom-jar.jar')); /* their modified code */
vm.detach();
是的,它是爲了防止在遊戲中作弊。我知道這很容易繞過,但我的玩家正在使用免費的公共祕籍 - 我只想保護這些已知的公共節目。 – jaym
如果您不在JVM的控制之下,一切皆有可能。即使你編寫代碼試圖打破這些代理......你如何防止寫入其他類型的代理來破壞你的新代碼?人們會在操作JVM時阻止它在啓動過程中已經被入侵?我想大遊戲公司在他們自己的**服務器上運行遊戲是有原因的。如果您的遊戲的所有重要方面「僅存在於」您的客戶擁有的系統上......從長遠來看,沒有辦法阻止作弊。 – GhostCat
我知道從長遠來看這並不會阻止它,但它會阻止我的大部分用戶羣 - 因爲創建這些作弊的人不會安裝包含此代碼的我的mod。 – jaym