首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

建一座安全“天空城” :揭秘腾讯 WeTest 如何与祖龙共同挖掘手安全漏洞

在这款手推出,我们发现,祖龙娱乐在手研发技术上正变得越来越娴熟。...(文中漏洞均已修复,仅做学习交流参考) 技术难点 手使用场景与传统APP有着巨大差异,不同游戏玩法, 技术实现都不一样,因此手安全测试团队需要对《九州》所有模块进行比较全面的风险分析,针对游戏核心玩法和游戏中高价值产出点重点进行漏洞挖掘...《九州》游戏客户端使用Unity3D引擎开发,但是手安全测试团队接入协议工具中发现客户端并不是100%用C#实现,仅从C#层接入工具无法获取游戏所有通信协议数据。...通常根据风险点分析方式,可以完整覆盖到游戏中涉及到安全部分,结合检查点,就生成了可以实际操作中执行用例,形成闭环。...没有协议结构文件也能自动解析协议结构。手机和web端都可以进行协议数据展示,在手机上可以实施地显示协议发包效果,web上可以动态一键修改相应字段,互补不足。

2.9K00

建一座安全“天空城” ——揭秘腾讯WeTest如何与祖龙共同挖掘手安全漏洞

在这款手推出,我们发现,祖龙娱乐在手研发技术上正变得越来越娴熟。 ?...(文中漏洞均已修复,仅做学习交流参考) 技术难点 手使用场景与传统APP有着巨大差异,不同游戏玩法, 技术实现都不一样,因此手安全测试团队需要对《九州》所有模块进行比较全面的风险分析,针对游戏核心玩法和游戏中高价值产出点重点进行漏洞挖掘...《九州》游戏客户端使用Unity3D引擎开发,但是手安全测试团队接入协议工具中发现客户端并不是100%用C#实现,仅从C#层接入工具无法获取游戏所有通信协议数据。...通常根据风险点分析方式,可以完整覆盖到游戏中涉及到安全部分,结合检查点,就生成了可以实际操作中执行用例,形成闭环。 ?...没有协议结构文件也能自动解析协议结构。手机和web端都可以进行协议数据展示,在手机上可以实施地显示协议发包效果,web上可以动态一键修改相应字段,互补不足。 ?

2K30
您找到你想要的搜索结果了吗?
是的
没有找到

面对手外挂横行,网易如何做到游戏保护

一些酷跑类游戏中,游戏加速器可以通过设置加速倍数来控制游戏背景速度,以实现加速或减速效果。现有的加速主要分为两种,一种是手机加速器,通常游戏修改器都会附带加速功能,还有一种是模拟器加速。...对于il2cpp脚本,以libil2cpp.so和global-metadata.dat作为输入,使用II2cppDumper即可进行解析。最终解析结果包含类名、函数名、以及对应偏移。...资源修改也算在一种外挂,比如在射击游戏中将Assetbundle资源里面的材质属性改为同透明即可达到透视效果。除了资源被篡改风险外还存在资源被竞品盗取、分析风险。...网易云盾安全解决方案 Unity mono DLL脚本加密 Mono_image_open_from_data_with_name是mono虚拟机 C# 脚本加载函数,如果 C# DLL 脚本做了加密...第三代针对C#函数做加密,也就是方法级加密、动态解密,只有函数执行时候才解密,因此无论如何dump都无法从内存中获取到解密之后完整第二文件。

3.9K40

Unity 热更新技术 | (一) 热更新基本概念原理及主流热更新方案介绍

资源热更新 主要通过AssetBundle来实现Unity编辑器内为游戏中所用到资源指定AB包名称和后缀,然后进行打包并上传服务器,待游戏运行时动态加载服务器上AB资源包。...---- 三、热更新原理   游戏中一些UI界面和某些模型等等显示都是通过去加载相应素材来实现,当我们只把对应素材资源进行替换就可以界面和模型发生变化,这个时候我们可以让客户端通过资源对比后从而进行相关资源下载就可以实现热更新了...比如在一个游戏中某些资源我们是放在服务器中,当我们需要更换游戏中某些资源(如UI界面,某个英雄数值需要调整)。...所以直接使用C#进行热更新显然是不可行,但是也不是说一点办法也没有。安卓上可以通过C#语言特性-反射机制实现动态代码加载从而实现热更新。...借助xLua,这些Lua代码就可以方便C#相互调用。这样平时开发使用C#,等需要热更新再使用Lua,等下次版本更新再把之前Lua代码转换成C#代码,从而保证游戏正常运营。

9.4K53

C# 三个Timer

