进程名不就是exe文件名吗
我改个名不行?而且如果是先打开你的软件,后打开的截包软件呢,你程序自动退出?如果你协议封装的好,根本不怕别人截包,别人截获了也解析不出里面到底什么玩意当然还有终极手段,直接把你的程序反编译了看源码,甚至给改掉,你做什么限制都白做的不要东西还没卖出去一个,就怕别人盗版好吗,你得值得被人盗版才行
有人盗版恰恰说明了你的东西有价值但是事实上是,你的源码直接给别人,可能别人都懒得看

解决方案 »

  1.   

    客户端有没有截包软件,代理(中间层)有没有截包软件
    况且你怎么知道哪些是截包软件?如果是访问http的话,估计它用的Trace请求,判断发过去的报文和服务端收到的报文是否被改动过
      

  2.   

    1、采用HTTPS
    2、客户端要验证 服务器的证书。‘HTTPS’保证数据的加密。
    ‘验证服务器的证书’避免‘中间人’攻击。Fiddler就是一个典型‘中间人’的例子。
    它只所以能‘解密’HTTPS数据,是因为它建立了两个HTTPS连接。一个是从客户端上来的连接(使用Fiddler的证书,所以它能解密),一个是Fiddler同服务端的连接,Fidder就作为中间人把数据在两个连接之间搬来搬去。因为Fidder(或其他中间人)不能伪造服务器证书,因此如果客户端验证服务器证书(不是的话就拒绝通讯),就可以避免被他人抓包(不能解密的数据不算被抓包)。
      

  3.   

    先说答案:没有办法
    比如你做游戏防外挂
    事实上你客户端的所有行为都是可以模拟的,不管你的数据怎么传输、怎么加密,都可以做虚假提交
    因为你的全部代码已经给了客户了,你不管怎么加密人家一看就知道。https也好,甚至你放弃http自创协议都没用但你还是要防外挂啊,怎么办呢?这倒有办法:做好服务器端的验证。他的攻击速度是每秒3次,结果有一秒发了4次指令过来,没事,网络偶尔卡一下正常;下十秒又每秒发了4次,就该注意了;连续1分钟他每秒都攻击4次,记录下来。给运维一个查询功能,供他们手动去验证是不是作弊。
    你只能管他是不是有权限做,至于是不是他手动做的,还是通过外挂做的(甚至只是fiddler跟出你的包,修改几个字母重发,小学生都一学就会),这个理论上防不住
    例子而已,如果正好与你的应用相同,纯属巧合