看流星社区

 找回密码
 注册账号
查看: 2288|回复: 0

简单谈谈“游戏圈”所谓的神乎其技的行为检测(3)

[复制链接]

该用户从未签到

发表于 2013-3-27 09:22:00 | 显示全部楼层 |阅读模式
第二篇中谈到了对纯CALL的辅助软件的一种检测手段,索性接着乱谈这种辅助的检测手段。
不过这里谈谈暗桩模式的检测,堆栈遍历逐层找返回的EIP相信很多人都会。
不过在某些Call的地方插入下面这样的代码,比如游戏逻辑的发包call的加密call里面
于是悲情又出来了

代码:
WCHAR wzCallerName[MAX_PATH];
  PVOID dwRetArray[62];
  DWORD dwRetCount;
  BOOL bNeedLogStack = TRUE;
  dwRetCount = RtlCaptureStackBackTrace(2,50,dwRetArray,0);//用api是不好的,可以自己实现的说~~
  if (dwRetCount)
  {
    for(DWORD xIndex=0;xIndex<dwRetCount;xIndex++)
    {
      if (CheckExcepAddr((DWORD)dwRetArray[xIndex]))//排除部分白地址
      {
        bNeedLogStack = FALSE;
        break;
      }
    }
    if (bNeedLogStack)
    {
      for(DWORD xIndex=0;xIndex<dwRetCount;xIndex++)
      {
        GetCallerModule((DWORD)dwRetArray[xIndex],wzCallerName);//获取地址模块名称
        ReportToSrv((DWORD)dwRetArray[xIndex],xIndex,wzCallerName);//把信息写入定时返回服务器的数据体里,嘿嘿~
      }
    }
  }


第三篇内容就这些吧,还有几个有意思的检测和暗桩的方法等继续讲~~
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-3-29 15:55

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表