(先补充一小点:有人可能会说,你非要用托管语言来做外挂,是否快升仙了?也会举出一堆例子如Hook困难抓包困难读写内存只是个winAPI的傀儡等等等等,嘲讽一番后建议用vc等实现。事实胜于熊便,c#也没那么不堪,用对用好了也会很出色。前一阵子我用c#做了个老坦克游戏的辅助程序,用到了内存读取和屏幕抓图,把我接触过的几个老挂的功能都实现并有增强,编译后只有几百k,运行几个小时后cpu和内存占用也不会增长,资源使用率很低)我在玩一款家乡游戏平台地方规则的扑克游戏,想用c#做个配套的记牌器,百度搜索了“记牌器 原理”,大概可分为以下三种方案:
  1 网络抓包分析
  2 读取内存
  3 屏幕抓图分析对于方案1 网络抓包分析,应该是最好最强大的实现方法,不过实现起来也最困难,要分析游戏公司用种种加密手段处理过的网络封包,对我而言是没有头绪感觉无从下手对于方案2 读取内存,这个的难点在于,找出每家每局出的牌在内存中是如何存放的,怎么找到这些内存地址?我想用CE之类的工具来找,可该怎么找呢对于方案3 屏幕抓图分析,应该是相对实现起来最容易的一种,牌的花色和大小识别容易实现,只是有些情况的处理,如:鼠标或者一个表情把牌挡住了,因为网络延迟别家出的牌一闪就没了抓不到图,等等,这些具体实现起来都是问题现在,一些大型游戏平台的记牌器已经相当成熟了,如对应qq的无敌记牌器啊勇芳记牌器啊都很好用,可以百分百正确的记牌,不知道它们是用哪种原理实现的?(有谁wpe过这些记牌器么,看看是否是使用了 方案1 网络抓包分析)呵呵,有兴趣的朋友共同讨论下,十分感谢