Timer 计时器C#开发中经常用到,但是有很多开发人员对他并不了解,今天这篇文将我们就具体讲解一下C#计时器。...C#中存在3种常用 Timer : System.Windows.Forms.Timer System.Timers.Timer System.Threading.Timer 零、System.Windows.Forms.Timer...,是为多线程环境中用于辅助线程而设计,可以在线程间移动来处理引发 Elapsed 事件,比上一个计时器更加精确。...我们来看一下代码(控制台应用程序中输入以下代码): static System.Threading.Timer threadingTimer; static int numSum = 0; static...三、总结 综上所属我们总结出C#中不同Timer计时器特点和使用环境 计时器 特点 环境 System.Windows.Forms.Timer 单线程,基于UI,精确度不高,会造成Form卡死 WinForm

1.5K20

阻击外挂——《龙之谷手》安全测试那点事

测试前分析 前文提到不同手游玩法都会使用不同技术实现,因此《龙之谷手》安全测试之初,团队对游戏进行了一个详细分析与拆解。...根据实现,优先采用协议测试工具进行漏洞挖掘,验证部分风险项仍然要使用客户端内存、函数、变速测试工具。...游戏引擎——针对引擎与实现寻找突破口 游戏使用Unity3D引擎开发,该类型游戏游戏源代码一般会使用C#、Lua、C++中一种或多种。...戏中发现以下几种类型漏洞,均属于致命级漏洞: 类型一:外挂类漏洞 (1)   PVP模式加速移动 (2)   PVE主线副本存在无敌秒杀、全屏攻击等大量安全漏洞 点击边框调出视频工具条 “PVP...4 最终效果 项目测试阶段,手安全测试团队累积为《龙之谷手》挖掘出了7个致命级漏洞,8个高危级漏洞,5个中危级漏洞,将潜伏在游戏中龙币盗刷、PVP/PVE外挂、服务器宕机等各类致命级、高危级漏洞提前揭露出来

3.3K30

Godot3游戏引擎入门之十:介绍一些常用节点并开发一个小游戏(上)

思路和代码和官方有点不同,也实现了一些其他功能比如游戏暂停、金币数量显示等,强烈建议大家去围观。... Godot 中一切皆节点,所以看到这种纯功能性节点不要觉得奇怪,同时,我们完全可以不使用节点,直接使用代码 Timer.new() 动态创建一个计时器也是没任何问题;甚至我们完全可以通过设置变量...Timer 时间计时器节点属性非常简单,根据需求可以设置其等待时间、重复计时以及是否自动开始,这些属性我们也可以 GDScript 脚本中使用代码修改: wait_time :等待时间,即计时时长,...——使用随机方法前,调用一下 randomize() 方法就可以啦! 5. get_tree().paused 戏中添加了暂停功能,相信大部分游戏都有这个功能吧。...比较习惯 Java/C#/Dart 等语言命名规则,采用驼峰式,同时利用 _ 下横线来标记私有变量或者方法,而且调用内部方法时候都会显式使用 self 关键字: # 枚举、常量等变量命名 enum

1.1K20

阻击外挂:《龙之谷手》安全测试那点事

: 测试前分析 前文提到不同手游玩法都会使用不同技术实现,因此《龙之谷手》安全测试之初,团队对游戏进行了一个详细分析与拆解。...根据实现,优先采用协议测试工具进行漏洞挖掘,验证部分风险项仍然要使用客户端内存、函数、变速测试工具。...游戏引擎——针对引擎与实现寻找突破口 游戏使用Unity3D引擎开发,该类型游戏游戏源代码一般会使用C#、Lua、C++中一种或多种。...戏中发现以下几种类型漏洞,均属于致命级漏洞: 类型一:外挂类漏洞 (1) PVP模式加速移动 (2) PVE主线副本存在无敌秒杀、全屏攻击等大量安全漏洞 “PVP天梯加速”漏洞视频:https:/...四、最终效果 项目测试阶段,手安全测试团队累积为《龙之谷手》挖掘出了7个致命级漏洞,8个高危级漏洞,5个中危级漏洞,将潜伏在游戏中龙币盗刷、PVP/PVE外挂、服务器宕机等各类致命级、高危级漏洞提前揭露出来

6.6K00

机器学习 DQN 算法火影手实践

QLearning 算法( DQN 算法前身), Unity 中用 C# 实现了 QLearning 算法核心,神经网络和训练等模块,实际效果如下: 视频内容视频内容从视频中可以看出,训练后 Agent...有了最初实践,让看到机器学习复杂游戏中存在应用可能,于是通过对 DQN 算法进一步学习,并且兄弟团队(火影项目组)支持下,开始火影手中进行了一些实践。...实践中考虑到性能和学习效率问题,并没有采用游戏画面直接作为输入,而是深入到游戏中,直接通过状态收集模块提取游戏主要特征预处理后作为算法输入,当然考虑到公平原因,提取特征都是玩家可以直接从游戏中观察到...目前火影手中,竞技场AI采用行为树方法实现,该AI水平较强,但行为模式比较单一,很容易玩家发觉是一个AI。...定义状态和预处理如前文所述,并没有直接使用图像画面作为状态输入(这方面有待商榷,也请各位指正),主要是基于两方面的考虑:1.

