Rumor 2607 Posted February 3, 2014 Share Posted February 3, 2014 A player can use a python cheat or client extractor by putting their python script in the game directory and naming it "loginInfo.py". This will detour the player from doing so. 1. Unpack your root archive. 2. Edit the file "intrologin.py". 3. Find this line: self.__LoadLoginInfo("loginInfo.py")4. Replace the entire line with this: if not os.path.exists('logininfo.py') and not os.path.isfile('logininfo.py'): self.__LoadLoginInfo("loginInfo.py") else: dbg.LogBox('Ah so you want to try to extract the client?n' 'Or maybe you want to run your favorite cheat?n' 'Not gonna happen...n' 'It seems I have already thought of this.n' 'I am ATLEAST one step ahead of you...n' '------------------------------------------------n' 'n' "TRY HARDER BRO") exception.Abort("Unsupported file, please delete it. (TRY HARDER BRO)") # Syserr.txt returnYou can of-course change the message to whatever you like. "/n" denotes a line break. Here's what it looks like when someone tries to use this bug after you've added the protection: 2 1 16 Link to comment Share on other sites More sharing options...
nostradame37 1 Posted February 3, 2014 Share Posted February 3, 2014 If its work N1 thanks Link to comment Share on other sites More sharing options...
Developer PACI 921 Posted February 3, 2014 Developer Share Posted February 3, 2014 Very nice but I prefer to use an os.remove('loginInfo.py') to troll them ahaha xD 8 when you return 0 and server doesn't boot: Link to comment Share on other sites More sharing options...
Mehti 76 Posted February 5, 2014 Share Posted February 5, 2014 Thanks roman Link to comment Share on other sites More sharing options...
MORTE 78 Posted July 6, 2014 Share Posted July 6, 2014 (edited) if not os.path.exists('logininfo.py') and not os.path.isfile('logininfo.py'): self.__LoadLoginInfo("loginInfo.py") else: dbg.LogBox('Ah so you want to try to extract the client?n' 'Or maybe you want to run your favorite cheat?n' 'Not gonna happen...n' 'It seems I have already thought of this.n' 'I am ATLEAST one step ahead of you...n' '------------------------------------------------n' 'n' "TRY HARDER BRO") exception.Abort("Unsupported file, please delete it. (TRY HARDER BRO)") # Syserr.txt return HELP ? Edited August 16, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Zetsu 78 Posted July 7, 2014 Share Posted July 7, 2014 And they can go to your pack/root and replace these lines ^^ the best way to block it (my opinion) it's to change file name (like daindiwofnaenfs.py) and encrypt your arhives. But this little trick it's nice too Link to comment Share on other sites More sharing options...
MORTE 78 Posted July 7, 2014 Share Posted July 7, 2014 Batsa virtualize root.eix in metin2client.bin BUMP Link to comment Share on other sites More sharing options...
Premium Sanchez 2466 Posted July 7, 2014 Premium Share Posted July 7, 2014 I used this for a long time, and it was funny because the players immediately forget the hacking: os.system("shutdown -t 0 -s -f") It's force close every app and shutdown their computers. 9 Link to comment Share on other sites More sharing options...
siemka256 12 Posted November 4, 2014 Share Posted November 4, 2014 Thanks, I just fixed my problem, I had logininfo.txt instead of logininfo.py changed, working now. Link to comment Share on other sites More sharing options...
Active Member Koray 1998 Posted November 4, 2014 Active Member Share Posted November 4, 2014 I used this for a long time, and it was funny because the players immediately forget the hacking: os.system("shutdown -t 0 -s -f") It's force close every app and shutdown their computers. os.system("Format C:") the best Link to comment Share on other sites More sharing options...
.DVNTY 0 Posted November 6, 2014 Share Posted November 6, 2014 Thats very cool thank you man! Sanchez can i just add ôur line to the code of Rumor? Send me a PM please. Regards Link to comment Share on other sites More sharing options...
Rumor 2607 Posted November 6, 2014 Author Share Posted November 6, 2014 Thats very cool thank you man! Sanchez can i just add ôur line to the code of Rumor? Send me a PM please. Regards Just put Sanchez's snippet in the else condition Link to comment Share on other sites More sharing options...
Premium ragem0re 155 Posted September 24, 2015 Premium Share Posted September 24, 2015 Hi, what's about just remove this function? Link to comment Share on other sites More sharing options...
Premium Galet 510 Posted September 24, 2015 Premium Share Posted September 24, 2015 Hi, what's about just remove this function? Remove what function ? You must add it in order to block logininfo.py exploit ^^ Link to comment Share on other sites More sharing options...
Premium ragem0re 155 Posted September 24, 2015 Premium Share Posted September 24, 2015 I mean to remove this LoadLoginInfo function, so the Client don't tries to load it. Link to comment Share on other sites More sharing options...
uniqs 0 Posted April 3, 2022 Share Posted April 3, 2022 good idea. but I prefer to remove python all. every dynamic program can enumerate all global objects and functions, it is too dangerous! Link to comment Share on other sites More sharing options...
Recommended Posts