昨天,我的同事问我,他想知道他家的小孩有没有背着他打游戏(当然是家里的电脑),有什么办法知道?
开始想到系统日志,可是在windows提问,无人应答.
我又想,可以做一个监视程序。可是这样太费资源(总在后台运行)。
最后想,能不能做个程序它可以修改游戏的主程序,让它在启动的时候就唤醒我的程序,然后做个记录,做完记录就退出。
当然,可能解决上面的问题根本用不着这么复杂和高难,可是当我想到这个技术的时候,是为了解决什么问题已经变得不重要了,我只是想了解这个技术.
我甚至不知道这种技术应该叫什么(真的不了解),我只听说过有一种叫程序注入的技术(只是听说),不知是不是。
我不想用现成的工具比如XX注入机什么的,我是只想了解如何编程实现,原理或代码相关文章都可以。

解决方案 »

  1.   

    Rational Pruify的实现原理就是程序注入。不需要程序的源代码,Purify在程序中插入机器指令,从而跟踪内存的使用。
    了解下Purify,或许有点启发。
      

  2.   

    程序注入需要知道要注入的窗口标题
    可以写一个监视程序,凡是执行.exe的统统做记录就行,大学时实习的公司里就做这个的
      

  3.   

    可以写一个监视程序,凡是执行.exe的统统做记录就行,大学时实习的公司里就做这个的这个最简单
    另外可以使用注册表的连动或者直接使用增加导入dll的方法,在dll的dllmain里面处理不过教育小孩子最好不要用这方法
    不地到
      

  4.   

    有点意思!
    1、用SetWindowsHookEx注入一个DLL到每个进程中
    2、在DLL中调用GetModuleFileName(NULL,NameBuffer,256)得到当前进程名
    3、if(!strcmp(NameBuffer,“游戏进程名”)
    4、如判断成功,则调用GetTickCount得到系统时间,fopen打开文件,
    5、将先前得到的时间写入文件,(当然不能让孩子知道了文件名,否则....)
    6、调用fclose关闭文件
    7、调用ExitProcess让游戏退出
    8、由于玩不了游戏,可怜的孩子得去看书了
    9、把分给我一点//最关键的就是 游戏进程名 你得知道
      

  5.   

    写驱动,hook一下OpenProcess, 游戏进程一打开, 就来个远程注入,然后记录日志,后台操作一劳永逸 !