4.3K123

使用C#开发数据库应用程序

例如: string course="C#"; Console.WriteLine("课程名称是:{0}",course); b.从控制台输入 语法: Console.WriteLine...b.常见错误 注意:C#允许初始化同时指定数组长度,但是数组初始值数目必须与数组长度完全一样....鼠标双击事件,当用户双击窗体发生 MouseMove 鼠标移动事件,当鼠标移过窗体发生 KeyDown 键盘按下事件,首次按下某个键发生 KeyUp 键盘释放事件,释放键发生 例如...Multiline 表示是否可以文本框中输入多行文本 PasswordChar 指示作为密码框,文本框中显示字符,而不是实际输入文本 ReadOnly 指定是否允许编辑文本框中文本...是否定时引发事件 计时器事件 Tick 每当指定间隔发生事件 计时器方法 Start 启动计时器 Stop 停止计时器 例如: using System;

5.8K30

面向.NET开发人员Dapr- actors 构建块

第一次将消息发送到Actor,Actor将被隐式激活并放置群集中节点上。 当不执行操作,Actor 会以静默方式从内存中卸载。...计时器是通过调用Actor API 来注册。 在下面的示例中,时间为0情况下注册计时器,时间为10秒。...如果尚未将评分存储状态存储中,则为要写入值。 Func 状态存储中已有分数存储要调用。 它将使用状态键和当前评分,并返回更新后分数以写回到状态存储区。...Actor 支持计时器和提醒来调度将来工作。 计时器不会重置空闲计时器,并且允许Actor 未执行其他操作停用。 提醒会重置空闲计时器,并且也会自动保留。...计时器和提醒都遵守基于轮次访问模型,确保处理计时器/提醒事件无法执行任何其他操作。

98640

不但好看还很好玩 盘点那些用UE4打造大作

换装要素丰富ARPG——《HIT:守护一切》 《HIT:守护一切》是由韩国NAT GAMES于2016年开发一款ARPG手。...对于这款作品,媒体与玩家也为这款游戏做出了高度评价,称这款游戏释放动作非常有打击感,在此之前没有任何一款手机平台动作游戏触摸屏上真正像《守护一切》一样对角色动作给出过如此精确反馈。...《天堂2:重生》依托UE4强大演算能力,画面表现力十分惊艳,人物释放技能效果也异常华丽,即使是多人副本中也没有出现过卡顿现象,让玩家戏中体验到可比肩端视听感受。...市面同类型手大多采用"静态光影"技术,而《小米枪战》率先在同类手实现动态光影,360度无死角,让玩家真正可以与周围环境融为一体。相信玩家们都能在这款游戏中体会到极限画质无限魅力。...9天航程结束,如果有一款精彩UE手问世,这将是多么令人振奋一件事啊!有兴趣朋友可关注“虚幻引擎”官方微博微信获取更多信息。

2.4K120

MOBA之殇在网络——浅析手网络损伤专项测试

弱网络专项测试(客户端网络损伤专项测试)是腾讯游戏内部评审,非常重要一环,直接决定了产品是否能直接上线运营。针对最近非常火爆MOBA类游戏,对客户端网络损伤专项测试再做诠释。...l 网络拥塞 1V1好友单挑,好友已进入副本战斗,还在LOADING。。 ? 就是进不去: ? l 网络异常 好不容易打胜了,没奖励! ? ? 人死了,尸体还在,一直。。。 ?...当然,MOBA游戏玩家肯定都有3G网络了,只是不可避免一点,3G网络某些未被覆盖地区仍然会是2G网络。 缺陷统计表示11%缺陷因为网络问题。...2、 一般手网络专项测试方法 2.1 测试点 分析游戏,找出游戏中和网络交互有关关键点,以下测试点优先级较高,需要重点测试: l 正常游戏主要流程,例如:登录、进入游戏、游戏中操作、游戏结算等...但是,由于选定网络有很大不确定性,不能保证每次执行用例有恒定网络前提条件作为输入,因此预期都分为有效或无效两种情况,不能保证两种结果都覆盖到,是一种有损测试方法。 常用网络模式示例: ?

2.5K20

面向对象三大特征

