昨天,我的同事问我,他想知道他家的小孩有没有背着他打游戏(当然是家里的电脑),有什么办法知道?
开始想到系统日志,可是在windows提问,无人应答.
我又想,可以做一个监视程序。可是这样太费资源(总在后台运行)。
最后想,能不能做个程序它可以修改游戏的主程序,让它在启动的时候就唤醒我的程序,然后做个记录,做完记录就退出。
当然,可能解决上面的问题根本用不着这么复杂和高难,可是当我想到这个技术的时候,是为了解决什么问题已经变得不重要了,我只是想了解这个技术.
我甚至不知道这种技术应该叫什么(真的不了解),我只听说过有一种叫程序注入的技术(只是听说),不知是不是。
我不想用现成的工具比如XX注入机什么的,我是只想了解如何编程实现,原理或代码相关文章都可以。
开始想到系统日志,可是在windows提问,无人应答.
我又想,可以做一个监视程序。可是这样太费资源(总在后台运行)。
最后想,能不能做个程序它可以修改游戏的主程序,让它在启动的时候就唤醒我的程序,然后做个记录,做完记录就退出。
当然,可能解决上面的问题根本用不着这么复杂和高难,可是当我想到这个技术的时候,是为了解决什么问题已经变得不重要了,我只是想了解这个技术.
我甚至不知道这种技术应该叫什么(真的不了解),我只听说过有一种叫程序注入的技术(只是听说),不知是不是。
我不想用现成的工具比如XX注入机什么的,我是只想了解如何编程实现,原理或代码相关文章都可以。
了解下Purify,或许有点启发。
可以写一个监视程序,凡是执行.exe的统统做记录就行,大学时实习的公司里就做这个的
另外可以使用注册表的连动或者直接使用增加导入dll的方法,在dll的dllmain里面处理不过教育小孩子最好不要用这方法
不地到
1、用SetWindowsHookEx注入一个DLL到每个进程中
2、在DLL中调用GetModuleFileName(NULL,NameBuffer,256)得到当前进程名
3、if(!strcmp(NameBuffer,“游戏进程名”)
4、如判断成功,则调用GetTickCount得到系统时间,fopen打开文件,
5、将先前得到的时间写入文件,(当然不能让孩子知道了文件名,否则....)
6、调用fclose关闭文件
7、调用ExitProcess让游戏退出
8、由于玩不了游戏,可怜的孩子得去看书了
9、把分给我一点//最关键的就是 游戏进程名 你得知道