简介

手游市场的发展增大,用户增多,寻求外挂的玩家用户增大,外挂市场也意识到外挂开发者在大量的涌进,绝大多数开发者有着编程的基础,都能够写点脚本开发外挂,那么商人们就开始着手底层,通过找寻到的“专业人士”开发底层框架,提供接口供上层开发者调用,把逻辑的实现交给他们。

遇到了一个框架类定制的外挂,外挂作者通过该框架实现了一套自动化点击的脚本,完全无需人工进行操作。这类方式的实现,将底层深入的原理实现进行了封装,最后以API的形式提供给玩家,玩家仅需要一定的编程基础便可以掌握进行二次开发。

原理分析

深入分析该框架类软件,发现它使用ROOT权限启动了一个疑似输入的可执行文件,从该路径下提取该可执行文件进行分析,从中找到了它使用app_process命令执行了一个名为input.jar的文件。

以下为IDA解析出来的伪代码,作为参考。

int sub_80DC()
{const char *v0; // r0int v2; // [sp+0h] [bp-28h]char v3; // [sp+8h] [bp-20h]char v4; // [sp+10h] [bp-18h]char v5; // [sp+18h] [bp-10h]sub_7FC0();sub_2EB6(&v2);sub_2EB6(&v3);sub_2EB6(&v4);sub_2E6C((int)&v3, "export CLASSPATH=/sdcard/input.jar;");sub_2E6C((int)&v4, "app_process /sdcard com.android.commands.input.Input $@ ");sub_3234((int)&v5, &v3, &v4);sub_2DD8(&v2, &v5);sub_2C50(&v5);v0 = (const char *)sub_2D9A(&v2, 0);system(v0);sub_2C50(&v4);sub_2C50(&v3);sub_2C50(&v2);return 0;
}