最近接触了软件工程、UML之后才渐渐了解了面向对象概念,继而又简单学习了一下C++、C#,下面以C#为工具来总结一下目前所认识面向对象。          何为对象?    ...随着需求不断提高,需要被解决问题也变得越来越复杂,例如前段时间比较火“捕鱼”游戏,戏中,有成千上万条鱼、无数子弹,还有渔网、海底装饰物等等,但在制作游戏过程中,我们编程人员不能根据每条鱼外形...继承         假如在整个捕鱼游戏中,有成千上万条鱼,虽然有许多种类鱼,但这些鱼会有许多共同点,比如每条鱼屏幕上都会有一个位置(x坐标和y坐标),都会向前游动等等,这时候就可以根据所有鱼共同特征...(虽然同样是游泳,但各有各方式,就如同小猫叫时候是“喵”,小狗叫时候是“汪”)。        ...实现方法便是父类中 class Fish { protected double x; protected double y; public Fish

1.5K20

dropdownlistAutoPostBack属性「建议收藏」

C#时候还很兴奋,觉得用vc++要写大段代码解决问题,而用C#几乎一段代码都不用写。...所以学习了一周就开始准备动手做教学楼管理系统,在做过程中遇到了很多问题,今天上午准备用母版页技术来实现各个页面的统一布局,模板页上放置各种控件,单击查询按钮在内容页显示查询结果,当时为了尽量减少因为用户使用时输入不正确字符造成操作性错误...,就选用大量dropdownlist 控件代替textbox控件,准备随着dropdownlist控件选项改变动态生成其他不同控件,但是当我准备编写代码实现该功能时候发现dropdownlist...事件响应方面的问题,呵呵原来没有把dropdownlistAutoPostBack属性设置为ture,就这样一个常识性问题,花了一天时间,但是还是挺值得解决问题过程了看了一些关于母版...、皮肤、主题方面的资料加深了自己对他们认识,以后使用到这些技术时候,一点会少花一点间。

74420

《梦幻模拟战》漏洞挖掘全过程

WeTest 导读 漏洞和外挂一直是危害游戏罪魁祸首,游戏行业发展历程中,不乏一些经典热门游戏安全事故中失去江湖地位。...不重视游戏安全结果,不仅让制作人员心血毁于一旦,更痛失万千玩家热爱。如今手盛行时代,如何正视手安全,最大化减少安全事故发生概率,请跟随本文一起探索。 ...梦幻之源—《梦幻模拟战》手前世今生 《梦幻模拟战》系列作为经典日式战棋游戏,自1991年初代作品发布至今老一辈中国玩家心中有着极高地位。...量体裁衣——量身锻造安全漏洞挖掘方案 - 深度分析 -         手使用场景与传统APP有着巨大差异,不同游戏玩法, 技术实现都不一样,因此手安全测试团队需要对每一个游戏,都从零开始研究游戏内部实现架构...首先,WeTest手安全团队对游戏构成做了分解,《梦幻模拟战》开发游戏引擎为Unity3D,游戏核心逻辑由 C#脚本实现,游戏类型属于SRPG。

96830

Cocos Creator 源码解读:引擎启动与主循环

而在主循环内容中还会涉及到:组件生命周期和计时器、缓动系统、动画系统和物理系统等... 本文会在宏观上为大家解读主循环与各个模块之间关系,对于各个模块也会简单介绍,但不会深入到模块具体实现。...同时也希望本文可以起到“师傅领进门”作用,大家一起加油修行鸭~ 另外《源码解读》系列(应该)会持续更新,如果你想要皮皮来解读解读引擎某个模块,也欢迎留言告诉...考虑下哈哈哈~ 本文以 Cocos...,可以项目预览打开浏览器开发者工具, Sources 栏中搜索(Ctrl + P) __quick_compile_project__ 即可找到 __quick_compile_project_...,用于管理所有输入事件。...:http://docs.cocos.com/creator/manual/zh/scripting/scheduler.html 另外还注意到,有不少小伙伴还不是很清楚组件计时器和 setTimeout

3.2K21

《梦幻模拟战》漏洞挖掘全过程

不重视游戏安全结果,不仅让制作人员心血毁于一旦,更痛失万千玩家热爱。如今手盛行时代,如何正视手安全,最大化减少安全事故发生概率,请跟随本文一起探索。...[1.jpg] 自2018年8月上线appstore至今,《梦幻模拟战》手始终保持游戏畅销榜前Top20位置。...量体裁衣——量身锻造安全漏洞挖掘方案 - 深度分析 手使用场景与传统APP有着巨大差异,不同游戏玩法, 技术实现都不一样,因此手安全测试团队需要对每一个游戏,都从零开始研究游戏内部实现架构...首先,WeTest手安全团队对游戏构成做了分解,《梦幻模拟战》开发游戏引擎为Unity3D,游戏核心逻辑由 C#脚本实现,游戏类型属于SRPG。...- 实现方案 结合以上特性分析,安全团队最终确定,本次手安全测试主要采用协议进行漏洞挖掘,使用函数和内存渗透测试方法进行辅助。

1K10
领券