Prev: most efficient way for multiselect in datagridview
Next: Grab a lock automatically without calling the lock(object) strange
From: RayLopez99 on 12 May 2010 12:30 A bit off-topic, but how do you check what processes or services or code is running in memory? Concrete example: I play chess online, and I also observe chess matches, such as yesterday's exciting finish to the 2010 World Chess championship. When I was on the chess site that was streaming the match, on the web page it said "Warning! ChessBase detected...". Chessbase is a program that you can run to analyze a chess game. For some reason the sponsors of this match wanted you to rely just on their analysis, not any external program like Chessbase. So somehow they detected what program(s) were running in memory on your PC. I've seen this before when playing chess online, at various sites, which will also detect if you have any chess programs running in the background (to prevent cheating by relying on such programs when playing). How do they do this? Must be easy to do since it escapes all anti- virus/ firewall programs (so it must be obviously "read only"). Or is it that easy? Maybe a user's Task Manager has a way of being called by any external program? But for a web application? I would have though that's a security violation. RL
From: Arne Vajhøj on 12 May 2010 12:58 On 12-05-2010 12:30, RayLopez99 wrote: > A bit off-topic, but how do you check what processes or services or > code is running in memory? Concrete example: I play chess online, > and I also observe chess matches, such as yesterday's exciting finish > to the 2010 World Chess championship. When I was on the chess site > that was streaming the match, on the web page it said "Warning! > ChessBase detected...". Chessbase is a program that you can run to > analyze a chess game. For some reason the sponsors of this match > wanted you to rely just on their analysis, not any external program > like Chessbase. So somehow they detected what program(s) were running > in memory on your PC. I've seen this before when playing chess > online, at various sites, which will also detect if you have any chess > programs running in the background (to prevent cheating by relying on > such programs when playing). > > How do they do this? Must be easy to do since it escapes all anti- > virus/ firewall programs (so it must be obviously "read only"). Or is > it that easy? > > Maybe a user's Task Manager has a way of being called by any external > program? But for a web application? I would have though that's a > security violation. The .NET way would be to use the System.Diagnostics.Process class to list all processes and information about them (or WMI if more details is needed). I hope that the program in question is a fat client with full privs, because something running inside the web browser should not have access to that kind of information. Arne
From: RayLopez99 on 12 May 2010 14:48
On May 12, 12:58 pm, Arne Vajhøj <a...(a)vajhoej.dk> wrote: > > I hope that the program in question is a fat client with full privs, > because something running inside the web browser should not have > access to that kind of information. > > Arne Thanks Arne. The Chessbase program is a fat client residing locally on my machine, and my web browser is Firefox. The website in question used what looked like to me JavaScript or something akin to Flash or Silverlight, and was able to figure out I was running Chessbase in the background and give the warning it did. Pretty cool, and probably a bit more sophisticated than I assumed to be able to detect that. RL |