Quote:
Originally Posted by AlainProvist
Yep !
My only concern is about crashes. The game creates a dump and zip it with logs and additionnal informations when restarting the launcher. I usually delete the dump before restarting the launcher but end users won't when using a dll-injection-based bot. At the end they probably have the information that a dll has been injected but they probably don't care about this and just discard the crash report (more likely because aeria is just an editor that bought a licence from the real developpers, and devs don't really care about account bans).
|
You have a good point. we should actually check it out.
I don't know what their privacy policy says about sending it to them without the user's approval but I
assume the user must press "Send" on that small window that is popping up when there's an unhandled exception.
[Only registered and activated users can see links. Click Here To Register...]
(
[Only registered and activated users can see links. Click Here To Register...])
If they do send it even without the user's approval (say.. when you re-launch the game or something) then yes, this is indeed a problem.
first things first, we need to find out if the client really send it or not because we can just get rid of that.
but if the goal is to stop it from dumping stuff regardless, then we can hook the function that is being used to create a dump file and just kill the client when it's called.
but what if somehow the hook itself fails and generates an error? this is where the most secure way to solve this is to just edit the executable with RETN on the dump creation function.
it's possible because it's a function, it's not in the heap, it's in the actual code. in our case, it's in the executable ("game.bin").
and a return is just one or three bytes to edit (depends on what type of RETN), can even be done with an HEX editor.
Here's an example on how to stop "game.dmp" creations:
in "game.bin" (the actual file, no need to run it) search for:
PHP Code:
55 8B EC 81 EC 08 01 00 00 53 56 57 68 03 01 00 00
and change the first byte to C3 (RETN) and voila, no "game.dmp" will be created anymore.
* if you want to try it and you're using the game's launcher to launch the game, you'll have to make "game.bin" read-only (otherwise the launcher will replace it due to CRC mismatch), you'll get 2 errors with the launcher but it will still work.
As for logs, there is more than one function, I've got most of them but there are some issues with a few of them, I might look deeper into it later this week.
but you've actually opened my eyes about this, I didn't even think about it and I should've.
Cheers!
Oriya.