高手们有什么解决方法?先谢谢了

解决方案 »

  1.   

    几乎是不可能的事情,windows本身提供的功能。另外,就算有了这个,人家还不能把你这段程序给摘掉吗?
      

  2.   

    基本上不可能,总是有办法注入的。如果要保护程序的话,可以考虑加壳,比如themida、vmprotect等。
      

  3.   

    小心使用类似sprintf之类的不安全的函数,有些公司是不允许使用的.对于有输入的地方,尤其是网络,接收数据的处理函数要更加小心.自己的内存仔细检查,防止溢出.对接口的暴力测试可能会发现一些问题.以上仅是理论,没有实践经验.
      

  4.   

    API拦截下CreateRemoteThread不知可以否
      

  5.   

    使用 EnumProcessModules 来枚举当前进程中所有模块,看是否都是自己了解的模块
      

  6.   


    人家也可以拦截你的调用,anti-crack的高手轻车熟路。所以要看你防到什么程度了。
      

  7.   

    也可以同时使用 GetModuleFileName(xxx); 这样可以加大难度,呵呵:for(HANDLE h=0x00010000; !(h & 0x80000000); h+=0x00010000)
    {
       DWORD dwRes = GetModuleFileName(h, xxx);
       ...
    }
      

  8.   

    要不然,你就根据地址,判断是否可以读取,自己分析是否是有效的 dll/exe 文件格式。
      

  9.   

    呵呵 lz可以hook OpenProcess,不管是User API还是SSDT还是Zw都可以,判断下要Open的是不是自己的进程,如果是就直接拒绝访问。这样别人连你的进程都打不开跟别说注入了。这样还有一个好处就是进程不会被杀。楼主不会的话我有源码,我邮箱是[email protected],留个邮箱吧。
      

  10.   

    [email protected]
    多谢高人啊