使用工具打开jar包查看,代码没有混淆,很轻易的就找到了关键的实现函数(具体实现原理可以参考https://blog.csdn.net/u011247544/article/details/77449412,这里提到过同样实现的方法):

 private void injectMotionEvent(int arg28, int arg29, long arg30) {int v7 = 0;int v19;for(v19 = 0; v19 < 5; ++v19) {String v26 = Input.readObject("/sdcard/gginput.txt", v19 + "");if(v26.indexOf(",") != -1) {String[] v23 = v26.split(",");float v24 = Float.parseFloat(v23[0]);float v25 = Float.parseFloat(v23[1]);MotionEvent$PointerProperties v22 = new MotionEvent$PointerProperties();v22.id = v7;v22.toolType = 0;this.properties[v7] = v22;MotionEvent$PointerCoords v21 = new MotionEvent$PointerCoords();v21.x = v24;v21.y = v25;v21.pressure = 1f;v21.size = 1f;this.pointerCoords[v7] = v21;++v7;}}if(v7 >= 1) {try {MotionEvent v18 = MotionEvent.obtain(arg30, arg30, arg29, v7, this.properties, this.pointerCoords, 0, 0, 1f, 1f, 0, 0, arg28, 0);System.out.println("injectMotionEvent: " + v18);InputManager.getInstance().injectInputEvent(v18, 2);//关键点}catch(Throwable v20) {System.out.println("injectMotionEvent err ...");}}}

通过jar包实现了模拟点击,与上层使用socket和其他进程进行通信,用户通过lua脚本控制代码逻辑,整个框架流程大致如此。

手游外挂入侵(三)外挂接口服务提供相关推荐

  1. [视频教程] KBEngine mmo手游开发系列(三) - 角色技能与怪物系统

    KBEngine mmo手游开发系列(三)-角色技能与怪物系统 课程链接:https://edu.51cto.com/sd/21044 本课程为KBEngine mmo手游开发系列的第三个课程,本课程 ...

  2. 《梦幻西游》手游主程刘强:如何提供一个稳定高效的MMO手游服务器引擎

    原标题:原创 <梦幻西游>手游主程刘强:如何提供一个稳定高效的MMO手游服务器引擎 整理/手游那点事子安 随着手游越发端游化和重度化,衡量一款手游的数据除了传统的留存率.ARPU等外,还新 ...

  3. 梦幻成仙,诛灭外挂——《梦幻诛仙手游》的阻击外挂之旅

    作者:sheldon,腾讯游戏漏洞测试高级工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. 原文链接:http://wetest.qq.com/lab/view/317.html ...

  4. 比荒野行动还惨的吃鸡手游:都被外挂给毁了,现在全是人机

    光子的刺激战场自从被改成和平精英之后,虽然被不少玩家喷:网易的荒野行动目前也几乎无人提及,但是要说惨,有一款吃鸡手游如果说第一,没人敢说第二,因为几乎全是游戏运营的锅,上线不到半年就被外挂给毁了,现在 ...

  5. 猎人手游最新服务器,【猎人mm服务端】2020.07月升级經典手工制作搭建网游服务器...

    [猎人mm服务端]2020.07月升级經典手工制作搭建网游服务器 修改标的物的设置,并修改标的物的销售和价格.修改精制道具的价格,并与掉落的道具统一. 无人岛的经验值增加了紫圣诞鹿(经验值是圣诞怪物的 ...

  6. Unity手游之路三 基于Unity+Java的聊天室源码

    http://blog.csdn.net/janeky/article/details/17233199 项目介绍 这是一个简单的Unity项目,实现最基本的聊天室群聊功能.登录聊天室后,用户可以输入 ...

  7. 手游服务器ip 修改密码,手游无双小师妹一键启动服务端+配套客户端+启动教程+IP修改说明等...

    内容介绍 资源说明: 1.本资源默认IP为192.168.1.116 2.如本机为此IP则可按照启动教程直接启动服务端. 3.如本机IP为非此IP,请自行修改本机IP为192.168.1.116或参考 ...

  8. 我是手游开发者(三)客户端与服务器时间同步问题

    为防止用户修改当前时间,造成游戏逻辑混乱,客户端使用的时间为服务器时间. 具体做法如下 1 在登陆游戏之后  都会同步客户端的时间   时间一般为毫秒级别 2 玩家在线 每隔几秒都会同步一次客户端和服 ...

  9. Android手游外挂入侵----寓攻于守,方能破敌

    欢迎访问网易云社区,了解更多网易技术产品运营经验. 手游外挂入侵 随着各种爆款手游的风靡,目前手机游戏的占比用户已经形成一个巨大的市场,市场上你争我夺,有将PC版本移植到手机中,也有新模式手游的推出. ...

最新文章

  1. A Rectangular Barn
  2. 劝大家逃离互联网!某前互联网员工自述:从互联网到传统行业,工资多,不加班,有户口,能买房!...
  3. 15.文件系统——软RAID的实现(二)(mdadm,watch, RAID1)
  4. 自动化测试和测试自动化的区别
  5. Java NIO:IO与NIO的区别
  6. OpenStack环境下nova resize报ssh连接错误
  7. ffmpeg基本用法(转)
  8. python爬虫如何连接数据库_手把手教你如何在Navicat中如何新建连接数据库及相关报错解决方法...
  9. 如何查找SAP UI5控件ID
  10. java配置lib_Java环境配置
  11. 笔记本电脑如何强制关机_笔记本按电源按钮不能关机只是关闭屏幕的解决办法...
  12. for (var key in Obj)遍历JS对象/数组
  13. cartographer 前端两个方法:相干性匹配与非线性优化;以及回环检测方法:利用了分枝定界的相干性匹配
  14. 百度地图瓦片下载工具(仅供学习)
  15. 怎样在微信公众平台上传文件给别人下载
  16. python数据笔记分析_python数据分析入门学习笔记
  17. 微信小程序(5)——下载图片
  18. php faker,Laravel的Faker的使用
  19. JS新建文件到本地(不弹出保存文件框)
  20. CCIE知识点总结——三层技术

热门文章

  1. 超级计算机模拟现实,超级计算机模拟出了地球磁场真实的模样
  2. A002-186-2610
  3. 宣布 Cloudflare Workers 的绿色计算
  4. Kafka 的 replica 同步机制(ISR与OSR列表数据相互转换)
  5. 2021-07-09web前端-课堂笔记
  6. Java中的代码点和代码单元(转)
  7. 悉尼大学计算机科学本科学费多少,2020年悉尼大学开设了哪些IT专业?学费是多少?入学要求有哪些?...
  8. 浅析dToF和iToF成像技术
  9. Android _自定义芝麻积分(装逼神器)
  10. 博客园屏蔽博文页面广告的方法