3 ms·
Take the player info struct: struct player_info { std::string name; vector4 position; vector3 orientation; int level; ..
by ohgodplsno 4y ago
Take the player info struct:
struct player_info {
std::string name;
vector4 position;
vector3 orientation;
int level;
...
}
and dump in something like `report_when_accessed<std::list<player_info>> oops_here_are_all_the_other_players_and_their_position_i_am_only_for_debug_please_remove_me`. Your client will never, ever access this list: it's your honeypot. The moment you get any access on list[i], it gets noted down and reported (like sudo does, straight to the naughty list). Cheat makers will see this and, if it doesn't smell of a too obvious honeypot, cannot pass such a golden opportunity: literally free maphack, just locate where the player struct is in memory and read it all!
- throwaway40602 4y agohow do you expect to be able to tell when someone has read one of your pages outside of working set watches/guard pages?
- pedrovhb 4y agoIt doesn't necessarily have to be useful information. They mentioned they understood how the cheat application worked, so it's possible it was doing something like indiscriminately accessing certain memory regions; this would make it possible to detect without any changes to the cheating program.
- jstanley 4y agoBut why bother using `report_when_accessed<>` when you can simply use `automatically_ban_cheaters<>`?